[
  {
    "path": ".gitignore",
    "content": "*.sln.docstates\n*.suo\n*.user\n*.userosscache\n*.sln.ide\nTestResults/*\n.vs/*\n\n# UWP project files\nproject.lock.json\n*StoreKey.pfx\nPackage.StoreAssociation.xml\n\n# Build results\n**/[Dd]ebug/\n**/[Dd]ebugPublic/\n**/[Rr]elease/\n**/[Rr]eleases/\n**/x64/\n**/x86/\n**/build/\n**/bld/\n**/[Bb]in/\n**/[Oo]bj/\n/lib\n\n# NuGet\n*.nupkg\n**/packages/*\n!**/packages/build/\n\n# VS project upgrade files\n_UpgradeReport_Files/\nBackup*/\nUpgradeLog*.XML\nUpgradeLog*.htm"
  },
  {
    "path": "Common/Microsoft.OneDriveSDK.nuspec",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<package xmlns=\"http://schemas.microsoft.com/packaging/2011/10/nuspec.xsd\">\n  <metadata>\n    <id>Microsoft.OneDriveSDK</id>\n    <version>2.0.7</version>\n    <title>OneDrive .NET SDK</title>\n    <authors>Microsoft</authors>\n    <owners>Microsoft</owners>\n    <requireLicenseAcceptance>false</requireLicenseAcceptance>\n    <description>Integrate the OneDrive API into your .NET App!</description>\n    <copyright>Copyright 2016 Microsoft Corporation</copyright>\n    <projectUrl>https://github.com/OneDrive/onedrive-sdk-csharp</projectUrl>\n    <licenseUrl>http://msdn.microsoft.com/en-US/cc300389</licenseUrl>\n    <iconUrl>https://dev.onedrive.com/images/OneDriveCloud.png</iconUrl>\n    <tags>onedrive sharepoint files livesdk liveconnect cloud storage microsoftaccount windowsliveid microsoftid windowsphone windowsstore metro xaml html</tags>\n    <dependencies>\n      <group>\n        <dependency id=\"Microsoft.Graph.Core\" version=\"1.2.1\" />\n        <dependency id=\"Newtonsoft.Json\" version=\"9.0.1\" />\n      </group>\n    </dependencies>\n\n  </metadata>\n  <files>\n    <!-- PCL projects -->\n    <file src=\"..\\lib\\Microsoft.OneDrive.Sdk.dll\" target=\"lib\\portable-net45+netcore45+wpa81+win8\\Microsoft.OneDrive.Sdk.dll\" />\n  </files>\n</package>"
  },
  {
    "path": "LICENSE.txt",
    "content": "OneDrive SDK for CSharp\n\nCopyright 2015 Microsoft Corporation\n\nAll right reserved.\n\nMIT License\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n"
  },
  {
    "path": "OneDriveSdk.sln",
    "content": "﻿\nMicrosoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio 14\nVisualStudioVersion = 14.0.25123.0\nMinimumVisualStudioVersion = 10.0.40219.1\nProject(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\") = \"src\", \"src\", \"{2EFD6E75-C1E0-4600-88D6-BFEDAD24A50A}\"\n\tProjectSection(SolutionItems) = preProject\n\t\tCommon\\Microsoft.OneDriveSDK.nuspec = Common\\Microsoft.OneDriveSDK.nuspec\n\tEndProjectSection\nEndProject\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"Microsoft.OneDrive.Sdk\", \"src\\OneDriveSdk\\Microsoft.OneDrive.Sdk.csproj\", \"{1368527B-D7B2-46AD-893D-6DC8C073D819}\"\nEndProject\nProject(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\") = \"tests\", \"tests\", \"{369050EF-15AF-4B0E-98DF-085B91E1B68D}\"\nEndProject\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"Test.OneDrive.Sdk\", \"tests\\Test.OneDriveSdk\\Test.OneDrive.Sdk.csproj\", \"{E3A990AA-5628-42AA-A8D4-1C599602DD96}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Any CPU = Debug|Any CPU\n\t\tDebug|ARM = Debug|ARM\n\t\tDebug|x64 = Debug|x64\n\t\tDebug|x86 = Debug|x86\n\t\tRelease|Any CPU = Release|Any CPU\n\t\tRelease|ARM = Release|ARM\n\t\tRelease|x64 = Release|x64\n\t\tRelease|x86 = Release|x86\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{1368527B-D7B2-46AD-893D-6DC8C073D819}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{1368527B-D7B2-46AD-893D-6DC8C073D819}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{1368527B-D7B2-46AD-893D-6DC8C073D819}.Debug|ARM.ActiveCfg = Debug|Any CPU\n\t\t{1368527B-D7B2-46AD-893D-6DC8C073D819}.Debug|ARM.Build.0 = Debug|Any CPU\n\t\t{1368527B-D7B2-46AD-893D-6DC8C073D819}.Debug|x64.ActiveCfg = Debug|Any CPU\n\t\t{1368527B-D7B2-46AD-893D-6DC8C073D819}.Debug|x64.Build.0 = Debug|Any CPU\n\t\t{1368527B-D7B2-46AD-893D-6DC8C073D819}.Debug|x86.ActiveCfg = Debug|Any CPU\n\t\t{1368527B-D7B2-46AD-893D-6DC8C073D819}.Debug|x86.Build.0 = Debug|Any CPU\n\t\t{1368527B-D7B2-46AD-893D-6DC8C073D819}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{1368527B-D7B2-46AD-893D-6DC8C073D819}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{1368527B-D7B2-46AD-893D-6DC8C073D819}.Release|ARM.ActiveCfg = Release|Any CPU\n\t\t{1368527B-D7B2-46AD-893D-6DC8C073D819}.Release|ARM.Build.0 = Release|Any CPU\n\t\t{1368527B-D7B2-46AD-893D-6DC8C073D819}.Release|x64.ActiveCfg = Release|Any CPU\n\t\t{1368527B-D7B2-46AD-893D-6DC8C073D819}.Release|x64.Build.0 = Release|Any CPU\n\t\t{1368527B-D7B2-46AD-893D-6DC8C073D819}.Release|x86.ActiveCfg = Release|Any CPU\n\t\t{1368527B-D7B2-46AD-893D-6DC8C073D819}.Release|x86.Build.0 = Release|Any CPU\n\t\t{E3A990AA-5628-42AA-A8D4-1C599602DD96}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{E3A990AA-5628-42AA-A8D4-1C599602DD96}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{E3A990AA-5628-42AA-A8D4-1C599602DD96}.Debug|ARM.ActiveCfg = Debug|Any CPU\n\t\t{E3A990AA-5628-42AA-A8D4-1C599602DD96}.Debug|ARM.Build.0 = Debug|Any CPU\n\t\t{E3A990AA-5628-42AA-A8D4-1C599602DD96}.Debug|x64.ActiveCfg = Debug|Any CPU\n\t\t{E3A990AA-5628-42AA-A8D4-1C599602DD96}.Debug|x64.Build.0 = Debug|Any CPU\n\t\t{E3A990AA-5628-42AA-A8D4-1C599602DD96}.Debug|x86.ActiveCfg = Debug|Any CPU\n\t\t{E3A990AA-5628-42AA-A8D4-1C599602DD96}.Debug|x86.Build.0 = Debug|Any CPU\n\t\t{E3A990AA-5628-42AA-A8D4-1C599602DD96}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{E3A990AA-5628-42AA-A8D4-1C599602DD96}.Release|ARM.ActiveCfg = Release|Any CPU\n\t\t{E3A990AA-5628-42AA-A8D4-1C599602DD96}.Release|x64.ActiveCfg = Release|Any CPU\n\t\t{E3A990AA-5628-42AA-A8D4-1C599602DD96}.Release|x86.ActiveCfg = Release|Any CPU\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\n\tGlobalSection(NestedProjects) = preSolution\n\t\t{1368527B-D7B2-46AD-893D-6DC8C073D819} = {2EFD6E75-C1E0-4600-88D6-BFEDAD24A50A}\n\t\t{E3A990AA-5628-42AA-A8D4-1C599602DD96} = {369050EF-15AF-4B0E-98DF-085B91E1B68D}\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "README.md",
    "content": "# OneDrive SDK for CSharp\n\n[![Build status](https://ci.appveyor.com/api/projects/status/fs9ddrmdev37v012/branch/master?svg=true)](https://ci.appveyor.com/project/OneDrive/onedrive-sdk-csharp/branch/master)\n\nIntegrate the [OneDrive API](https://dev.onedrive.com/README.htm) into your C#\nproject!\n\nThe OneDrive SDK is built as a Portable Class Library and targets the following\nframeworks: \n\n* .NET 4.5.1 \n* .NET for Windows Store apps \n* Windows Phone 8.1 and higher\n\nAzure Active Directory authentication is available for:\n\n* Windows Forms apps\n* UWP apps\n* Windows 8.1 apps\n\n## Installation via Nuget\n\nTo install the OneDrive SDK via NuGet\n\n* Search for `Microsoft.OneDriveSDK` in the NuGet Library, or\n* Type `Install-Package Microsoft.OneDriveSDK` into the Package Manager Console.\n\n## Getting started\n\n### 1. Register your application\n\nRegister your application for OneDrive by following [these](https://dev.onedrive.com/app-registration.htm) steps.\n\n### 2. Setting your application Id and scopes\n\nYour app must requests permissions in order to access a user's OneDrive. To do this, specify your app ID and scopes, or permission level.\nFor more information, see [Authentication scopes](https://dev.onedrive.com/auth/msa_oauth.htm#authentication-scopes).\n\n### 3. Getting an authenticated OneDriveClient object\n\nYou must get a **OneDriveClient** object in order for your app to make requests to the service, but first you must have an instance of an object that implements `IAuthenticationProvider` in Microsoft.Graph.Core.\nAn example of such an imlementation can be found [MSA Auth Adapter repository](https://github.com/OneDrive/onedrive-sdk-dotnet-msa-auth-adapter). You should create the `IAuthenticationProvider`, authenticate\nusing `AuthenticateUserAsync()`, and then create a `OneDriveClient` using the auth provider as a constructor argument. You must also provide the ClientId of your app, the return URL you have specified for your app,\nand the base URL for the API. Below is a sample of that pattern for authentication on the OneDrive service.\n\n```csharp\nvar msaAuthProvider = new myAuthProvider(\n    myClientId,\n    \"https://login.live.com/oauth20_desktop.srf\",\n    { \"onedrive.readonly\", \"wl.signin\" });\nawait msaAuthProvider.AuthenticateUserAsync();\nvar oneDriveClient = new OneDriveClient(\"https://api.onedrive.com/v1.0\", msaAuthProvider);\n```\n\nAfter that, you will be able to use the `oneDriveClient` object to make calls to the service. For more information, see [Authenticate your C# app for OneDrive](docs/auth.md).\n\n### 4. Making requests to the service\n\nOnce you have a OneDriveClient that is authenticated you can begin to make calls against the service. The requests against the service look like OneDrive's [REST API](https://dev.onedrive.com/README.htm).\n\nTo retrieve a user's drive:\n\n```csharp\n    var drive = await oneDriveClient\n                          .Drive\n                          .Request()\n                          .GetAsync();\n```\n\n`GetAsync` will return a `Drive` object on success and throw a `Microsoft.Graph.ServiceException` on error.\n\nTo get the current user's root folder of their drive:\n\n```csharp\n    var rootItem = await oneDriveClient\n                             .Drive\n                             .Root\n                             .Request()\n                             .GetAsync();\n```\n\n`GetAsync` will return an `Item` object on success and throw a `Microsoft.Graph.ServiceException` on error.\n\nFor a general overview of how the SDK is designed, see [overview](docs/overview.md).\n\nThe following sample applications are also available:\n* [OneDrive API Browser](https://github.com/OneDrive/onedrive-sample-apibrowser-dotnet) - Windows Forms app\n* [OneDrive Photo Browser](https://github.com/OneDrive/onedrive-sample-photobrowser-uwp) - Windows Universal app\n* [OneDrive Webhooks](https://github.com/OneDrive/onedrive-webhooks-aspnet) - ASP.NET MVC app\n\nTo run the OneDrivePhotoBrowser sample app your machine will need to be configured for [UWP app development](https://msdn.microsoft.com/en-us/library/windows/apps/dn609832.aspx) and the project must be associated with the Windows Store.\n\n## Documentation and resources\n\n* [Overview](docs/overview.md)\n* [Auth](docs/auth.md)\n* [Items](docs/items.md)\n* [Chunked uploads](docs/chunked-uploads.md)\n* [Collections](docs/collections.md)\n* [Errors](docs/errors.md)\n* [OneDrive API](http://dev.onedrive.com)\n\n## Issues\n\nTo view or log issues, see [issues](https://github.com/OneDrive/onedrive-sdk-csharp/issues).\n\n## Other resources\n\n* NuGet Package: [https://www.nuget.org/packages/Microsoft.OneDriveSDK](https://www.nuget.org/packages/Microsoft.OneDriveSDK)\n\n\n## License\n\n[License](LICENSE.txt)\n\nThis project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.\n"
  },
  {
    "path": "docs/auth.md",
    "content": "Authenticate your C# app for OneDrive\n=====\n\nTo authenticate your app to use OneDrive, you need to instantiate an object that implements `IAuthenticationProvider` from Microsoft.Graph and call `AuthenticateAsync` on it. Then, you must create a `OneDriveClient` object and pass in your auth provider as an argument. Note that if the user changes their password, your app must re-authenticate.  If you see `401` error codes, this is most likely the case. See [Error codes for the OneDrive C# SDK](errors.md) for more info.\n\n**Note** This topic assumes that you are familiar with app authentication. For more info about authentication in OneDrive, see [Authentication for the OneDrive API](https://dev.onedrive.com/auth/readme.htm).\n\n## Standard authentication components\n\nWhen implementing `IAuthenticationProvider`, a standard set of parameters will  be required:\n\n| Parameter | Description |\n|:----------|:------------|\n| _clientId_ | The client ID of the app. Required. |\n| _returnUrl_ | A redirect URL. Required. |\n| _baseUrl_ | URL where the target OneDrive service is found. Required. |\n| _scopes_ | Permissions that your app requires from the user. Required. |\n| _client\\_secret_ | The client secret created for your app. Optional. Not available for Windows Store 8.1, Windows Phone 8.1, and Universal Windows Platform (UWP) apps. |\n\nIn addition to _clientId_, _returnURL_, _scopes_, and _client\\_secret_ the method takes in implementations for a client type, credential cache, HTTP provider, and a service info provider or web authentication UI. If not provided, the default implementations of each item will be used.\n\n### ClientType\nA single client can only call OneDrive for Consumer or OneDrive for Business, not both. The target service is configured implicitly by the `IAuthenticationProvider` and the _baseUrl_ passed into the `OneDriveClient` constructor.\n\nIf the application would like to interact with both OneDrive for Consumer and OneDrive for Business, a client should be created for each.\n\n\n## More Information\nMore information, and a fuller example of authentication, can be found at the [MSA Auth Adapter repository](https://github.com/OneDrive/onedrive-sdk-dotnet-msa-auth-adapter)."
  },
  {
    "path": "docs/chunked-uploads.md",
    "content": "# Chunked Uploads\n## Uploading large files and pausing/resuming uploads\n\nChunked uploads are easy using `Helpers.ChunkedUploadProvider`. The easiest way to upload a large file\nlooks like this:\n\n```csharp\nvar session = await oneDriveClient.ItemWithPath(uploadPath).CreateSession().Request().PostAsync();\nvar provider = new ChunkedUploadProvider(session, oneDriveClient, fileStream);\n\nvar uploadedItem = await provider.UploadAsync();\n```\n\nYour file will upload in default-sized chunks (5MiB). You can also adjust chunk size by adding a parameter to the `ChunkedUploadProvider`\nconstructor: `new ChunkedUploadProvider(session, oneDriveClient, fileStream, 1024*1024); // 1 MiB`.\n\n## Controlling and Monitoring Large Uploads\n\nYou may want to monitor the progress of an upload (perhaps to show a progress bar to the user). You can get finer control of uploading each chunk using\nthe skeleton below. You will certainly need to make a few modifications. Also, you can check out how the [ChunkedUploadProvider](../src/OneDriveSdk/Helpers/ChunkedUploadProvider.cs)\n\n```csharp\n// Get the provider\nvar myMaxChunkSize = 5*1024*1024; // 5MB\nvar session = await oneDriveClient.ItemWithPath(uploadPath).CreateSession().Request().PostAsync();\nvar provider = new ChunkedUploadProvider(session, oneDriveClient, fileStream, myMaxChunkSize);\n\n// Setup the chunk request necessities\nvar chunkRequests = provider.GetUploadChunkRequests();\nvar readBuffer = new byte[myMaxChunkSize];\nvar trackedExceptions = new List<Exception>();\nItem itemResult = null;\n\n//upload the chunks\nforeach(var request in chunkRequests)\n{\n    // Do your updates here: update progress bar, etc.\n    // ...\n    // Send chunk request\n    var result = await provider.GetChunkRequestResponseAsync(request, readBuffer, trackedExceptions);\n    \n    if(result.UploadSucceeded)\n    {\n        itemResult = result.ItemResponse;\n    }\n}\n\n// Check that upload succeeded\nif (itemResult == null)\n{\n    // Retry the upload\n    // ...\n}\n```\n\n"
  },
  {
    "path": "docs/collections.md",
    "content": "Collections in the OneDrive SDK for C#\n=====\n\nYou can use the OneDrive SDK for C# to work with item collections in OneDrive.\n\n## Getting a collection\n\nTo retrieve a collection, like a folder's children, you call `GetAsync`:\n\n```csharp\nawait oneDriveClient\n          .Drive\n\t\t  .Items[itemId]\n\t\t  .Children\n\t\t  .Request()\n\t\t  .GetAsync();\n```\n\n`GetAsync` returns an `ICollectionPage<T>` implementation on success and throws a `OneDriveException` on error. For children collections, the type returned is `IChildrenCollectionPage`, which inherits `ICollectionPage<Item>`.\n\n`IChildrenCollectionPage` contains three properties: \n\n|Name                |Description                                                                                                                                  |\n|--------------------|---------------------------------------------------------------------------------------------------------------------------------------------|\n|**CurrentPage**     |An `IList<Item>`.                                                                                                                            |\n|**NextPageRequest** |An `IChildrenPageRequest` used to get to the next page of items, if another page exists. This value will be null if there is not a next page.|\n|**AdditionData**    |An `IDictionary<string, object>` to any additional values returned by the service. In this case, none.                                       |\n\n## Adding to a collection\n\nSome collections, like the children of a folder, can be changed. To add a folder to the children of an item, you can call the `AddAsync` method:\n\n```csharp\nvar folderToCreate = new Item { Name = \"New folder\", Folder = new Folder() };\nvar newFolder = await oneDriveClient\n                          .Drive\n\t\t\t\t\t\t  .Items[itemId]\n\t\t\t\t\t\t  .Children\n\t\t\t\t\t\t  .Request()\n\t\t\t\t\t\t  .AddAsync(folderToCreate);\n```\n\n`AddAsync` returns the created item on success and throws a `OneDriveException` on error.\n\n## Expanding a collection\n\nTo expand a collection, you call `Expand` on the collection request object with the string value of the expand:\n\n```csharp\nvar children = await oneDriveClient\n                         .Drive\n\t\t\t\t\t\t .Items[itemId]\n\t\t\t\t\t\t .Children\n\t\t\t\t\t\t .Request()\n\t\t\t\t\t\t .Expand(\"thumbnails\")\n\t\t\t\t\t\t .GetAsync();\n```\n\n## Special collections\n\nSome API calls will return collections with added properties. These properties will always be in the additional data dictionary. These collections are also their own objects (subclasses of `ICollectionPage<T>`) that will have these properties attached to them.  \n\nTo get the delta of an item you call:\n\n```csharp\nvar deltaCollectionPage = await oneDriveClient\n                                    .Drive\n\t\t\t\t\t\t\t\t\t.Items[itemId]\n\t\t\t\t\t\t\t\t\t.Delta(deltaToken)\n\t\t\t\t\t\t\t\t\t.Request()\n\t\t\t\t\t\t\t\t\t.GetAsync();\n```\n\n`IItemDeltaCollectionPage` is an `ICollectionPage<Item>` object with a `Token` property and a `DeltaLink` property. The token link can be used to pass into `Delta:` when you want to check for more changes. You can also construct a delta request with the `DeltaLink` property. The `NextPageRequest` is an `IItemDeltaRequest` to be used for paging purposes and will be null when there are no more changes."
  },
  {
    "path": "docs/errors.md",
    "content": "Handling errors in the OneDrive SDK for C#\n=====\n\nErrors in the OneDrive SDK for C# behave just like errors returned from the OneDrive service. You can read more about them [here](https://github.com/OneDrive/onedrive-api-docs/blob/master/misc/errors.md).\n\nAnytime you make a request against the service there is the potential for an error. You will see that all requests to the service can return an error. In the case of an error, the request will throw a `OneDriveException` object with an inner `Error` object that contains the service error details.\n\n## Checking the error\n\nThere are a few different types of errors that can occur during a network call. These error codes are defined in [OneDriveErrorCodes.cs](../src/OneDriveSdk/Enums/OneDriveErrorCodes.cs).\n\n### Checking the error code\nYou can easily check if an error has a specific code by calling `IsMatch` on the error code value. `IsMatch` is not case sensitive:\n```csharp\nif (exception.IsMatch(OneDriveErrorCode.AccessDenied.ToString())\n{\n        // Handle access denied error\n}\n```\n\nEach error object has a `Message` property as well as code. This message is for debugging purposes and is not be meant to be displayed to the user. Common error codes are defined in [OneDriveErrorCodes.cs](../src/OneDriveSdk/Enums/OneDriveErrorCodes.cs).\n\n\n### Authentication errors\n\nThere can be errors during the authentication process. Authentication errors will have the code `AuthenticationFailed`. Authentication cancelled errors will have the code `AuthenticationCancelled`.\n\n```csharp\nif (exception.IsMatch(OneDriveErrorCode.AuthenticationFailure.ToString())\n{\n        // Handle auth error\n}\n```\n\nThe `Message` property will contain more detailed error information if available."
  },
  {
    "path": "docs/items.md",
    "content": "Items in the OneDrive SDK for C#\n=====\n\nItems in the OneDrive SDK for C# behave just like items through the OneDrive API. All actions on items described in the OneDrive API are available through the SDK. For more information, see the [Items Reference](https://dev.onedrive.com/README.htm#item-resource). \n\nThe examples below assume that you have [Authenticated](/docs/auth.md) your app with a **OneDriveClient** object.\n\n* [Get an Item](#get-an-item)\n* [Delete an Item](#delete-an-item)\n* [Get Children for an Item](#get-children-for-an-item)\n* [Create a folder](#create-a-folder)\n* [Uploading contents](#uploading-contents)\n* [Downloading contents](#downloading-contents)\n* [Moving and updating an Item](#moving-and-updating-an-item)\n* [Copy an Item](#copy-an-item)\n\nGet an Item\n---------------\n### 1. By ID\n\n```csharp\nvar item = await oneDriveClient\n                     .Items[itemId]\n                     .Request()\n                     .GetAsync();\n```\n\n### 2. By path\n\n```csharp\nvar item = await oneDriveClient\n                     .Drive\n                     .Root\n                     .ItemWithPath(\"path/to/file/txt\")\n                     .Request()\n                     .GetAsync();\n```\n\nAccess an item by parent reference path:\n```csharp\nvar item = await oneDriveClient\n                     .ItemWithPath(parentItem.ParentReference.Path + \"/\" + parentItem.Name + \"/relative/path\")\n                     .Request()\n                     .GetAsync();\n```\n\nDelete an Item\n---------------\n```csharp\nawait oneDriveClient\n          .Drive\n          .Items[itemId]\n          .Request()\n          .DeleteAsync();\n```\n\nGet children for an Item\n-------------------------\n\nMore info about collections [here](/docs/collections.md).\n\n```csharp\nawait oneDriveClient\n          .Drive\n          .Items[itemId]\n          .Children\n          .Request()\n          .GetAsync();\n```\n\nCreate a folder\n-------------------------\n\n### 1. By POST to a known folder ID\n\n```csharp\nvar folderToCreate = new Item { Folder = new Folder(), Name = \"folder name\" };\nvar createdFolder = await oneDriveClient\n          .Drive\n          .Items[itemId]\n          .Children\n          .Request()\n          .AddAsync(folderToCreate);\n```\n\n### 2. By PUT to a known folder ID\n\n```csharp\nvar folderToCreate = new Item { Folder = new Folder() };\nvar createdFolder = await oneDriveClient\n          .Drive\n          .Items[itemId]\n          .ItemWithPath(\"folder name\")\n          .Request()\n          .CreateAsync(folderToCreate);\n```\n\n### 3. By PUT with a given path\n\n```csharp\nvar folderToCreate = new Item { Folder = new Folder() };\nvar createdFolder = await oneDriveClient\n          .Drive\n          .Root\n          .ItemWithPath(\"folder/subfolder\")\n          .Request()\n          .CreateAsync(folderToCreate);\n```\n\nNote: If the specified path does not exist, every folder name in the path will also be created.\n\nUploading contents\n------------------------------\n\n```csharp\nusing (contentStream)\n{\n    var uploadedItem = await oneDriveClient\n                                 .Drive\n                                 .Root\n                                 .ItemWithPath(\"path/to/file.txt\")\n                                 .Content\n                                 .Request()\n                                 .PutAsync<Item>(contentStream);\n}\n```\n\nDownloading contents\n------------------------------\n\n```csharp\nvar contentStream = await oneDriveClient\n                              .Drive\n                              .Items[itemId]\n                              .Content\n                              .Request()\n                              .GetAsync();\n```\n\nMoving and updating an Item\n--------------\nTo [move](https://dev.onedrive.com/items/move.htm) an item you must update its parent reference.\n\n```csharp\nvar updateItem = new Item { ParentReference = new ItemReference { Id = newParentId } };\nvar itemWithUpdates = await oneDriveClient\n                                .Drive\n                                .Items[itemId]\n                                .Request()\n                                .UpdateAsync(updateItem);\n```\n\nTo change an item's name you could:\n\n```csharp\nvar updateItem = new Item { Name = \"New name!\" };\nvar itemWithUpdates = await oneDriveClient\n                                .Drive\n                                .Items[itemId]\n                                .Request()\n                                .UpdateAsync(updateItem);\n\n```\n\nCopy an Item\n---------------\nCopying an item is an async action described [here](https://dev.onedrive.com/items/copy.htm).\n\n```csharp\nvar asyncStatus = await oneDriveClient\n                            .Drive\n                            .Items[itemId]\n                            .Copy(newItemName, new ItemReference { Id = copyLocationId })\n                            .Request()\n                            .PostAsync();  \n```\n\nThe `Copy` action returns an `IItemCopyAsyncMonitor` instance that has a method to poll the monitor URL for completion. The poll method returns the created item on completion.\n\nTo poll until the copy action completes:\n\n```csharp\nvar newItem = await asyncStatus.CompleteOperationAsync(null, CancellationToken.None);\n```\n\n`CompleteOperationAsync` takes in an `IProgress<AsyncOperationStatus>` for reporting back progress status and a `CancellationToken` for action cancellation. The method will poll until completion unless cancelled.\n"
  },
  {
    "path": "docs/overview.md",
    "content": "OneDrive SDK for CSharp overview\n=====\n\nThe OneDrive C# SDK is designed to look just like the [OneDrive API](https://github.com/onedrive/onedrive-api-docs/).  \n\n## OneDriveClient\n\nWhen accessing the OneDrive APIs, all requests will be made through a **OneDriveClient** object. For a more detailed explanation, see [Authentication](/docs/auth.md).\n\n## Resource model\n\n\nResources, like [items](/docs/items.md) or drives, are represented by `Item` and `Drive`. These objects contain properties that represent the properties of a resource. These objects are property bags and cannot make calls against the service.\n\nTo get the name of an item you would address the `Name` property. It is possible for any of these properties to be null at any time. To check if an item is a folder you can address the `Folder` property of the item. If the item is a folder, a `Folder` object that contains all of the properties described by the [folder](https://github.com/OneDrive/onedrive-api-docs/blob/master/facets/folder_facet.md) facet will be returned.\n\nSee [Resource model](https://github.com/onedrive/onedrive-api-docs/#resource-model) for more information.\n\n## Requests\n\nTo make requests against the service, you construct request objects using a request builder object. The type of the request builder will depend on the type of the object you are addressing. This is meant to mimic creating the URL for any of the OneDrive APIs.\n\n### 1. Request builders\n\nTo generate a request you chain together calls on request builder objects. You get the first request builder from the `OneDriveClient` object. To get a drive request builder you call:\n\n|Task            | SDK                   | URL                             |\n|:---------------|:---------------------:|:--------------------------------|\n|Get a drive     | oneDriveClient.Drive  | GET api.onedrive.com/v1.0/drive/|\n \nThe call will return an `IDriveRequestBuilder` object. From drive you can continue to chain the requests to get everything else in the API, like an item.\n\n|Task            | SDK                                  | URL                                       |\n|:---------------|:------------------------------------:|:------------------------------------------|\n|Get an item     | oneDriveClient.Drive.Items[\"1234\"]   | GET api.onedrive.com/v1.0/drive/items/1234|\n\n\nHere `oneDriveClient.Drive` returns an `IDriveRequestBuilder` that contains a property `Items` of type `IItemsCollectionRequestBuilder`. That builder has an accessor for the item ID and Items[\"1234\"] returns an `IItemRequestBuilder`.\n\nSimilarly to get thumbnails:\n\n|Task            | SDK                            | URL                      |\n|----------------|--------------------------------|--------------------------|\n| Get thumbnails | ... Items[\"1234\"].Thumbnails   | .../items/1234/thumbnails|\n\n\nHere, `oneDriveClient.Drive.Items[\"1234\"]` returns an `IItemRequestBuilder` that contains the property Thumbnails of type `IThumbnailsCollectionRequestBuilder`.\n\nThis returns a collection of [thumbnail sets](https://github.com/OneDrive/onedrive-api-docs/blob/master/resources/thumbnailSet.md). To index the collection directly you can call:\n\n|Task               | SDK                                 | URL                        |\n|-------------------|-------------------------------------|----------------------------|\n| Get thumbnail Set | ... Items[\"1234\"].Thumbnails[\"0\"]   | ...items/1234/thumbnails/0 |\n\nTo return a thumbnail set, and to get a specific [thumbnail](https://github.com/OneDrive/onedrive-api-docs/blob/master/resources/thumbnail.md), you can add the name of the thumbnail to the URL like this:\n\n|Task             | SDK                         | URL                    |\n|-----------------|-----------------------------|------------------------|\n| Get a thumbnail | ... Thumbnails[\"0\"].Small   | .../thumbnails/0/small |\n\n\n### 2. Request calls\n\nAfter you build the request you call the `Request` method on the request builder. This will construct the request object needed to make calls against the service.\n\nFor an item you call:\n\n```csharp\nvar itemRequest = oneDriveClient\n                      .Drive\n\t\t\t\t\t  .Items[itemId]\n\t\t\t\t\t  .Request();\n```\n\nAll request builders have a `Request` method that can generate a request object. Request objects may have different methods on them depending on the type of request. To get an item you call:\n\n```csharp\nvar item = await oneDriveClient\n                     .Drive\n\t\t\t\t\t .Items[itemId]\n\t\t\t\t\t .Request()\n\t\t\t\t\t .GetAsync();\n```\n\nFor more info, see [items](/docs/items.md) and [errors](/docs/errors.md).\n\n## Query options\n\nIf you only want to retrieve certain properties of a resource you can select them. Here's how to get only the names and IDs of an item:\n\n```csharp\nvar item = await oneDriveClient\n                     .Drive\n\t\t\t\t\t .Items[itemId]\n\t\t\t\t\t .Request()\n\t\t\t\t\t .Select(\"name,id\")\n\t\t\t\t\t .GetAsync();\n```\n\nAll properties other than `Name` and `Id` will be null on the item.\n\nTo expand certain properties on resources you can call a similar expand method, like this:\n\n```csharp\nvar item = await oneDriveClient\n                     .Drive\n\t\t\t\t\t .Items[itemId]\n\t\t\t\t\t .Request()\n\t\t\t\t\t .Expand(\"thumbnails,children(expand=thumbnails)\")\n\t\t\t\t\t .GetAsync();\n```\n\nThe above call will expand thumbnails and children for the item, as well as thumbnails for all of the children.\n"
  },
  {
    "path": "src/OneDriveSdk/Constants.cs",
    "content": "﻿// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    public static class Constants\n    {\n        public const int PollingIntervalInMs = 5000;\n\n        public static class Headers\n        {\n            public const string SdkVersionHeaderPrefix = \"onedrive\";\n        }\n\n        public static class Url\n        {\n            public const string Drive = \"drive\";\n\n            public const string Root = \"root\";\n\n            public const string AppRoot = \"approot\";\n            \n            public const string Documents = \"documents\";\n            \n            public const string Photos = \"photos\";\n            \n            public const string CameraRoll = \"cameraroll\";\n            \n            public const string Music = \"music\";\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Enums/OneDriveErrorCode.cs",
    "content": "﻿// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    public enum OneDriveErrorCode\n    {\n        AccessDenied,\n        ActivityLimitReached,\n        GeneralException,\n        InvalidRange,\n        InvalidRequest,\n        ItemNotFound,\n        MalwareDetected,\n        NameAlreadyExists,\n        NotAllowed,\n        NotSupported,\n        ResourceModified,\n        ResyncRequired,\n        ServiceNotAvailable,\n        Timeout,\n        TooManyRedirects,\n        QuotaLimitReached,\n        Unauthenticated,\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Helpers/ChunkedUploadProvider.cs",
    "content": "﻿// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\nnamespace Microsoft.OneDrive.Sdk.Helpers\n{\n    using Microsoft.Graph;\n\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Threading.Tasks;\n\n    /// <summary>\n    /// Use this class to make resumable uploads or to upload large files. This\n    /// class allows the client to control the size of chunks uploaded (for example, can be useful\n    /// to use small chunks if the connection is slow). Also allows the client to\n    /// pause an upload and resume later.\n    /// </summary>\n    public class ChunkedUploadProvider\n    {\n        private const int DefaultMaxChunkSize = 5 * 1024 * 1024;\n        private const int RequiredChunkSizeIncrement = 320 * 1024;\n\n        public UploadSession Session { get; private set; }\n        private IBaseClient client;\n        private Stream uploadStream;\n        private readonly int maxChunkSize;\n        private List<Tuple<long, long>> rangesRemaining;\n        private long totalUploadLength => uploadStream.Length;\n        \n        /// <summary>\n        /// Helps with resumable uploads. Generates chunk requests based on <paramref name=\"session\"/>\n        /// information, and can control uploading of requests using <paramref name=\"client\"/>\n        /// </summary>\n        /// <param name=\"session\">Session information.</param>\n        /// <param name=\"client\">Client used to upload chunks.</param>\n        /// <param name=\"uploadStream\">Readable, seekable stream to be uploaded. Length of session is determined via uploadStream.Length</param>\n        /// <param name=\"maxChunkSize\">Max size of each chunk to be uploaded. Multiple of 320 KiB (320 * 1024) is required.\n        /// If less than 0, default value of 5 MiB is used. .</param>\n        public ChunkedUploadProvider(UploadSession session, IBaseClient client, Stream uploadStream, int maxChunkSize = -1)\n        {\n            if (!uploadStream.CanRead || !uploadStream.CanSeek)\n            {\n                throw new ArgumentException(\"Must provide stream that can read and seek\");\n            }\n\n            this.Session = session;\n            this.client = client;\n            this.uploadStream = uploadStream;\n            this.rangesRemaining = this.GetRangesRemaining(session);\n            this.maxChunkSize = maxChunkSize < 0 ? DefaultMaxChunkSize : maxChunkSize;\n            if (this.maxChunkSize % RequiredChunkSizeIncrement != 0)\n            {\n                throw new ArgumentException(\"Max chunk size must be a multiple of 320 KiB\", nameof(maxChunkSize));\n            }\n        }\n\n        /// <summary>\n        /// Get the series of requests needed to complete the upload session. Call <see cref=\"UpdateSessionStatusAsync\"/>\n        /// first to update the internal session information.\n        /// </summary>\n        /// <param name=\"options\">Options to be applied to each request.</param>\n        /// <returns>All requests currently needed to complete the upload session.</returns>\n        public virtual IEnumerable<UploadChunkRequest> GetUploadChunkRequests(IEnumerable<Option> options = null)\n        {\n            foreach (var range in this.rangesRemaining)\n            {\n                var currentRangeBegins = range.Item1;\n\n                while (currentRangeBegins <= range.Item2)\n                {\n                    var nextChunkSize = NextChunkSize(currentRangeBegins, range.Item2);\n                    var uploadRequest = new UploadChunkRequest(\n                        this.Session.UploadUrl,\n                        this.client,\n                        options,\n                        currentRangeBegins,\n                        currentRangeBegins + nextChunkSize - 1,\n                        this.totalUploadLength);\n                    \n                    yield return uploadRequest;\n\n                    currentRangeBegins += nextChunkSize;\n                }\n            }\n        }\n\n        /// <summary>\n        /// Get the status of the session. Stores returned session internally.\n        /// Updates internal list of ranges remaining to be uploaded (according to the server).\n        /// </summary>\n        /// <returns>UploadSession returned by the server.</returns>\n        public virtual async Task<UploadSession> UpdateSessionStatusAsync()\n        {\n            var request = new UploadSessionRequest(this.Session, this.client, null);\n            var newSession = await request.GetAsync();\n            \n            var newRangesRemaining = this.GetRangesRemaining(newSession);\n\n            this.rangesRemaining = newRangesRemaining;\n            newSession.UploadUrl = this.Session.UploadUrl; // Sometimes the UploadUrl is not returned\n            this.Session = newSession;\n            return newSession;\n        }\n\n        /// <summary>\n        /// Delete the session.\n        /// </summary>\n        /// <returns>Once returned task is complete, the session has been deleted.</returns>\n        public async Task DeleteSession()\n        {\n            var request = new UploadSessionRequest(this.Session, this.client, null);\n            await request.DeleteAsync();\n        }\n\n        /// <summary>\n        /// Upload the whole session.\n        /// </summary>\n        /// <param name=\"maxTries\">Number of times to retry entire session before giving up.</param>\n        /// <returns>Item information returned by server.</returns>\n        public async Task<Item> UploadAsync(int maxTries = 3, IEnumerable<Option> options = null)\n        {\n            var uploadTries = 0;\n            var readBuffer = new byte[this.maxChunkSize];\n            var trackedExceptions = new List<Exception>();\n            \n            while (uploadTries < maxTries)\n            {\n                var chunkRequests = this.GetUploadChunkRequests(options);\n\n                foreach (var request in chunkRequests)\n                {\n                    var result = await this.GetChunkRequestResponseAsync(request, readBuffer, trackedExceptions);\n\n                    if (result.UploadSucceeded)\n                    {\n                        return result.ItemResponse;\n                    }\n                }\n\n                await this.UpdateSessionStatusAsync();\n                uploadTries += 1;\n                if (uploadTries < maxTries)\n                {\n                    // Exponential backoff in case of failures.\n                    await Task.Delay(2000 * uploadTries * uploadTries).ConfigureAwait(false);\n                }\n            }\n\n            throw new TaskCanceledException(\"Upload failed too many times. See InnerException for list of exceptions that occured.\", new AggregateException(trackedExceptions.ToArray()));\n        }\n\n        public virtual async Task<UploadChunkResult> GetChunkRequestResponseAsync(UploadChunkRequest request, byte[] readBuffer, ICollection<Exception> exceptionTrackingList)\n        {\n            var firstAttempt = true;\n            this.uploadStream.Seek(request.RangeBegin, SeekOrigin.Begin);\n            await this.uploadStream.ReadAsync(readBuffer, 0, request.RangeLength).ConfigureAwait(false);\n\n            while (true)\n            {\n                using (var requestBodyStream = new MemoryStream(request.RangeLength))\n                {\n                    await requestBodyStream.WriteAsync(readBuffer, 0, request.RangeLength).ConfigureAwait(false);\n                    requestBodyStream.Seek(0, SeekOrigin.Begin);\n\n                    try\n                    {\n                        return await request.PutAsync(requestBodyStream).ConfigureAwait(false);\n                    }\n                    catch (ServiceException exception)\n                    {\n                        if (exception.IsMatch(\"generalException\") || exception.IsMatch(\"timeout\"))\n                        {\n                            if (firstAttempt)\n                            {\n                                firstAttempt = false;\n                                exceptionTrackingList.Add(exception);\n                            }\n                            else\n                            {\n                                throw;\n                            }\n                        }\n                        else if (exception.IsMatch(\"invalidRange\"))\n                        {\n                            // Succeeded previously, but nothing to return right now\n                            return new UploadChunkResult();\n                        }\n                        else\n                        {\n                            throw;\n                        }\n                    }\n                }\n            }\n        }\n\n        internal List<Tuple<long, long>> GetRangesRemaining(UploadSession session)\n        {\n            // nextExpectedRanges: https://dev.onedrive.com/items/upload_large_files.htm\n            // Sample: [\"12345-55232\",\"77829-99375\"]\n            // Also, second number in range can be blank, which means 'until the end'\n            var newRangesRemaining = new List<Tuple<long, long>>();\n            foreach (var range in session.NextExpectedRanges)\n            {\n                var rangeSpecifiers = range.Split('-');\n                newRangesRemaining.Add(new Tuple<long, long>(long.Parse(rangeSpecifiers[0]),\n                    string.IsNullOrEmpty(rangeSpecifiers[1]) ? this.totalUploadLength - 1 : long.Parse(rangeSpecifiers[1])));\n            }\n\n            return newRangesRemaining;\n        }\n\n        private int NextChunkSize(long rangeBegin, long rangeEnd)\n        {\n            var sizeBasedOnRange = (int) (rangeEnd - rangeBegin) + 1;\n            return sizeBasedOnRange > this.maxChunkSize\n                ? this.maxChunkSize\n                : sizeBasedOnRange;\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Microsoft.OneDrive.Sdk.csproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"12.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <Import Project=\"$(MSBuildExtensionsPath)\\$(MSBuildToolsVersion)\\Microsoft.Common.props\" Condition=\"Exists('$(MSBuildExtensionsPath)\\$(MSBuildToolsVersion)\\Microsoft.Common.props')\" />\n  <PropertyGroup>\n    <MinimumVisualStudioVersion>10.0</MinimumVisualStudioVersion>\n    <Configuration Condition=\" '$(Configuration)' == '' \">Debug</Configuration>\n    <Platform Condition=\" '$(Platform)' == '' \">AnyCPU</Platform>\n    <ProjectGuid>{1368527B-D7B2-46AD-893D-6DC8C073D819}</ProjectGuid>\n    <OutputType>Library</OutputType>\n    <AppDesignerFolder>Properties</AppDesignerFolder>\n    <RootNamespace>Microsoft.OneDrive.Sdk</RootNamespace>\n    <AssemblyName>Microsoft.OneDrive.Sdk</AssemblyName>\n    <DefaultLanguage>en-US</DefaultLanguage>\n    <FileAlignment>512</FileAlignment>\n    <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>\n    <TargetFrameworkProfile>Profile111</TargetFrameworkProfile>\n    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' \">\n    <DebugSymbols>true</DebugSymbols>\n    <DebugType>full</DebugType>\n    <Optimize>false</Optimize>\n    <OutputPath>bin\\Debug\\</OutputPath>\n    <DefineConstants>DEBUG;TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' \">\n    <DebugType>pdbonly</DebugType>\n    <Optimize>true</Optimize>\n    <OutputPath>bin\\Release\\</OutputPath>\n    <DefineConstants>TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)' == 'Release'\">\n    <SignAssembly>true</SignAssembly>\n    <DelaySign>true</DelaySign>\n    <AssemblyOriginatorKeyFile>..\\..\\build\\35MSSharedLib1024.snk</AssemblyOriginatorKeyFile>\n  </PropertyGroup>\n  <ItemGroup>\n    <Compile Include=\"Constants.cs\" />\n    <Compile Include=\"Enums\\OneDriveErrorCode.cs\" />\n    <Compile Include=\"Helpers\\ChunkedUploadProvider.cs\" />\n    <Compile Include=\"Models\\Generated\\*.cs\" />\n    <Compile Include=\"Properties\\AssemblyInfo.cs\" />\n    <Compile Include=\"Requests\\Extensions\\DriveRequestBuilderExtensions.cs\" />\n    <Compile Include=\"Requests\\Extensions\\DriveSpecialCollectionRequestBuilderExtensions.cs\" />\n    <Compile Include=\"Requests\\Extensions\\IDriveRequestBuilderExtensions.cs\" />\n    <Compile Include=\"Requests\\Extensions\\IDriveSpecialCollectionRequestBuilderExtensions.cs\" />\n    <Compile Include=\"Requests\\Extensions\\IItemRequestBuilderExtensions.cs\" />\n    <Compile Include=\"Requests\\Extensions\\IOneDriveClientExtensions.cs\" />\n    <Compile Include=\"Requests\\Extensions\\IShareRequestBuilderExtensions.cs\" />\n    <Compile Include=\"Requests\\Extensions\\ItemRequestBuilderExtensions.cs\" />\n    <Compile Include=\"Requests\\Extensions\\IThumbnailSetRequestBuilderExtensions.cs\" />\n    <Compile Include=\"Requests\\Extensions\\OneDriveClientExtensions.cs\" />\n    <Compile Include=\"Requests\\Extensions\\ShareRequestBuilderExtensions.cs\" />\n    <Compile Include=\"Requests\\Extensions\\ThumbnailSetExtensions.cs\" />\n    <Compile Include=\"Requests\\Extensions\\ThumbnailSetRequestBuilderExtensions.cs\" />\n    <Compile Include=\"Requests\\Generated\\*.cs\" />\n    <Compile Include=\"Requests\\IUploadChunkRequest.cs\" />\n    <Compile Include=\"Requests\\IThumbnailRequest.cs\" />\n    <Compile Include=\"Requests\\IThumbnailRequestBuilder.cs\" />\n    <Compile Include=\"Requests\\UploadChunkRequest.cs\" />\n    <Compile Include=\"Requests\\ThumbnailRequest.cs\" />\n    <Compile Include=\"Requests\\ThumbnailRequestBuilder.cs\" />\n    <Compile Include=\"Requests\\UploadSessionRequest.cs\" />\n  </ItemGroup>\n  <ItemGroup>\n    <Reference Include=\"Microsoft.Graph.Core, Version=1.3.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\packages\\Microsoft.Graph.Core.1.3.1\\lib\\portable45-net45+win8+wpa81\\Microsoft.Graph.Core.dll</HintPath>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\packages\\Newtonsoft.Json.9.0.1\\lib\\portable-net45+wp80+win8+wpa81\\Newtonsoft.Json.dll</HintPath>\n      <Private>True</Private>\n    </Reference>\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"app.config\" />\n    <None Include=\"packages.config\">\n      <SubType>Designer</SubType>\n    </None>\n  </ItemGroup>\n  <Import Project=\"$(MSBuildExtensionsPath32)\\Microsoft\\Portable\\$(TargetFrameworkVersion)\\Microsoft.Portable.CSharp.targets\" />\n  <PropertyGroup>\n    <PostBuildEvent>xcopy /Y /I \"$(TargetDir)$(TargetName).dll\" \"$(SolutionDir)lib\\\"</PostBuildEvent>\n  </PropertyGroup>\n  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \n       Other similar extension points exist, see Microsoft.Common.targets.\n  <Target Name=\"BeforeBuild\">\n  </Target>\n  <Target Name=\"AfterBuild\">\n  </Target>\n  -->\n</Project>"
  },
  {
    "path": "src/OneDriveSdk/Models/Generated/Audio.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type Audio.\n    /// </summary>\n    [DataContract]\n    [JsonConverter(typeof(DerivedTypeConverter))]\n    public partial class Audio\n    {\n    \n        /// <summary>\n        /// Gets or sets album.\n        /// </summary>\n        [DataMember(Name = \"album\", EmitDefaultValue = false, IsRequired = false)]\n        public string Album { get; set; }\n    \n        /// <summary>\n        /// Gets or sets albumArtist.\n        /// </summary>\n        [DataMember(Name = \"albumArtist\", EmitDefaultValue = false, IsRequired = false)]\n        public string AlbumArtist { get; set; }\n    \n        /// <summary>\n        /// Gets or sets artist.\n        /// </summary>\n        [DataMember(Name = \"artist\", EmitDefaultValue = false, IsRequired = false)]\n        public string Artist { get; set; }\n    \n        /// <summary>\n        /// Gets or sets bitrate.\n        /// </summary>\n        [DataMember(Name = \"bitrate\", EmitDefaultValue = false, IsRequired = false)]\n        public Int64? Bitrate { get; set; }\n    \n        /// <summary>\n        /// Gets or sets composers.\n        /// </summary>\n        [DataMember(Name = \"composers\", EmitDefaultValue = false, IsRequired = false)]\n        public string Composers { get; set; }\n    \n        /// <summary>\n        /// Gets or sets copyright.\n        /// </summary>\n        [DataMember(Name = \"copyright\", EmitDefaultValue = false, IsRequired = false)]\n        public string Copyright { get; set; }\n    \n        /// <summary>\n        /// Gets or sets disc.\n        /// </summary>\n        [DataMember(Name = \"disc\", EmitDefaultValue = false, IsRequired = false)]\n        public Int16? Disc { get; set; }\n    \n        /// <summary>\n        /// Gets or sets discCount.\n        /// </summary>\n        [DataMember(Name = \"discCount\", EmitDefaultValue = false, IsRequired = false)]\n        public Int16? DiscCount { get; set; }\n    \n        /// <summary>\n        /// Gets or sets duration.\n        /// </summary>\n        [DataMember(Name = \"duration\", EmitDefaultValue = false, IsRequired = false)]\n        public Int64? Duration { get; set; }\n    \n        /// <summary>\n        /// Gets or sets genre.\n        /// </summary>\n        [DataMember(Name = \"genre\", EmitDefaultValue = false, IsRequired = false)]\n        public string Genre { get; set; }\n    \n        /// <summary>\n        /// Gets or sets hasDrm.\n        /// </summary>\n        [DataMember(Name = \"hasDrm\", EmitDefaultValue = false, IsRequired = false)]\n        public bool? HasDrm { get; set; }\n    \n        /// <summary>\n        /// Gets or sets isVariableBitrate.\n        /// </summary>\n        [DataMember(Name = \"isVariableBitrate\", EmitDefaultValue = false, IsRequired = false)]\n        public bool? IsVariableBitrate { get; set; }\n    \n        /// <summary>\n        /// Gets or sets title.\n        /// </summary>\n        [DataMember(Name = \"title\", EmitDefaultValue = false, IsRequired = false)]\n        public string Title { get; set; }\n    \n        /// <summary>\n        /// Gets or sets track.\n        /// </summary>\n        [DataMember(Name = \"track\", EmitDefaultValue = false, IsRequired = false)]\n        public Int32? Track { get; set; }\n    \n        /// <summary>\n        /// Gets or sets trackCount.\n        /// </summary>\n        [DataMember(Name = \"trackCount\", EmitDefaultValue = false, IsRequired = false)]\n        public Int32? TrackCount { get; set; }\n    \n        /// <summary>\n        /// Gets or sets year.\n        /// </summary>\n        [DataMember(Name = \"year\", EmitDefaultValue = false, IsRequired = false)]\n        public Int32? Year { get; set; }\n    \n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Models/Generated/ChunkedUploadSessionDescriptor.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type ChunkedUploadSessionDescriptor.\n    /// </summary>\n    [DataContract]\n    [JsonConverter(typeof(DerivedTypeConverter))]\n    public partial class ChunkedUploadSessionDescriptor\n    {\n    \n        /// <summary>\n        /// Gets or sets name.\n        /// </summary>\n        [DataMember(Name = \"name\", EmitDefaultValue = false, IsRequired = false)]\n        public string Name { get; set; }\n    \n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Models/Generated/Deleted.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type Deleted.\n    /// </summary>\n    [DataContract]\n    [JsonConverter(typeof(DerivedTypeConverter))]\n    public partial class Deleted\n    {\n    \n        /// <summary>\n        /// Gets or sets state.\n        /// </summary>\n        [DataMember(Name = \"state\", EmitDefaultValue = false, IsRequired = false)]\n        public string State { get; set; }\n    \n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Models/Generated/Drive.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type Drive.\n    /// </summary>\n    [DataContract]\n    [JsonConverter(typeof(DerivedTypeConverter))]\n    public partial class Drive\n    {\n    \n        /// <summary>\n        /// Gets or sets id.\n        /// </summary>\n        [DataMember(Name = \"id\", EmitDefaultValue = false, IsRequired = false)]\n        public string Id { get; set; }\n    \n        /// <summary>\n        /// Gets or sets drive type.\n        /// </summary>\n        [DataMember(Name = \"driveType\", EmitDefaultValue = false, IsRequired = false)]\n        public string DriveType { get; set; }\n    \n        /// <summary>\n        /// Gets or sets owner.\n        /// </summary>\n        [DataMember(Name = \"owner\", EmitDefaultValue = false, IsRequired = false)]\n        public IdentitySet Owner { get; set; }\n    \n        /// <summary>\n        /// Gets or sets quota.\n        /// </summary>\n        [DataMember(Name = \"quota\", EmitDefaultValue = false, IsRequired = false)]\n        public Quota Quota { get; set; }\n    \n        /// <summary>\n        /// Gets or sets items.\n        /// </summary>\n        [DataMember(Name = \"items\", EmitDefaultValue = false, IsRequired = false)]\n        public IDriveItemsCollectionPage Items { get; set; }\n    \n        /// <summary>\n        /// Gets or sets shared.\n        /// </summary>\n        [DataMember(Name = \"shared\", EmitDefaultValue = false, IsRequired = false)]\n        public IDriveSharedCollectionPage Shared { get; set; }\n    \n        /// <summary>\n        /// Gets or sets special.\n        /// </summary>\n        [DataMember(Name = \"special\", EmitDefaultValue = false, IsRequired = false)]\n        public IDriveSpecialCollectionPage Special { get; set; }\n    \n        /// <summary>\n        /// Gets or sets @odata.type.\n        /// </summary>\n        [DataMember(Name = \"@odata.type\", EmitDefaultValue = false, IsRequired = false)]\n        public string ODataType { get; set; }\n\n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true, WriteData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    \n    }\n}\n\n"
  },
  {
    "path": "src/OneDriveSdk/Models/Generated/File.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type File.\n    /// </summary>\n    [DataContract]\n    [JsonConverter(typeof(DerivedTypeConverter))]\n    public partial class File\n    {\n    \n        /// <summary>\n        /// Gets or sets hashes.\n        /// </summary>\n        [DataMember(Name = \"hashes\", EmitDefaultValue = false, IsRequired = false)]\n        public Hashes Hashes { get; set; }\n    \n        /// <summary>\n        /// Gets or sets mimeType.\n        /// </summary>\n        [DataMember(Name = \"mimeType\", EmitDefaultValue = false, IsRequired = false)]\n        public string MimeType { get; set; }\n    \n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Models/Generated/FileSystemInfo.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type FileSystemInfo.\n    /// </summary>\n    [DataContract]\n    [JsonConverter(typeof(DerivedTypeConverter))]\n    public partial class FileSystemInfo\n    {\n    \n        /// <summary>\n        /// Gets or sets createdDateTime.\n        /// </summary>\n        [DataMember(Name = \"createdDateTime\", EmitDefaultValue = false, IsRequired = false)]\n        public DateTimeOffset? CreatedDateTime { get; set; }\n    \n        /// <summary>\n        /// Gets or sets lastModifiedDateTime.\n        /// </summary>\n        [DataMember(Name = \"lastModifiedDateTime\", EmitDefaultValue = false, IsRequired = false)]\n        public DateTimeOffset? LastModifiedDateTime { get; set; }\n    \n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Models/Generated/Folder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type Folder.\n    /// </summary>\n    [DataContract]\n    [JsonConverter(typeof(DerivedTypeConverter))]\n    public partial class Folder\n    {\n    \n        /// <summary>\n        /// Gets or sets childCount.\n        /// </summary>\n        [DataMember(Name = \"childCount\", EmitDefaultValue = false, IsRequired = false)]\n        public Int32? ChildCount { get; set; }\n    \n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Models/Generated/Hashes.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type Hashes.\n    /// </summary>\n    [DataContract]\n    [JsonConverter(typeof(DerivedTypeConverter))]\n    public partial class Hashes\n    {\n    \n        /// <summary>\n        /// Gets or sets crc32Hash.\n        /// </summary>\n        [DataMember(Name = \"crc32Hash\", EmitDefaultValue = false, IsRequired = false)]\n        public string Crc32Hash { get; set; }\n    \n        /// <summary>\n        /// Gets or sets sha1Hash.\n        /// </summary>\n        [DataMember(Name = \"sha1Hash\", EmitDefaultValue = false, IsRequired = false)]\n        public string Sha1Hash { get; set; }\n    \n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Models/Generated/Identity.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type Identity.\n    /// </summary>\n    [DataContract]\n    [JsonConverter(typeof(DerivedTypeConverter))]\n    public partial class Identity\n    {\n    \n        /// <summary>\n        /// Gets or sets displayName.\n        /// </summary>\n        [DataMember(Name = \"displayName\", EmitDefaultValue = false, IsRequired = false)]\n        public string DisplayName { get; set; }\n    \n        /// <summary>\n        /// Gets or sets id.\n        /// </summary>\n        [DataMember(Name = \"id\", EmitDefaultValue = false, IsRequired = false)]\n        public string Id { get; set; }\n    \n        /// <summary>\n        /// Gets or sets thumbnails.\n        /// </summary>\n        [DataMember(Name = \"thumbnails\", EmitDefaultValue = false, IsRequired = false)]\n        public ThumbnailSet Thumbnails { get; set; }\n    \n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Models/Generated/IdentitySet.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type IdentitySet.\n    /// </summary>\n    [DataContract]\n    [JsonConverter(typeof(DerivedTypeConverter))]\n    public partial class IdentitySet\n    {\n    \n        /// <summary>\n        /// Gets or sets application.\n        /// </summary>\n        [DataMember(Name = \"application\", EmitDefaultValue = false, IsRequired = false)]\n        public Identity Application { get; set; }\n    \n        /// <summary>\n        /// Gets or sets device.\n        /// </summary>\n        [DataMember(Name = \"device\", EmitDefaultValue = false, IsRequired = false)]\n        public Identity Device { get; set; }\n    \n        /// <summary>\n        /// Gets or sets user.\n        /// </summary>\n        [DataMember(Name = \"user\", EmitDefaultValue = false, IsRequired = false)]\n        public Identity User { get; set; }\n    \n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Models/Generated/Image.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type Image.\n    /// </summary>\n    [DataContract]\n    [JsonConverter(typeof(DerivedTypeConverter))]\n    public partial class Image\n    {\n    \n        /// <summary>\n        /// Gets or sets height.\n        /// </summary>\n        [DataMember(Name = \"height\", EmitDefaultValue = false, IsRequired = false)]\n        public Int32? Height { get; set; }\n    \n        /// <summary>\n        /// Gets or sets width.\n        /// </summary>\n        [DataMember(Name = \"width\", EmitDefaultValue = false, IsRequired = false)]\n        public Int32? Width { get; set; }\n    \n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Models/Generated/Item.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type Item.\n    /// </summary>\n    [DataContract]\n    [JsonConverter(typeof(DerivedTypeConverter))]\n    public partial class Item\n    {\n    \n        /// <summary>\n        /// Gets or sets content.\n        /// </summary>\n        [DataMember(Name = \"content\", EmitDefaultValue = false, IsRequired = false)]\n        public Stream Content { get; set; }\n    \n        /// <summary>\n        /// Gets or sets created by.\n        /// </summary>\n        [DataMember(Name = \"createdBy\", EmitDefaultValue = false, IsRequired = false)]\n        public IdentitySet CreatedBy { get; set; }\n    \n        /// <summary>\n        /// Gets or sets created date time.\n        /// </summary>\n        [DataMember(Name = \"createdDateTime\", EmitDefaultValue = false, IsRequired = false)]\n        public DateTimeOffset? CreatedDateTime { get; set; }\n    \n        /// <summary>\n        /// Gets or sets c tag.\n        /// </summary>\n        [DataMember(Name = \"cTag\", EmitDefaultValue = false, IsRequired = false)]\n        public string CTag { get; set; }\n    \n        /// <summary>\n        /// Gets or sets description.\n        /// </summary>\n        [DataMember(Name = \"description\", EmitDefaultValue = false, IsRequired = false)]\n        public string Description { get; set; }\n    \n        /// <summary>\n        /// Gets or sets e tag.\n        /// </summary>\n        [DataMember(Name = \"eTag\", EmitDefaultValue = false, IsRequired = false)]\n        public string ETag { get; set; }\n    \n        /// <summary>\n        /// Gets or sets id.\n        /// </summary>\n        [DataMember(Name = \"id\", EmitDefaultValue = false, IsRequired = false)]\n        public string Id { get; set; }\n    \n        /// <summary>\n        /// Gets or sets last modified by.\n        /// </summary>\n        [DataMember(Name = \"lastModifiedBy\", EmitDefaultValue = false, IsRequired = false)]\n        public IdentitySet LastModifiedBy { get; set; }\n    \n        /// <summary>\n        /// Gets or sets last modified date time.\n        /// </summary>\n        [DataMember(Name = \"lastModifiedDateTime\", EmitDefaultValue = false, IsRequired = false)]\n        public DateTimeOffset? LastModifiedDateTime { get; set; }\n    \n        /// <summary>\n        /// Gets or sets name.\n        /// </summary>\n        [DataMember(Name = \"name\", EmitDefaultValue = false, IsRequired = false)]\n        public string Name { get; set; }\n    \n        /// <summary>\n        /// Gets or sets parent reference.\n        /// </summary>\n        [DataMember(Name = \"parentReference\", EmitDefaultValue = false, IsRequired = false)]\n        public ItemReference ParentReference { get; set; }\n    \n        /// <summary>\n        /// Gets or sets size.\n        /// </summary>\n        [DataMember(Name = \"size\", EmitDefaultValue = false, IsRequired = false)]\n        public Int64? Size { get; set; }\n    \n        /// <summary>\n        /// Gets or sets web url.\n        /// </summary>\n        [DataMember(Name = \"webUrl\", EmitDefaultValue = false, IsRequired = false)]\n        public string WebUrl { get; set; }\n    \n        /// <summary>\n        /// Gets or sets audio.\n        /// </summary>\n        [DataMember(Name = \"audio\", EmitDefaultValue = false, IsRequired = false)]\n        public Audio Audio { get; set; }\n    \n        /// <summary>\n        /// Gets or sets deleted.\n        /// </summary>\n        [DataMember(Name = \"deleted\", EmitDefaultValue = false, IsRequired = false)]\n        public Deleted Deleted { get; set; }\n    \n        /// <summary>\n        /// Gets or sets file.\n        /// </summary>\n        [DataMember(Name = \"file\", EmitDefaultValue = false, IsRequired = false)]\n        public File File { get; set; }\n    \n        /// <summary>\n        /// Gets or sets file system info.\n        /// </summary>\n        [DataMember(Name = \"fileSystemInfo\", EmitDefaultValue = false, IsRequired = false)]\n        public FileSystemInfo FileSystemInfo { get; set; }\n    \n        /// <summary>\n        /// Gets or sets folder.\n        /// </summary>\n        [DataMember(Name = \"folder\", EmitDefaultValue = false, IsRequired = false)]\n        public Folder Folder { get; set; }\n    \n        /// <summary>\n        /// Gets or sets image.\n        /// </summary>\n        [DataMember(Name = \"image\", EmitDefaultValue = false, IsRequired = false)]\n        public Image Image { get; set; }\n    \n        /// <summary>\n        /// Gets or sets location.\n        /// </summary>\n        [DataMember(Name = \"location\", EmitDefaultValue = false, IsRequired = false)]\n        public Location Location { get; set; }\n    \n        /// <summary>\n        /// Gets or sets open with.\n        /// </summary>\n        [DataMember(Name = \"openWith\", EmitDefaultValue = false, IsRequired = false)]\n        public OpenWithSet OpenWith { get; set; }\n    \n        /// <summary>\n        /// Gets or sets photo.\n        /// </summary>\n        [DataMember(Name = \"photo\", EmitDefaultValue = false, IsRequired = false)]\n        public Photo Photo { get; set; }\n    \n        /// <summary>\n        /// Gets or sets remote item.\n        /// </summary>\n        [DataMember(Name = \"remoteItem\", EmitDefaultValue = false, IsRequired = false)]\n        public Item RemoteItem { get; set; }\n    \n        /// <summary>\n        /// Gets or sets search result.\n        /// </summary>\n        [DataMember(Name = \"searchResult\", EmitDefaultValue = false, IsRequired = false)]\n        public SearchResult SearchResult { get; set; }\n    \n        /// <summary>\n        /// Gets or sets shared.\n        /// </summary>\n        [DataMember(Name = \"shared\", EmitDefaultValue = false, IsRequired = false)]\n        public Shared Shared { get; set; }\n    \n        /// <summary>\n        /// Gets or sets special folder.\n        /// </summary>\n        [DataMember(Name = \"specialFolder\", EmitDefaultValue = false, IsRequired = false)]\n        public SpecialFolder SpecialFolder { get; set; }\n    \n        /// <summary>\n        /// Gets or sets video.\n        /// </summary>\n        [DataMember(Name = \"video\", EmitDefaultValue = false, IsRequired = false)]\n        public Video Video { get; set; }\n    \n        /// <summary>\n        /// Gets or sets permissions.\n        /// </summary>\n        [DataMember(Name = \"permissions\", EmitDefaultValue = false, IsRequired = false)]\n        public IItemPermissionsCollectionPage Permissions { get; set; }\n    \n        /// <summary>\n        /// Gets or sets versions.\n        /// </summary>\n        [DataMember(Name = \"versions\", EmitDefaultValue = false, IsRequired = false)]\n        public IItemVersionsCollectionPage Versions { get; set; }\n    \n        /// <summary>\n        /// Gets or sets children.\n        /// </summary>\n        [DataMember(Name = \"children\", EmitDefaultValue = false, IsRequired = false)]\n        public IItemChildrenCollectionPage Children { get; set; }\n    \n        /// <summary>\n        /// Gets or sets thumbnails.\n        /// </summary>\n        [DataMember(Name = \"thumbnails\", EmitDefaultValue = false, IsRequired = false)]\n        public IItemThumbnailsCollectionPage Thumbnails { get; set; }\n    \n        /// <summary>\n        /// Gets or sets @odata.type.\n        /// </summary>\n        [DataMember(Name = \"@odata.type\", EmitDefaultValue = false, IsRequired = false)]\n        public string ODataType { get; set; }\n\n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true, WriteData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    \n    }\n}\n\n"
  },
  {
    "path": "src/OneDriveSdk/Models/Generated/ItemCopyRequestBody.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ItemCopyRequestBody.\n    /// </summary>\n    [DataContract]\n    public partial class ItemCopyRequestBody\n    {\n    \n        /// <summary>\n        /// Gets or sets Name.\n        /// </summary>\n        [DataMember(Name = \"name\", EmitDefaultValue = false, IsRequired = false)]\n        public string Name { get; set; }\n    \n        /// <summary>\n        /// Gets or sets ParentReference.\n        /// </summary>\n        [DataMember(Name = \"parentReference\", EmitDefaultValue = false, IsRequired = false)]\n        public ItemReference ParentReference { get; set; }\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Models/Generated/ItemCreateLinkRequestBody.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ItemCreateLinkRequestBody.\n    /// </summary>\n    [DataContract]\n    public partial class ItemCreateLinkRequestBody\n    {\n    \n        /// <summary>\n        /// Gets or sets Type.\n        /// </summary>\n        [DataMember(Name = \"type\", EmitDefaultValue = false, IsRequired = false)]\n        public string Type { get; set; }\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Models/Generated/ItemCreateSessionRequestBody.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ItemCreateSessionRequestBody.\n    /// </summary>\n    [DataContract]\n    public partial class ItemCreateSessionRequestBody\n    {\n    \n        /// <summary>\n        /// Gets or sets Item.\n        /// </summary>\n        [DataMember(Name = \"item\", EmitDefaultValue = false, IsRequired = false)]\n        public ChunkedUploadSessionDescriptor Item { get; set; }\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Models/Generated/ItemInviteRequestBody.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ItemCreateLinkRequestBody.\n    /// </summary>\n    [DataContract]\n    public partial class ItemInviteRequestBody\n    {   \n        [DataMember(Name = \"requireSignIn\", EmitDefaultValue = false, IsRequired = false)]\n        public bool RequireSignIn { get; set; }\n\n        [DataMember(Name = \"sendInvitation\", EmitDefaultValue = false, IsRequired = false)]\n        public bool SendInvitation { get; set; }\n\n        [DataMember(Name = \"roles\", EmitDefaultValue = false, IsRequired = false)]\n        public string[] Roles { get; set; }\n\n        [DataMember(Name = \"recipients\", EmitDefaultValue = false, IsRequired = false)]\n        public Recipient[] Recipients { get; set; }\n\n        [DataMember(Name = \"message\", EmitDefaultValue = false, IsRequired = false)]\n        public string Message { get; set; }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Models/Generated/ItemReference.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type ItemReference.\n    /// </summary>\n    [DataContract]\n    [JsonConverter(typeof(DerivedTypeConverter))]\n    public partial class ItemReference\n    {\n    \n        /// <summary>\n        /// Gets or sets driveId.\n        /// </summary>\n        [DataMember(Name = \"driveId\", EmitDefaultValue = false, IsRequired = false)]\n        public string DriveId { get; set; }\n    \n        /// <summary>\n        /// Gets or sets id.\n        /// </summary>\n        [DataMember(Name = \"id\", EmitDefaultValue = false, IsRequired = false)]\n        public string Id { get; set; }\n    \n        /// <summary>\n        /// Gets or sets path.\n        /// </summary>\n        [DataMember(Name = \"path\", EmitDefaultValue = false, IsRequired = false)]\n        public string Path { get; set; }\n    \n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Models/Generated/Location.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type Location.\n    /// </summary>\n    [DataContract]\n    [JsonConverter(typeof(DerivedTypeConverter))]\n    public partial class Location\n    {\n    \n        /// <summary>\n        /// Gets or sets altitude.\n        /// </summary>\n        [DataMember(Name = \"altitude\", EmitDefaultValue = false, IsRequired = false)]\n        public double? Altitude { get; set; }\n    \n        /// <summary>\n        /// Gets or sets latitude.\n        /// </summary>\n        [DataMember(Name = \"latitude\", EmitDefaultValue = false, IsRequired = false)]\n        public double? Latitude { get; set; }\n    \n        /// <summary>\n        /// Gets or sets longitude.\n        /// </summary>\n        [DataMember(Name = \"longitude\", EmitDefaultValue = false, IsRequired = false)]\n        public double? Longitude { get; set; }\n    \n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Models/Generated/OpenWithApp.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type OpenWithApp.\n    /// </summary>\n    [DataContract]\n    [JsonConverter(typeof(DerivedTypeConverter))]\n    public partial class OpenWithApp\n    {\n    \n        /// <summary>\n        /// Gets or sets app.\n        /// </summary>\n        [DataMember(Name = \"app\", EmitDefaultValue = false, IsRequired = false)]\n        public Identity App { get; set; }\n    \n        /// <summary>\n        /// Gets or sets viewUrl.\n        /// </summary>\n        [DataMember(Name = \"viewUrl\", EmitDefaultValue = false, IsRequired = false)]\n        public string ViewUrl { get; set; }\n    \n        /// <summary>\n        /// Gets or sets editUrl.\n        /// </summary>\n        [DataMember(Name = \"editUrl\", EmitDefaultValue = false, IsRequired = false)]\n        public string EditUrl { get; set; }\n    \n        /// <summary>\n        /// Gets or sets viewPostParameters.\n        /// </summary>\n        [DataMember(Name = \"viewPostParameters\", EmitDefaultValue = false, IsRequired = false)]\n        public string ViewPostParameters { get; set; }\n    \n        /// <summary>\n        /// Gets or sets editPostParameters.\n        /// </summary>\n        [DataMember(Name = \"editPostParameters\", EmitDefaultValue = false, IsRequired = false)]\n        public string EditPostParameters { get; set; }\n    \n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Models/Generated/OpenWithSet.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type OpenWithSet.\n    /// </summary>\n    [DataContract]\n    [JsonConverter(typeof(DerivedTypeConverter))]\n    public partial class OpenWithSet\n    {\n    \n        /// <summary>\n        /// Gets or sets web.\n        /// </summary>\n        [DataMember(Name = \"web\", EmitDefaultValue = false, IsRequired = false)]\n        public OpenWithApp Web { get; set; }\n    \n        /// <summary>\n        /// Gets or sets webEmbed.\n        /// </summary>\n        [DataMember(Name = \"webEmbed\", EmitDefaultValue = false, IsRequired = false)]\n        public OpenWithApp WebEmbed { get; set; }\n    \n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Models/Generated/Permission.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type Permission.\n    /// </summary>\n    [DataContract]\n    [JsonConverter(typeof(DerivedTypeConverter))]\n    public partial class Permission\n    {\n    \n        /// <summary>\n        /// Gets or sets granted to.\n        /// </summary>\n        [DataMember(Name = \"grantedTo\", EmitDefaultValue = false, IsRequired = false)]\n        public IdentitySet GrantedTo { get; set; }\n    \n        /// <summary>\n        /// Gets or sets id.\n        /// </summary>\n        [DataMember(Name = \"id\", EmitDefaultValue = false, IsRequired = false)]\n        public string Id { get; set; }\n    \n        /// <summary>\n        /// Gets or sets invitation.\n        /// </summary>\n        [DataMember(Name = \"invitation\", EmitDefaultValue = false, IsRequired = false)]\n        public SharingInvitation Invitation { get; set; }\n    \n        /// <summary>\n        /// Gets or sets inherited from.\n        /// </summary>\n        [DataMember(Name = \"inheritedFrom\", EmitDefaultValue = false, IsRequired = false)]\n        public ItemReference InheritedFrom { get; set; }\n    \n        /// <summary>\n        /// Gets or sets link.\n        /// </summary>\n        [DataMember(Name = \"link\", EmitDefaultValue = false, IsRequired = false)]\n        public SharingLink Link { get; set; }\n    \n        /// <summary>\n        /// Gets or sets roles.\n        /// </summary>\n        [DataMember(Name = \"roles\", EmitDefaultValue = false, IsRequired = false)]\n        public IEnumerable<string> Roles { get; set; }\n    \n        /// <summary>\n        /// Gets or sets share id.\n        /// </summary>\n        [DataMember(Name = \"shareId\", EmitDefaultValue = false, IsRequired = false)]\n        public string ShareId { get; set; }\n    \n        /// <summary>\n        /// Gets or sets @odata.type.\n        /// </summary>\n        [DataMember(Name = \"@odata.type\", EmitDefaultValue = false, IsRequired = false)]\n        public string ODataType { get; set; }\n\n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true, WriteData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    \n    }\n}\n\n"
  },
  {
    "path": "src/OneDriveSdk/Models/Generated/Photo.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type Photo.\n    /// </summary>\n    [DataContract]\n    [JsonConverter(typeof(DerivedTypeConverter))]\n    public partial class Photo\n    {\n    \n        /// <summary>\n        /// Gets or sets cameraMake.\n        /// </summary>\n        [DataMember(Name = \"cameraMake\", EmitDefaultValue = false, IsRequired = false)]\n        public string CameraMake { get; set; }\n    \n        /// <summary>\n        /// Gets or sets cameraModel.\n        /// </summary>\n        [DataMember(Name = \"cameraModel\", EmitDefaultValue = false, IsRequired = false)]\n        public string CameraModel { get; set; }\n    \n        /// <summary>\n        /// Gets or sets exposureDenominator.\n        /// </summary>\n        [DataMember(Name = \"exposureDenominator\", EmitDefaultValue = false, IsRequired = false)]\n        public double? ExposureDenominator { get; set; }\n    \n        /// <summary>\n        /// Gets or sets exposureNumerator.\n        /// </summary>\n        [DataMember(Name = \"exposureNumerator\", EmitDefaultValue = false, IsRequired = false)]\n        public double? ExposureNumerator { get; set; }\n    \n        /// <summary>\n        /// Gets or sets focalLength.\n        /// </summary>\n        [DataMember(Name = \"focalLength\", EmitDefaultValue = false, IsRequired = false)]\n        public double? FocalLength { get; set; }\n    \n        /// <summary>\n        /// Gets or sets fNumber.\n        /// </summary>\n        [DataMember(Name = \"fNumber\", EmitDefaultValue = false, IsRequired = false)]\n        public double? FNumber { get; set; }\n    \n        /// <summary>\n        /// Gets or sets takenDateTime.\n        /// </summary>\n        [DataMember(Name = \"takenDateTime\", EmitDefaultValue = false, IsRequired = false)]\n        public DateTimeOffset? TakenDateTime { get; set; }\n    \n        /// <summary>\n        /// Gets or sets iso.\n        /// </summary>\n        [DataMember(Name = \"iso\", EmitDefaultValue = false, IsRequired = false)]\n        public Int32? Iso { get; set; }\n    \n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Models/Generated/Quota.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type Quota.\n    /// </summary>\n    [DataContract]\n    [JsonConverter(typeof(DerivedTypeConverter))]\n    public partial class Quota\n    {\n    \n        /// <summary>\n        /// Gets or sets deleted.\n        /// </summary>\n        [DataMember(Name = \"deleted\", EmitDefaultValue = false, IsRequired = false)]\n        public Int64? Deleted { get; set; }\n    \n        /// <summary>\n        /// Gets or sets remaining.\n        /// </summary>\n        [DataMember(Name = \"remaining\", EmitDefaultValue = false, IsRequired = false)]\n        public Int64? Remaining { get; set; }\n    \n        /// <summary>\n        /// Gets or sets state.\n        /// </summary>\n        [DataMember(Name = \"state\", EmitDefaultValue = false, IsRequired = false)]\n        public string State { get; set; }\n    \n        /// <summary>\n        /// Gets or sets total.\n        /// </summary>\n        [DataMember(Name = \"total\", EmitDefaultValue = false, IsRequired = false)]\n        public Int64? Total { get; set; }\n    \n        /// <summary>\n        /// Gets or sets used.\n        /// </summary>\n        [DataMember(Name = \"used\", EmitDefaultValue = false, IsRequired = false)]\n        public Int64? Used { get; set; }\n    \n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Models/Generated/Recipient.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type SharingInvitation.\n    /// </summary>\n    [DataContract]\n    [JsonConverter(typeof(DerivedTypeConverter))]\n    public partial class Recipient\n    { \n        /// <summary>\n        /// Gets or sets email.\n        /// </summary>\n        [DataMember(Name = \"email\", EmitDefaultValue = false, IsRequired = false)]\n        public string Email { get; set; }\n\n        /// <summary>\n        /// Gets or sets alias.\n        /// </summary>\n        [DataMember(Name = \"alias\", EmitDefaultValue = false, IsRequired = false)]\n        public string Alias { get; set; }\n\n        /// <summary>\n        /// Gets or sets objectId.\n        /// </summary>\n        [DataMember(Name = \"objectId\", EmitDefaultValue = false, IsRequired = false)]\n        public string ObjectId { get; set; }\n    \n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Models/Generated/SearchResult.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type SearchResult.\n    /// </summary>\n    [DataContract]\n    [JsonConverter(typeof(DerivedTypeConverter))]\n    public partial class SearchResult\n    {\n    \n        /// <summary>\n        /// Gets or sets onClickTelemetryUrl.\n        /// </summary>\n        [DataMember(Name = \"onClickTelemetryUrl\", EmitDefaultValue = false, IsRequired = false)]\n        public string OnClickTelemetryUrl { get; set; }\n    \n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Models/Generated/Share.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type Share.\n    /// </summary>\n    [DataContract]\n    [JsonConverter(typeof(DerivedTypeConverter))]\n    public partial class Share\n    {\n    \n        /// <summary>\n        /// Gets or sets id.\n        /// </summary>\n        [DataMember(Name = \"id\", EmitDefaultValue = false, IsRequired = false)]\n        public string Id { get; set; }\n    \n        /// <summary>\n        /// Gets or sets name.\n        /// </summary>\n        [DataMember(Name = \"name\", EmitDefaultValue = false, IsRequired = false)]\n        public string Name { get; set; }\n    \n        /// <summary>\n        /// Gets or sets owner.\n        /// </summary>\n        [DataMember(Name = \"owner\", EmitDefaultValue = false, IsRequired = false)]\n        public IdentitySet Owner { get; set; }\n    \n        /// <summary>\n        /// Gets or sets items.\n        /// </summary>\n        [DataMember(Name = \"items\", EmitDefaultValue = false, IsRequired = false)]\n        public IShareItemsCollectionPage Items { get; set; }\n    \n        /// <summary>\n        /// Gets or sets @odata.type.\n        /// </summary>\n        [DataMember(Name = \"@odata.type\", EmitDefaultValue = false, IsRequired = false)]\n        public string ODataType { get; set; }\n\n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true, WriteData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    \n    }\n}\n\n"
  },
  {
    "path": "src/OneDriveSdk/Models/Generated/Shared.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type Shared.\n    /// </summary>\n    [DataContract]\n    [JsonConverter(typeof(DerivedTypeConverter))]\n    public partial class Shared\n    {\n    \n        /// <summary>\n        /// Gets or sets effectiveRoles.\n        /// </summary>\n        [DataMember(Name = \"effectiveRoles\", EmitDefaultValue = false, IsRequired = false)]\n        public IEnumerable<string> EffectiveRoles { get; set; }\n    \n        /// <summary>\n        /// Gets or sets owner.\n        /// </summary>\n        [DataMember(Name = \"owner\", EmitDefaultValue = false, IsRequired = false)]\n        public IdentitySet Owner { get; set; }\n    \n        /// <summary>\n        /// Gets or sets scope.\n        /// </summary>\n        [DataMember(Name = \"scope\", EmitDefaultValue = false, IsRequired = false)]\n        public string Scope { get; set; }\n    \n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Models/Generated/SharingInvitation.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type SharingInvitation.\n    /// </summary>\n    [DataContract]\n    [JsonConverter(typeof(DerivedTypeConverter))]\n    public partial class SharingInvitation\n    {\n    \n        /// <summary>\n        /// Gets or sets email.\n        /// </summary>\n        [DataMember(Name = \"email\", EmitDefaultValue = false, IsRequired = false)]\n        public string Email { get; set; }\n    \n        /// <summary>\n        /// Gets or sets invitedBy.\n        /// </summary>\n        [DataMember(Name = \"invitedBy\", EmitDefaultValue = false, IsRequired = false)]\n        public IdentitySet InvitedBy { get; set; }\n    \n        /// <summary>\n        /// Gets or sets signInRequired.\n        /// </summary>\n        [DataMember(Name = \"signInRequired\", EmitDefaultValue = false, IsRequired = false)]\n        public bool? SignInRequired { get; set; }\n    \n        /// <summary>\n        /// Gets or sets sendInvitationStatus.\n        /// </summary>\n        [DataMember(Name = \"sendInvitationStatus\", EmitDefaultValue = false, IsRequired = false)]\n        public string SendInvitationStatus { get; set; }\n    \n        /// <summary>\n        /// Gets or sets inviteErrorResolveUrl.\n        /// </summary>\n        [DataMember(Name = \"inviteErrorResolveUrl\", EmitDefaultValue = false, IsRequired = false)]\n        public string InviteErrorResolveUrl { get; set; }\n    \n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Models/Generated/SharingLink.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type SharingLink.\n    /// </summary>\n    [DataContract]\n    [JsonConverter(typeof(DerivedTypeConverter))]\n    public partial class SharingLink\n    {\n    \n        /// <summary>\n        /// Gets or sets application.\n        /// </summary>\n        [DataMember(Name = \"application\", EmitDefaultValue = false, IsRequired = false)]\n        public Identity Application { get; set; }\n    \n        /// <summary>\n        /// Gets or sets type.\n        /// </summary>\n        [DataMember(Name = \"type\", EmitDefaultValue = false, IsRequired = false)]\n        public string Type { get; set; }\n    \n        /// <summary>\n        /// Gets or sets webUrl.\n        /// </summary>\n        [DataMember(Name = \"webUrl\", EmitDefaultValue = false, IsRequired = false)]\n        public string WebUrl { get; set; }\n    \n        /// <summary>\n        /// Gets or sets webHtml.\n        /// </summary>\n        [DataMember(Name = \"webHtml\", EmitDefaultValue = false, IsRequired = false)]\n        public string WebHtml { get; set; }\n    \n        /// <summary>\n        /// Gets or sets configuratorUrl.\n        /// </summary>\n        [DataMember(Name = \"configuratorUrl\", EmitDefaultValue = false, IsRequired = false)]\n        public string ConfiguratorUrl { get; set; }\n    \n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Models/Generated/SpecialFolder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type SpecialFolder.\n    /// </summary>\n    [DataContract]\n    [JsonConverter(typeof(DerivedTypeConverter))]\n    public partial class SpecialFolder\n    {\n    \n        /// <summary>\n        /// Gets or sets name.\n        /// </summary>\n        [DataMember(Name = \"name\", EmitDefaultValue = false, IsRequired = false)]\n        public string Name { get; set; }\n    \n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Models/Generated/Thumbnail.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type Thumbnail.\n    /// </summary>\n    [DataContract]\n    [JsonConverter(typeof(DerivedTypeConverter))]\n    public partial class Thumbnail\n    {\n    \n        /// <summary>\n        /// Gets or sets content.\n        /// </summary>\n        [DataMember(Name = \"content\", EmitDefaultValue = false, IsRequired = false)]\n        public Stream Content { get; set; }\n    \n        /// <summary>\n        /// Gets or sets height.\n        /// </summary>\n        [DataMember(Name = \"height\", EmitDefaultValue = false, IsRequired = false)]\n        public Int32? Height { get; set; }\n    \n        /// <summary>\n        /// Gets or sets url.\n        /// </summary>\n        [DataMember(Name = \"url\", EmitDefaultValue = false, IsRequired = false)]\n        public string Url { get; set; }\n    \n        /// <summary>\n        /// Gets or sets width.\n        /// </summary>\n        [DataMember(Name = \"width\", EmitDefaultValue = false, IsRequired = false)]\n        public Int32? Width { get; set; }\n    \n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Models/Generated/ThumbnailSet.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type Thumbnail Set.\n    /// </summary>\n    [DataContract]\n    [JsonConverter(typeof(DerivedTypeConverter))]\n    public partial class ThumbnailSet\n    {\n    \n        /// <summary>\n        /// Gets or sets id.\n        /// </summary>\n        [DataMember(Name = \"id\", EmitDefaultValue = false, IsRequired = false)]\n        public string Id { get; set; }\n    \n        /// <summary>\n        /// Gets or sets large.\n        /// </summary>\n        [DataMember(Name = \"large\", EmitDefaultValue = false, IsRequired = false)]\n        public Thumbnail Large { get; set; }\n    \n        /// <summary>\n        /// Gets or sets medium.\n        /// </summary>\n        [DataMember(Name = \"medium\", EmitDefaultValue = false, IsRequired = false)]\n        public Thumbnail Medium { get; set; }\n    \n        /// <summary>\n        /// Gets or sets small.\n        /// </summary>\n        [DataMember(Name = \"small\", EmitDefaultValue = false, IsRequired = false)]\n        public Thumbnail Small { get; set; }\n    \n        /// <summary>\n        /// Gets or sets source.\n        /// </summary>\n        [DataMember(Name = \"source\", EmitDefaultValue = false, IsRequired = false)]\n        public Thumbnail Source { get; set; }\n    \n        /// <summary>\n        /// Gets or sets @odata.type.\n        /// </summary>\n        [DataMember(Name = \"@odata.type\", EmitDefaultValue = false, IsRequired = false)]\n        public string ODataType { get; set; }\n\n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true, WriteData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    \n    }\n}\n\n"
  },
  {
    "path": "src/OneDriveSdk/Models/Generated/UploadSession.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type UploadSession.\n    /// </summary>\n    [DataContract]\n    [JsonConverter(typeof(DerivedTypeConverter))]\n    public partial class UploadSession\n    {\n    \n        /// <summary>\n        /// Gets or sets uploadUrl.\n        /// </summary>\n        [DataMember(Name = \"uploadUrl\", EmitDefaultValue = false, IsRequired = false)]\n        public string UploadUrl { get; set; }\n    \n        /// <summary>\n        /// Gets or sets expirationDateTime.\n        /// </summary>\n        [DataMember(Name = \"expirationDateTime\", EmitDefaultValue = false, IsRequired = false)]\n        public DateTimeOffset? ExpirationDateTime { get; set; }\n    \n        /// <summary>\n        /// Gets or sets nextExpectedRanges.\n        /// </summary>\n        [DataMember(Name = \"nextExpectedRanges\", EmitDefaultValue = false, IsRequired = false)]\n        public IEnumerable<string> NextExpectedRanges { get; set; }\n    \n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Models/Generated/Video.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type Video.\n    /// </summary>\n    [DataContract]\n    [JsonConverter(typeof(DerivedTypeConverter))]\n    public partial class Video\n    {\n    \n        /// <summary>\n        /// Gets or sets bitrate.\n        /// </summary>\n        [DataMember(Name = \"bitrate\", EmitDefaultValue = false, IsRequired = false)]\n        public Int32? Bitrate { get; set; }\n    \n        /// <summary>\n        /// Gets or sets duration.\n        /// </summary>\n        [DataMember(Name = \"duration\", EmitDefaultValue = false, IsRequired = false)]\n        public Int64? Duration { get; set; }\n    \n        /// <summary>\n        /// Gets or sets height.\n        /// </summary>\n        [DataMember(Name = \"height\", EmitDefaultValue = false, IsRequired = false)]\n        public Int32? Height { get; set; }\n    \n        /// <summary>\n        /// Gets or sets width.\n        /// </summary>\n        [DataMember(Name = \"width\", EmitDefaultValue = false, IsRequired = false)]\n        public Int32? Width { get; set; }\n    \n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Properties/AssemblyInfo.cs",
    "content": "﻿using System.Resources;\nusing System.Reflection;\nusing System.Runtime.CompilerServices;\n\n// General Information about an assembly is controlled through the following \n// set of attributes. Change these attribute values to modify the information\n// associated with an assembly.\n[assembly: AssemblyTitle(\"Microsoft.OneDrive.Sdk\")]\n[assembly: AssemblyDescription(\"\")]\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"\")]\n[assembly: AssemblyProduct(\"Microsoft.OneDrive.Sdk\")]\n[assembly: AssemblyCopyright(\"Copyright © 2016\")]\n[assembly: AssemblyTrademark(\"\")]\n[assembly: AssemblyCulture(\"\")]\n[assembly: NeutralResourcesLanguage(\"en\")]\n\n// Version information for an assembly consists of the following four values:\n//\n//      Major Version\n//      Minor Version \n//      Build Number\n//      Revision\n//\n// You can specify all the values or you can default the Build and Revision Numbers \n// by using the '*' as shown below:\n// [assembly: AssemblyVersion(\"1.0.*\")]\n[assembly: AssemblyVersion(\"2.0.0\")]\n[assembly: AssemblyFileVersion(\"2.0.0\")]\n\n#if DEBUG\n[assembly: InternalsVisibleTo(\"Test.OneDrive.Sdk\")]\n#else\n[assembly: InternalsVisibleTo(\"Test.OneDrive.Sdk, PublicKey=0024000004800000940000000602000000240000525341310004000001000100b5fc90e7027f67871e773a8fde8938c81dd402ba65b9201d60593e96c492651e889cc13f1415ebb53fac1131ae0bd333c5ee6021672d9718ea31a8aebd0da0072f25d87dba6fc90ffd598ed4da35e44c398c454307e8e33b8426143daec9f596836f97c8f74750e5975c64e2189f45def46b2a2b1247adc3652bf5c308055da9\")]\n#endif"
  },
  {
    "path": "src/OneDriveSdk/Requests/Extensions/DriveRequestBuilderExtensions.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    public partial class DriveRequestBuilder\n    {\n        /// <summary>\n        /// Gets root item request builder.\n        /// <returns>The item request builder.</returns>\n        /// </summary>\n        public IItemRequestBuilder Root\n        {\n            get { return new ItemRequestBuilder(this.AppendSegmentToRequestUrl(Constants.Url.Root), this.Client); }\n        }\n    }\n}"
  },
  {
    "path": "src/OneDriveSdk/Requests/Extensions/DriveSpecialCollectionRequestBuilderExtensions.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    public partial class DriveSpecialCollectionRequestBuilder\n    {\n        /// <summary>\n        /// Gets app root special folder item request builder.\n        /// <returns>The item request builder.</returns>\n        /// </summary>\n        public IItemRequestBuilder AppRoot\n        {\n            get { return new ItemRequestBuilder(this.AppendSegmentToRequestUrl(Constants.Url.AppRoot), this.Client); }\n        }\n\n        /// <summary>\n        /// Gets Documents special folder item request builder.\n        /// <returns>The item request builder.</returns>\n        /// </summary>\n        public IItemRequestBuilder Documents\n        {\n            get { return new ItemRequestBuilder(this.AppendSegmentToRequestUrl(Constants.Url.Documents), this.Client); }\n        }\n\n        /// <summary>\n        /// Gets Photos special folder item request builder.\n        /// <returns>The item request builder.</returns>\n        /// </summary>\n        public IItemRequestBuilder Photos\n        {\n            get { return new ItemRequestBuilder(this.AppendSegmentToRequestUrl(Constants.Url.Photos), this.Client); }\n        }\n\n        /// <summary>\n        /// Gets Camera Roll special folder item request builder.\n        /// <returns>The item request builder.</returns>\n        /// </summary>\n        public IItemRequestBuilder CameraRoll\n        {\n            get { return new ItemRequestBuilder(this.AppendSegmentToRequestUrl(Constants.Url.CameraRoll), this.Client); }\n        }\n\n        /// <summary>\n        /// Gets Music special folder item request builder.\n        /// <returns>The item request builder.</returns>\n        /// </summary>\n        public IItemRequestBuilder Music\n        {\n            get { return new ItemRequestBuilder(this.AppendSegmentToRequestUrl(Constants.Url.Music), this.Client); }\n        }\n    }\n}"
  },
  {
    "path": "src/OneDriveSdk/Requests/Extensions/IDriveRequestBuilderExtensions.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\nnamespace Microsoft.OneDrive.Sdk\n{\n    public partial interface IDriveRequestBuilder\n    {\n        /// <summary>\n        /// Gets root item request builder.\n        /// <returns>The item request builder.</returns>\n        /// </summary>\n        IItemRequestBuilder Root { get; }\n    }\n}"
  },
  {
    "path": "src/OneDriveSdk/Requests/Extensions/IDriveSpecialCollectionRequestBuilderExtensions.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    public partial interface IDriveSpecialCollectionRequestBuilder\n    {\n        /// <summary>\n        /// Gets app root special folder item request builder.\n        /// <returns>The item request builder.</returns>\n        /// </summary>\n        IItemRequestBuilder AppRoot { get; }\n\n        /// <summary>\n        /// Gets documents special folder item request builder.\n        /// <returns>The item request builder.</returns>\n        /// </summary>\n        IItemRequestBuilder Documents { get; }\n\n        /// <summary>\n        /// Gets photos special folder item request builder.\n        /// <returns>The item request builder.</returns>\n        /// </summary>\n        IItemRequestBuilder Photos { get; }\n\n        /// <summary>\n        /// Gets camera roll special folder item request builder.\n        /// <returns>The item request builder.</returns>\n        /// </summary>\n        IItemRequestBuilder CameraRoll { get; }\n\n        /// <summary>\n        /// Gets Music special folder item request builder.\n        /// <returns>The item request builder.</returns>\n        /// </summary>\n        IItemRequestBuilder Music { get; }\n    }\n}"
  },
  {
    "path": "src/OneDriveSdk/Requests/Extensions/IItemRequestBuilderExtensions.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    /// <summary>\n    /// The type  ItemRequestBuilder.\n    /// </summary>\n    public partial interface IItemRequestBuilder\n    {\n        /// <summary>\n        /// Gets item request builder for the specified item path.\n        /// <returns>The item request builder.</returns>\n        /// </summary>\n        IItemRequestBuilder ItemWithPath(string path);\n    }\n}"
  },
  {
    "path": "src/OneDriveSdk/Requests/Extensions/IOneDriveClientExtensions.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    public partial interface IOneDriveClient\n    {\n\n        /// <summary>\n        /// Gets the default drive.\n        /// </summary>\n        IDriveRequestBuilder Drive { get; }\n\n        /// <summary>\n        /// Gets item request builder for the specified item path.\n        /// <returns>The item request builder.</returns>\n        /// </summary>\n        IItemRequestBuilder ItemWithPath(string path);\n    }\n}"
  },
  {
    "path": "src/OneDriveSdk/Requests/Extensions/IShareRequestBuilderExtensions.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    public partial interface IShareRequestBuilder\n    {\n        /// <summary>\n        /// Gets root item request builder.\n        /// <returns>The item request builder.</returns>\n        /// </summary>\n        IItemRequestBuilder Root { get; }\n    }\n}"
  },
  {
    "path": "src/OneDriveSdk/Requests/Extensions/IThumbnailSetRequestBuilderExtensions.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    public partial interface IThumbnailSetRequestBuilder\n    {\n        IThumbnailRequestBuilder this[string size] { get; }\n    }\n}"
  },
  {
    "path": "src/OneDriveSdk/Requests/Extensions/ItemRequestBuilderExtensions.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    /// <summary>\n    /// The type  ItemRequestBuilder.\n    /// </summary>\n    public partial class ItemRequestBuilder\n    {\n        /// <summary>\n        /// Gets children request.\n        /// <returns>The children request.</returns>\n        /// </summary>\n        public IItemRequestBuilder ItemWithPath(string path)\n        {\n            if (!string.IsNullOrEmpty(path))\n            {\n                if (!path.StartsWith(\"/\"))\n                {\n                    path = string.Format(\"/{0}\", path);\n                }\n            }\n\n            return new ItemRequestBuilder(\n                string.Format(\"{0}:{1}:\", this.RequestUrl, path),\n                this.Client);\n        }\n    }\n}"
  },
  {
    "path": "src/OneDriveSdk/Requests/Extensions/OneDriveClientExtensions.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    public partial class OneDriveClient\n    {\n        /// <summary>\n        /// Gets the default drive.\n        /// </summary>\n        public IDriveRequestBuilder Drive\n        {\n            get\n            {\n                return new DriveRequestBuilder(string.Format(\"{0}/{1}\", this.BaseUrl, Constants.Url.Drive), this);\n            }\n        }\n\n        /// <summary>\n        /// Gets item request builder for the specified item path.\n        /// <returns>The item request builder.</returns>\n        /// </summary>\n        public IItemRequestBuilder ItemWithPath(string path)\n        {\n            return new ItemRequestBuilder(\n                string.Format(\"{0}{1}:\", this.BaseUrl, path),\n                this);\n        }\n    }\n}"
  },
  {
    "path": "src/OneDriveSdk/Requests/Extensions/ShareRequestBuilderExtensions.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    public partial class ShareRequestBuilder\n    {\n        /// <summary>\n        /// Gets root item request builder.\n        /// <returns>The item request builder.</returns>\n        /// </summary>\n        public IItemRequestBuilder Root\n        {\n            get { return new ItemRequestBuilder(this.AppendSegmentToRequestUrl(Constants.Url.Root), this.Client); }\n        }\n    }\n}"
  },
  {
    "path": "src/OneDriveSdk/Requests/Extensions/ThumbnailSetExtensions.cs",
    "content": "﻿// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    public partial class ThumbnailSet\n    {\n        /// <summary>\n        /// Allows for the lookup of custom thumbnails from this thumbnail set.\n        /// </summary>\n        /// <param name=\"customThumbnailName\">The name of the custom thumbnail.</param>\n        /// <returns>The custom thumbnail.</returns>\n        public Thumbnail this[string customThumbnailName]\n        {\n            get\n            {\n                if (this.AdditionalData != null)\n                {\n                    object thumbnail;\n                    if (this.AdditionalData.TryGetValue(customThumbnailName, out thumbnail))\n                    {\n                        return thumbnail as Thumbnail;\n                    }\n                }\n\n                return null;\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Extensions/ThumbnailSetRequestBuilderExtensions.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    /// <summary>\n    /// The type ThumbnailSetRequestBuilder.\n    /// </summary>\n    public partial class ThumbnailSetRequestBuilder\n    {\n        public IThumbnailRequestBuilder this[string size]\n        {\n            get\n            {\n                return new ThumbnailRequestBuilder(\n                    this.AppendSegmentToRequestUrl(size),\n                    this.Client);\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/DriveItemsCollectionPage.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type DriveItemsCollectionPage.\n    /// </summary>\n    public partial class DriveItemsCollectionPage : CollectionPage<Item>, IDriveItemsCollectionPage\n    {\n        /// <summary>\n        /// Gets the next page <see cref=\"IDriveItemsCollectionRequest\"/> instance.\n        /// </summary>\n        public IDriveItemsCollectionRequest NextPageRequest { get; private set; }\n\n        /// <summary>\n        /// Initializes the NextPageRequest property.\n        /// </summary>\n        public void InitializeNextPageRequest(IBaseClient client, string nextPageLinkString)\n        {\n            if (!string.IsNullOrEmpty(nextPageLinkString))\n            {\n                this.NextPageRequest = new DriveItemsCollectionRequest(\n                    nextPageLinkString,\n                    client,\n                    null);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/DriveItemsCollectionRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type DriveItemsCollectionRequest.\n    /// </summary>\n    public partial class DriveItemsCollectionRequest : BaseRequest, IDriveItemsCollectionRequest\n    {\n        /// <summary>\n        /// Constructs a new DriveItemsCollectionRequest.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the built request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        /// <param name=\"options\">Query and header option name value pairs for the request.</param>\n        public DriveItemsCollectionRequest(\n            string requestUrl,\n            IBaseClient client,\n            IEnumerable<Option> options)\n            : base(requestUrl, client, options)\n        {\n            this.SdkVersionHeaderPrefix = \"onedrive\";\n        }\n        \n        /// <summary>\n        /// Adds the specified Item to the collection via POST.\n        /// </summary>\n        /// <param name=\"item\">The Item to add.</param>\n        /// <returns>The created Item.</returns>\n        public System.Threading.Tasks.Task<Item> AddAsync(Item item)\n        {\n            return this.AddAsync(item, CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Adds the specified Item to the collection via POST.\n        /// </summary>\n        /// <param name=\"item\">The Item to add.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The created Item.</returns>\n        public System.Threading.Tasks.Task<Item> AddAsync(Item item, CancellationToken cancellationToken)\n        {\n            this.ContentType = \"application/json\";\n            this.Method = \"POST\";\n            return this.SendAsync<Item>(item, cancellationToken);\n        }\n\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <returns>The collection page.</returns>\n        public System.Threading.Tasks.Task<IDriveItemsCollectionPage> GetAsync()\n        {\n            return this.GetAsync(CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The collection page.</returns>\n        public async System.Threading.Tasks.Task<IDriveItemsCollectionPage> GetAsync(CancellationToken cancellationToken)\n        {\n            this.Method = \"GET\";\n            var response = await this.SendAsync<DriveItemsCollectionResponse>(null, cancellationToken).ConfigureAwait(false);\n            if (response != null && response.Value != null && response.Value.CurrentPage != null)\n            {\n                if (response.AdditionalData != null)\n                {\n                    object nextPageLink;\n                    response.AdditionalData.TryGetValue(\"@odata.nextLink\", out nextPageLink);\n\n                    var nextPageLinkString = nextPageLink as string;\n\n                    if (!string.IsNullOrEmpty(nextPageLinkString))\n                    {\n                        response.Value.InitializeNextPageRequest(\n                            this.Client,\n                            nextPageLinkString);\n                    }\n\n                    // Copy the additional data collection to the page itself so that information is not lost\n                    response.Value.AdditionalData = response.AdditionalData;\n                }\n\n                return response.Value;\n            }\n\n            return null;\n        }\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        public IDriveItemsCollectionRequest Expand(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$expand\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        public IDriveItemsCollectionRequest Select(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$select\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified top value to the request.\n        /// </summary>\n        /// <param name=\"value\">The top value.</param>\n        /// <returns>The request object to send.</returns>\n        public IDriveItemsCollectionRequest Top(int value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$top\", value.ToString()));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified filter value to the request.\n        /// </summary>\n        /// <param name=\"value\">The filter value.</param>\n        /// <returns>The request object to send.</returns>\n        public IDriveItemsCollectionRequest Filter(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$filter\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified skip value to the request.\n        /// </summary>\n        /// <param name=\"value\">The skip value.</param>\n        /// <returns>The request object to send.</returns>\n        public IDriveItemsCollectionRequest Skip(int value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$skip\", value.ToString()));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified orderby value to the request.\n        /// </summary>\n        /// <param name=\"value\">The orderby value.</param>\n        /// <returns>The request object to send.</returns>\n        public IDriveItemsCollectionRequest OrderBy(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$orderby\", value));\n            return this;\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/DriveItemsCollectionRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type DriveItemsCollectionRequestBuilder.\n    /// </summary>\n    public partial class DriveItemsCollectionRequestBuilder : BaseRequestBuilder, IDriveItemsCollectionRequestBuilder\n    {\n        /// <summary>\n        /// Constructs a new DriveItemsCollectionRequestBuilder.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the built request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        public DriveItemsCollectionRequestBuilder(\n            string requestUrl,\n            IBaseClient client)\n            : base(requestUrl, client)\n        {\n        }\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <returns>The built request.</returns>\n        public IDriveItemsCollectionRequest Request()\n        {\n            return this.Request(null);\n        }\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        public IDriveItemsCollectionRequest Request(IEnumerable<Option> options)\n        {\n            return new DriveItemsCollectionRequest(this.RequestUrl, this.Client, options);\n        }\n\n        /// <summary>\n        /// Gets an <see cref=\"IItemRequestBuilder\"/> for the specified DriveItem.\n        /// </summary>\n        /// <param name=\"id\">The ID for the DriveItem.</param>\n        /// <returns>The <see cref=\"IItemRequestBuilder\"/>.</returns>\n        public IItemRequestBuilder this[string id]\n        {\n            get\n            {\n                return new ItemRequestBuilder(this.AppendSegmentToRequestUrl(id), this.Client);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/DriveItemsCollectionResponse.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System.Collections.Generic;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type DriveItemsCollectionResponse.\n    /// </summary>\n    [DataContract]\n    public class DriveItemsCollectionResponse\n    {\n        /// <summary>\n        /// Gets or sets the <see cref=\"IDriveItemsCollectionPage\"/> value.\n        /// </summary>\n        [DataMember(Name = \"value\", EmitDefaultValue = false, IsRequired = false)]\n        public IDriveItemsCollectionPage Value { get; set; }\n\n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/DriveRecentCollectionPage.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type DriveRecentCollectionPage.\n    /// </summary>\n    public partial class DriveRecentCollectionPage : CollectionPage<Item>, IDriveRecentCollectionPage\n    {\n        /// <summary>\n        /// Gets the next page <see cref=\"IDriveRecentRequest\"/> instance.\n        /// </summary>\n        public IDriveRecentRequest NextPageRequest { get; private set; }\n\n        /// <summary>\n        /// Initializes the NextPageRequest property.\n        /// </summary>\n        public void InitializeNextPageRequest(IBaseClient client, string nextPageLinkString)\n        {\n            if (!string.IsNullOrEmpty(nextPageLinkString))\n            {\n                this.NextPageRequest = new DriveRecentRequest(\n                    nextPageLinkString,\n                    client,\n                    null);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/DriveRecentCollectionResponse.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System.Collections.Generic;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type DriveRecentCollectionResponse.\n    /// </summary>\n    [DataContract]\n    public class DriveRecentCollectionResponse\n    {\n        /// <summary>\n        /// Gets or sets the <see cref=\"IDriveRecentCollectionPage\"/> value.\n        /// </summary>\n        [DataMember(Name = \"value\", EmitDefaultValue = false, IsRequired = false)]\n        public IDriveRecentCollectionPage Value { get; set; }\n        \n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/DriveRecentRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type DriveRecentRequest.\n    /// </summary>\n    public partial class DriveRecentRequest : BaseRequest, IDriveRecentRequest\n    {\n        /// <summary>\n        /// Constructs a new DriveRecentRequest.\n        /// </summary>\n        public DriveRecentRequest(\n            string requestUrl,\n            IBaseClient client,\n            IEnumerable<Option> options)\n            : base(requestUrl, client, options)\n        {\n            this.Method = \"GET\";\n        }\n\n        /// <summary>\n        /// Issues the GET request.\n        /// </summary>\n        public System.Threading.Tasks.Task<IDriveRecentCollectionPage> GetAsync()\n        {\n            return this.GetAsync(CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Issues the GET request.\n        /// </summary>\n        /// <param name=\"\"cancellationToken\"\">The <see cref=\"\"CancellationToken\"\"/> for the request.</param>\n        /// <returns>The task to await for async call.</returns>\n        public async System.Threading.Tasks.Task<IDriveRecentCollectionPage> GetAsync(\n            CancellationToken cancellationToken)\n        {\n            var response = await this.SendAsync<DriveRecentCollectionResponse>(null, cancellationToken).ConfigureAwait(false);\n            if (response != null && response.Value != null && response.Value.CurrentPage != null)\n            {\n                if (response.AdditionalData != null)\n                {\n                    response.Value.AdditionalData = response.AdditionalData;\n\n                    object nextPageLink;\n                    response.AdditionalData.TryGetValue(\"@odata.nextLink\", out nextPageLink);\n\n                    var nextPageLinkString = nextPageLink as string;\n\n                    if (!string.IsNullOrEmpty(nextPageLinkString))\n                    {\n                        response.Value.InitializeNextPageRequest(\n                            this.Client,\n                            nextPageLinkString);\n                    }\n                }\n\n                return response.Value;\n            }\n\n            return null;\n        }\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        public IDriveRecentRequest Expand(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$expand\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        public IDriveRecentRequest Select(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$select\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified top value to the request.\n        /// </summary>\n        /// <param name=\"value\">The top value.</param>\n        /// <returns>The request object to send.</returns>\n        public IDriveRecentRequest Top(int value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$top\", value.ToString()));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified filter value to the request.\n        /// </summary>\n        /// <param name=\"value\">The filter value.</param>\n        /// <returns>The request object to send.</returns>\n        public IDriveRecentRequest Filter(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$filter\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified skip value to the request.\n        /// </summary>\n        /// <param name=\"value\">The skip value.</param>\n        /// <returns>The request object to send.</returns>\n        public IDriveRecentRequest Skip(int value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$skip\", value.ToString()));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified orderby value to the request.\n        /// </summary>\n        /// <param name=\"value\">The orderby value.</param>\n        /// <returns>The request object to send.</returns>\n        public IDriveRecentRequest OrderBy(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$orderby\", value));\n            return this;\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/DriveRecentRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type DriveRecentRequestBuilder.\n    /// </summary>\n    public partial class DriveRecentRequestBuilder : BaseFunctionMethodRequestBuilder<IDriveRecentRequest>, IDriveRecentRequestBuilder\n    {\n        /// <summary>\n        /// Constructs a new <see cref=\"DriveRecentRequestBuilder\"/>.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        public DriveRecentRequestBuilder(\n            string requestUrl,\n            IBaseClient client)\n            : base(requestUrl, client)\n        {\n            this.passParametersInQueryString = true;\n        }\n\n        /// <summary>\n        /// A method used by the base class to construct a request class instance.\n        /// </summary>\n        /// <param name=\"functionUrl\">The request URL to </param>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>An instance of a specific request class.</returns>\n        protected override IDriveRecentRequest CreateRequest(string functionUrl, IEnumerable<Option> options)\n        {\n            var request = new DriveRecentRequest(functionUrl, this.Client, options);\n\n            return request;\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/DriveRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type DriveRequest.\n    /// </summary>\n    public partial class DriveRequest : BaseRequest, IDriveRequest\n    {\n        /// <summary>\n        /// Constructs a new DriveRequest.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the built request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        /// <param name=\"options\">Query and header option name value pairs for the request.</param>\n        public DriveRequest(\n            string requestUrl,\n            IBaseClient client,\n            IEnumerable<Option> options)\n            : base(requestUrl, client, options)\n        {\n            this.SdkVersionHeaderPrefix = \"onedrive\";\n        }\n\n        /// <summary>\n        /// Creates the specified Drive using PUT.\n        /// </summary>\n        /// <param name=\"driveToCreate\">The Drive to create.</param>\n        /// <returns>The created Drive.</returns>\n        public System.Threading.Tasks.Task<Drive> CreateAsync(Drive driveToCreate)\n        {\n            return this.CreateAsync(driveToCreate, CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Creates the specified Drive using PUT.\n        /// </summary>\n        /// <param name=\"driveToCreate\">The Drive to create.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The created Drive.</returns>\n        public async System.Threading.Tasks.Task<Drive> CreateAsync(Drive driveToCreate, CancellationToken cancellationToken)\n        {\n            this.ContentType = \"application/json\";\n            this.Method = \"PUT\";\n            var newEntity = await this.SendAsync<Drive>(driveToCreate, cancellationToken).ConfigureAwait(false);\n            this.InitializeCollectionProperties(newEntity);\n            return newEntity;\n        }\n\n        /// <summary>\n        /// Deletes the specified Drive.\n        /// </summary>\n        /// <returns>The task to await.</returns>\n        public System.Threading.Tasks.Task DeleteAsync()\n        {\n            return this.DeleteAsync(CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Deletes the specified Drive.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The task to await.</returns>\n        public async System.Threading.Tasks.Task DeleteAsync(CancellationToken cancellationToken)\n        {\n            this.Method = \"DELETE\";\n            await this.SendAsync<Drive>(null, cancellationToken).ConfigureAwait(false);\n        }\n\n        /// <summary>\n        /// Gets the specified Drive.\n        /// </summary>\n        /// <returns>The Drive.</returns>\n        public System.Threading.Tasks.Task<Drive> GetAsync()\n        {\n            return this.GetAsync(CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Gets the specified Drive.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The Drive.</returns>\n        public async System.Threading.Tasks.Task<Drive> GetAsync(CancellationToken cancellationToken)\n        {\n            this.Method = \"GET\";\n            var retrievedEntity = await this.SendAsync<Drive>(null, cancellationToken).ConfigureAwait(false);\n            this.InitializeCollectionProperties(retrievedEntity);\n            return retrievedEntity;\n        }\n\n        /// <summary>\n        /// Updates the specified Drive using PATCH.\n        /// </summary>\n        /// <param name=\"driveToUpdate\">The Drive to update.</param>\n        /// <returns>The updated Drive.</returns>\n        public System.Threading.Tasks.Task<Drive> UpdateAsync(Drive driveToUpdate)\n        {\n            return this.UpdateAsync(driveToUpdate, CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Updates the specified Drive using PATCH.\n        /// </summary>\n        /// <param name=\"driveToUpdate\">The Drive to update.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The updated Drive.</returns>\n        public async System.Threading.Tasks.Task<Drive> UpdateAsync(Drive driveToUpdate, CancellationToken cancellationToken)\n        {\n            this.ContentType = \"application/json\";\n            this.Method = \"PATCH\";\n            var updatedEntity = await this.SendAsync<Drive>(driveToUpdate, cancellationToken).ConfigureAwait(false);\n            this.InitializeCollectionProperties(updatedEntity);\n            return updatedEntity;\n        }\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        public IDriveRequest Expand(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$expand\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        public IDriveRequest Select(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$select\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Initializes any collection properties after deserialization, like next requests for paging.\n        /// </summary>\n        /// <param name=\"driveToInitialize\">The <see cref=\"Drive\"/> with the collection properties to initialize.</param>\n        private void InitializeCollectionProperties(Drive driveToInitialize)\n        {\n\n            if (driveToInitialize != null && driveToInitialize.AdditionalData != null)\n            {\n\n                if (driveToInitialize.Items != null && driveToInitialize.Items.CurrentPage != null)\n                {\n                    driveToInitialize.Items.AdditionalData = driveToInitialize.AdditionalData;\n\n                    object nextPageLink;\n                    driveToInitialize.AdditionalData.TryGetValue(\"items@odata.nextLink\", out nextPageLink);\n                    var nextPageLinkString = nextPageLink as string;\n\n                    if (!string.IsNullOrEmpty(nextPageLinkString))\n                    {\n                        driveToInitialize.Items.InitializeNextPageRequest(\n                            this.Client,\n                            nextPageLinkString);\n                    }\n                }\n\n                if (driveToInitialize.Shared != null && driveToInitialize.Shared.CurrentPage != null)\n                {\n                    driveToInitialize.Shared.AdditionalData = driveToInitialize.AdditionalData;\n\n                    object nextPageLink;\n                    driveToInitialize.AdditionalData.TryGetValue(\"shared@odata.nextLink\", out nextPageLink);\n                    var nextPageLinkString = nextPageLink as string;\n\n                    if (!string.IsNullOrEmpty(nextPageLinkString))\n                    {\n                        driveToInitialize.Shared.InitializeNextPageRequest(\n                            this.Client,\n                            nextPageLinkString);\n                    }\n                }\n\n                if (driveToInitialize.Special != null && driveToInitialize.Special.CurrentPage != null)\n                {\n                    driveToInitialize.Special.AdditionalData = driveToInitialize.AdditionalData;\n\n                    object nextPageLink;\n                    driveToInitialize.AdditionalData.TryGetValue(\"special@odata.nextLink\", out nextPageLink);\n                    var nextPageLinkString = nextPageLink as string;\n\n                    if (!string.IsNullOrEmpty(nextPageLinkString))\n                    {\n                        driveToInitialize.Special.InitializeNextPageRequest(\n                            this.Client,\n                            nextPageLinkString);\n                    }\n                }\n\n            }\n\n\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/DriveRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type DriveRequestBuilder.\n    /// </summary>\n    public partial class DriveRequestBuilder : BaseRequestBuilder, IDriveRequestBuilder\n    {\n\n        /// <summary>\n        /// Constructs a new DriveRequestBuilder.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the built request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        public DriveRequestBuilder(\n            string requestUrl,\n            IBaseClient client)\n            : base(requestUrl, client)\n        {\n        }\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <returns>The built request.</returns>\n        public IDriveRequest Request()\n        {\n            return this.Request(null);\n        }\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        public IDriveRequest Request(IEnumerable<Option> options)\n        {\n            return new DriveRequest(this.RequestUrl, this.Client, options);\n        }\n    \n        /// <summary>\n        /// Gets the request builder for Items.\n        /// </summary>\n        /// <returns>The <see cref=\"IDriveItemsCollectionRequestBuilder\"/>.</returns>\n        public IDriveItemsCollectionRequestBuilder Items\n        {\n            get\n            {\n                return new DriveItemsCollectionRequestBuilder(this.AppendSegmentToRequestUrl(\"items\"), this.Client);\n            }\n        }\n\n        /// <summary>\n        /// Gets the request builder for Shared.\n        /// </summary>\n        /// <returns>The <see cref=\"IDriveSharedCollectionRequestBuilder\"/>.</returns>\n        public IDriveSharedCollectionRequestBuilder Shared\n        {\n            get\n            {\n                return new DriveSharedCollectionRequestBuilder(this.AppendSegmentToRequestUrl(\"shared\"), this.Client);\n            }\n        }\n\n        /// <summary>\n        /// Gets the request builder for Special.\n        /// </summary>\n        /// <returns>The <see cref=\"IDriveSpecialCollectionRequestBuilder\"/>.</returns>\n        public IDriveSpecialCollectionRequestBuilder Special\n        {\n            get\n            {\n                return new DriveSpecialCollectionRequestBuilder(this.AppendSegmentToRequestUrl(\"special\"), this.Client);\n            }\n        }\n    \n        /// <summary>\n        /// Gets the request builder for DriveRecent.\n        /// </summary>\n        /// <returns>The <see cref=\"IDriveRecentRequestBuilder\"/>.</returns>\n        public IDriveRecentRequestBuilder Recent()\n        {\n            return new DriveRecentRequestBuilder(\n                this.AppendSegmentToRequestUrl(\"oneDrive.recent\"),\n                this.Client);\n        }\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/DriveSharedCollectionPage.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type DriveSharedCollectionPage.\n    /// </summary>\n    public partial class DriveSharedCollectionPage : CollectionPage<Item>, IDriveSharedCollectionPage\n    {\n        /// <summary>\n        /// Gets the next page <see cref=\"IDriveSharedCollectionRequest\"/> instance.\n        /// </summary>\n        public IDriveSharedCollectionRequest NextPageRequest { get; private set; }\n\n        /// <summary>\n        /// Initializes the NextPageRequest property.\n        /// </summary>\n        public void InitializeNextPageRequest(IBaseClient client, string nextPageLinkString)\n        {\n            if (!string.IsNullOrEmpty(nextPageLinkString))\n            {\n                this.NextPageRequest = new DriveSharedCollectionRequest(\n                    nextPageLinkString,\n                    client,\n                    null);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/DriveSharedCollectionRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type DriveSharedCollectionRequest.\n    /// </summary>\n    public partial class DriveSharedCollectionRequest : BaseRequest, IDriveSharedCollectionRequest\n    {\n        /// <summary>\n        /// Constructs a new DriveSharedCollectionRequest.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the built request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        /// <param name=\"options\">Query and header option name value pairs for the request.</param>\n        public DriveSharedCollectionRequest(\n            string requestUrl,\n            IBaseClient client,\n            IEnumerable<Option> options)\n            : base(requestUrl, client, options)\n        {\n            this.SdkVersionHeaderPrefix = \"onedrive\";\n        }\n        \n        /// <summary>\n        /// Adds the specified Item to the collection via POST.\n        /// </summary>\n        /// <param name=\"item\">The Item to add.</param>\n        /// <returns>The created Item.</returns>\n        public System.Threading.Tasks.Task<Item> AddAsync(Item item)\n        {\n            return this.AddAsync(item, CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Adds the specified Item to the collection via POST.\n        /// </summary>\n        /// <param name=\"item\">The Item to add.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The created Item.</returns>\n        public System.Threading.Tasks.Task<Item> AddAsync(Item item, CancellationToken cancellationToken)\n        {\n            this.ContentType = \"application/json\";\n            this.Method = \"POST\";\n            return this.SendAsync<Item>(item, cancellationToken);\n        }\n\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <returns>The collection page.</returns>\n        public System.Threading.Tasks.Task<IDriveSharedCollectionPage> GetAsync()\n        {\n            return this.GetAsync(CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The collection page.</returns>\n        public async System.Threading.Tasks.Task<IDriveSharedCollectionPage> GetAsync(CancellationToken cancellationToken)\n        {\n            this.Method = \"GET\";\n            var response = await this.SendAsync<DriveSharedCollectionResponse>(null, cancellationToken).ConfigureAwait(false);\n            if (response != null && response.Value != null && response.Value.CurrentPage != null)\n            {\n                if (response.AdditionalData != null)\n                {\n                    object nextPageLink;\n                    response.AdditionalData.TryGetValue(\"@odata.nextLink\", out nextPageLink);\n\n                    var nextPageLinkString = nextPageLink as string;\n\n                    if (!string.IsNullOrEmpty(nextPageLinkString))\n                    {\n                        response.Value.InitializeNextPageRequest(\n                            this.Client,\n                            nextPageLinkString);\n                    }\n\n                    // Copy the additional data collection to the page itself so that information is not lost\n                    response.Value.AdditionalData = response.AdditionalData;\n                }\n\n                return response.Value;\n            }\n\n            return null;\n        }\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        public IDriveSharedCollectionRequest Expand(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$expand\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        public IDriveSharedCollectionRequest Select(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$select\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified top value to the request.\n        /// </summary>\n        /// <param name=\"value\">The top value.</param>\n        /// <returns>The request object to send.</returns>\n        public IDriveSharedCollectionRequest Top(int value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$top\", value.ToString()));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified filter value to the request.\n        /// </summary>\n        /// <param name=\"value\">The filter value.</param>\n        /// <returns>The request object to send.</returns>\n        public IDriveSharedCollectionRequest Filter(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$filter\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified skip value to the request.\n        /// </summary>\n        /// <param name=\"value\">The skip value.</param>\n        /// <returns>The request object to send.</returns>\n        public IDriveSharedCollectionRequest Skip(int value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$skip\", value.ToString()));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified orderby value to the request.\n        /// </summary>\n        /// <param name=\"value\">The orderby value.</param>\n        /// <returns>The request object to send.</returns>\n        public IDriveSharedCollectionRequest OrderBy(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$orderby\", value));\n            return this;\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/DriveSharedCollectionRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type DriveSharedCollectionRequestBuilder.\n    /// </summary>\n    public partial class DriveSharedCollectionRequestBuilder : BaseRequestBuilder, IDriveSharedCollectionRequestBuilder\n    {\n        /// <summary>\n        /// Constructs a new DriveSharedCollectionRequestBuilder.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the built request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        public DriveSharedCollectionRequestBuilder(\n            string requestUrl,\n            IBaseClient client)\n            : base(requestUrl, client)\n        {\n        }\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <returns>The built request.</returns>\n        public IDriveSharedCollectionRequest Request()\n        {\n            return this.Request(null);\n        }\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        public IDriveSharedCollectionRequest Request(IEnumerable<Option> options)\n        {\n            return new DriveSharedCollectionRequest(this.RequestUrl, this.Client, options);\n        }\n\n        /// <summary>\n        /// Gets an <see cref=\"IItemRequestBuilder\"/> for the specified DriveItem.\n        /// </summary>\n        /// <param name=\"id\">The ID for the DriveItem.</param>\n        /// <returns>The <see cref=\"IItemRequestBuilder\"/>.</returns>\n        public IItemRequestBuilder this[string id]\n        {\n            get\n            {\n                return new ItemRequestBuilder(this.AppendSegmentToRequestUrl(id), this.Client);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/DriveSharedCollectionResponse.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System.Collections.Generic;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type DriveSharedCollectionResponse.\n    /// </summary>\n    [DataContract]\n    public class DriveSharedCollectionResponse\n    {\n        /// <summary>\n        /// Gets or sets the <see cref=\"IDriveSharedCollectionPage\"/> value.\n        /// </summary>\n        [DataMember(Name = \"value\", EmitDefaultValue = false, IsRequired = false)]\n        public IDriveSharedCollectionPage Value { get; set; }\n\n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/DriveSpecialCollectionPage.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type DriveSpecialCollectionPage.\n    /// </summary>\n    public partial class DriveSpecialCollectionPage : CollectionPage<Item>, IDriveSpecialCollectionPage\n    {\n        /// <summary>\n        /// Gets the next page <see cref=\"IDriveSpecialCollectionRequest\"/> instance.\n        /// </summary>\n        public IDriveSpecialCollectionRequest NextPageRequest { get; private set; }\n\n        /// <summary>\n        /// Initializes the NextPageRequest property.\n        /// </summary>\n        public void InitializeNextPageRequest(IBaseClient client, string nextPageLinkString)\n        {\n            if (!string.IsNullOrEmpty(nextPageLinkString))\n            {\n                this.NextPageRequest = new DriveSpecialCollectionRequest(\n                    nextPageLinkString,\n                    client,\n                    null);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/DriveSpecialCollectionRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type DriveSpecialCollectionRequest.\n    /// </summary>\n    public partial class DriveSpecialCollectionRequest : BaseRequest, IDriveSpecialCollectionRequest\n    {\n        /// <summary>\n        /// Constructs a new DriveSpecialCollectionRequest.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the built request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        /// <param name=\"options\">Query and header option name value pairs for the request.</param>\n        public DriveSpecialCollectionRequest(\n            string requestUrl,\n            IBaseClient client,\n            IEnumerable<Option> options)\n            : base(requestUrl, client, options)\n        {\n            this.SdkVersionHeaderPrefix = \"onedrive\";\n        }\n        \n        /// <summary>\n        /// Adds the specified Item to the collection via POST.\n        /// </summary>\n        /// <param name=\"item\">The Item to add.</param>\n        /// <returns>The created Item.</returns>\n        public System.Threading.Tasks.Task<Item> AddAsync(Item item)\n        {\n            return this.AddAsync(item, CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Adds the specified Item to the collection via POST.\n        /// </summary>\n        /// <param name=\"item\">The Item to add.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The created Item.</returns>\n        public System.Threading.Tasks.Task<Item> AddAsync(Item item, CancellationToken cancellationToken)\n        {\n            this.ContentType = \"application/json\";\n            this.Method = \"POST\";\n            return this.SendAsync<Item>(item, cancellationToken);\n        }\n\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <returns>The collection page.</returns>\n        public System.Threading.Tasks.Task<IDriveSpecialCollectionPage> GetAsync()\n        {\n            return this.GetAsync(CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The collection page.</returns>\n        public async System.Threading.Tasks.Task<IDriveSpecialCollectionPage> GetAsync(CancellationToken cancellationToken)\n        {\n            this.Method = \"GET\";\n            var response = await this.SendAsync<DriveSpecialCollectionResponse>(null, cancellationToken).ConfigureAwait(false);\n            if (response != null && response.Value != null && response.Value.CurrentPage != null)\n            {\n                if (response.AdditionalData != null)\n                {\n                    object nextPageLink;\n                    response.AdditionalData.TryGetValue(\"@odata.nextLink\", out nextPageLink);\n\n                    var nextPageLinkString = nextPageLink as string;\n\n                    if (!string.IsNullOrEmpty(nextPageLinkString))\n                    {\n                        response.Value.InitializeNextPageRequest(\n                            this.Client,\n                            nextPageLinkString);\n                    }\n\n                    // Copy the additional data collection to the page itself so that information is not lost\n                    response.Value.AdditionalData = response.AdditionalData;\n                }\n\n                return response.Value;\n            }\n\n            return null;\n        }\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        public IDriveSpecialCollectionRequest Expand(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$expand\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        public IDriveSpecialCollectionRequest Select(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$select\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified top value to the request.\n        /// </summary>\n        /// <param name=\"value\">The top value.</param>\n        /// <returns>The request object to send.</returns>\n        public IDriveSpecialCollectionRequest Top(int value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$top\", value.ToString()));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified filter value to the request.\n        /// </summary>\n        /// <param name=\"value\">The filter value.</param>\n        /// <returns>The request object to send.</returns>\n        public IDriveSpecialCollectionRequest Filter(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$filter\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified skip value to the request.\n        /// </summary>\n        /// <param name=\"value\">The skip value.</param>\n        /// <returns>The request object to send.</returns>\n        public IDriveSpecialCollectionRequest Skip(int value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$skip\", value.ToString()));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified orderby value to the request.\n        /// </summary>\n        /// <param name=\"value\">The orderby value.</param>\n        /// <returns>The request object to send.</returns>\n        public IDriveSpecialCollectionRequest OrderBy(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$orderby\", value));\n            return this;\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/DriveSpecialCollectionRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type DriveSpecialCollectionRequestBuilder.\n    /// </summary>\n    public partial class DriveSpecialCollectionRequestBuilder : BaseRequestBuilder, IDriveSpecialCollectionRequestBuilder\n    {\n        /// <summary>\n        /// Constructs a new DriveSpecialCollectionRequestBuilder.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the built request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        public DriveSpecialCollectionRequestBuilder(\n            string requestUrl,\n            IBaseClient client)\n            : base(requestUrl, client)\n        {\n        }\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <returns>The built request.</returns>\n        public IDriveSpecialCollectionRequest Request()\n        {\n            return this.Request(null);\n        }\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        public IDriveSpecialCollectionRequest Request(IEnumerable<Option> options)\n        {\n            return new DriveSpecialCollectionRequest(this.RequestUrl, this.Client, options);\n        }\n\n        /// <summary>\n        /// Gets an <see cref=\"IItemRequestBuilder\"/> for the specified DriveItem.\n        /// </summary>\n        /// <param name=\"id\">The ID for the DriveItem.</param>\n        /// <returns>The <see cref=\"IItemRequestBuilder\"/>.</returns>\n        public IItemRequestBuilder this[string id]\n        {\n            get\n            {\n                return new ItemRequestBuilder(this.AppendSegmentToRequestUrl(id), this.Client);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/DriveSpecialCollectionResponse.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System.Collections.Generic;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type DriveSpecialCollectionResponse.\n    /// </summary>\n    [DataContract]\n    public class DriveSpecialCollectionResponse\n    {\n        /// <summary>\n        /// Gets or sets the <see cref=\"IDriveSpecialCollectionPage\"/> value.\n        /// </summary>\n        [DataMember(Name = \"value\", EmitDefaultValue = false, IsRequired = false)]\n        public IDriveSpecialCollectionPage Value { get; set; }\n\n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IDriveItemsCollectionPage.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The interface IDriveItemsCollectionPage.\n    /// </summary>\n    [JsonConverter(typeof(InterfaceConverter<DriveItemsCollectionPage>))]\n    public interface IDriveItemsCollectionPage : ICollectionPage<Item>\n    {\n        /// <summary>\n        /// Gets the next page <see cref=\"IDriveItemsCollectionRequest\"/> instance.\n        /// </summary>\n        IDriveItemsCollectionRequest NextPageRequest { get; }\n\n        /// <summary>\n        /// Initializes the NextPageRequest property.\n        /// </summary>\n        void InitializeNextPageRequest(IBaseClient client, string nextPageLinkString);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IDriveItemsCollectionRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IDriveItemsCollectionRequest.\n    /// </summary>\n    public partial interface IDriveItemsCollectionRequest : IBaseRequest\n    {\n        \n        /// <summary>\n        /// Adds the specified Item to the collection via POST.\n        /// </summary>\n        /// <param name=\"item\">The Item to add.</param>\n        /// <returns>The created Item.</returns>\n        System.Threading.Tasks.Task<Item> AddAsync(Item item);\n\n        /// <summary>\n        /// Adds the specified Item to the collection via POST.\n        /// </summary>\n        /// <param name=\"item\">The Item to add.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The created Item.</returns>\n        System.Threading.Tasks.Task<Item> AddAsync(Item item, CancellationToken cancellationToken);\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <returns>The collection page.</returns>\n        System.Threading.Tasks.Task<IDriveItemsCollectionPage> GetAsync();\n\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The collection page.</returns>\n        System.Threading.Tasks.Task<IDriveItemsCollectionPage> GetAsync(CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        IDriveItemsCollectionRequest Expand(string value);\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        IDriveItemsCollectionRequest Select(string value);\n\n        /// <summary>\n        /// Adds the specified top value to the request.\n        /// </summary>\n        /// <param name=\"value\">The top value.</param>\n        /// <returns>The request object to send.</returns>\n        IDriveItemsCollectionRequest Top(int value);\n\n        /// <summary>\n        /// Adds the specified filter value to the request.\n        /// </summary>\n        /// <param name=\"value\">The filter value.</param>\n        /// <returns>The request object to send.</returns>\n        IDriveItemsCollectionRequest Filter(string value);\n\n        /// <summary>\n        /// Adds the specified skip value to the request.\n        /// </summary>\n        /// <param name=\"value\">The skip value.</param>\n        /// <returns>The request object to send.</returns>\n        IDriveItemsCollectionRequest Skip(int value);\n\n        /// <summary>\n        /// Adds the specified orderby value to the request.\n        /// </summary>\n        /// <param name=\"value\">The orderby value.</param>\n        /// <returns>The request object to send.</returns>\n        IDriveItemsCollectionRequest OrderBy(string value);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IDriveItemsCollectionRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IDriveItemsCollectionRequestBuilder.\n    /// </summary>\n    public partial interface IDriveItemsCollectionRequestBuilder\n    {\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <returns>The built request.</returns>\n        IDriveItemsCollectionRequest Request();\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        IDriveItemsCollectionRequest Request(IEnumerable<Option> options);\n\n        /// <summary>\n        /// Gets an <see cref=\"IItemRequestBuilder\"/> for the specified Item.\n        /// </summary>\n        /// <param name=\"id\">The ID for the Item.</param>\n        /// <returns>The <see cref=\"IItemRequestBuilder\"/>.</returns>\n        IItemRequestBuilder this[string id] { get; }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IDriveRecentCollectionPage.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The interface IDriveRecentCollectionPage.\n    /// </summary>\n    [JsonConverter(typeof(InterfaceConverter<DriveRecentCollectionPage>))]\n    public interface IDriveRecentCollectionPage : ICollectionPage<Item>\n    {\n        /// <summary>\n        /// Gets the next page <see cref=\"IDriveRecentRequest\"/> instance.\n        /// </summary>\n        IDriveRecentRequest NextPageRequest { get; }\n\n        /// <summary>\n        /// Initializes the NextPageRequest property.\n        /// </summary>\n        void InitializeNextPageRequest(IBaseClient client, string nextPageLinkString);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IDriveRecentRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IDriveRecentRequest.\n    /// </summary>\n    public partial interface IDriveRecentRequest : IBaseRequest\n    {\n\n        /// <summary>\n        /// Issues the GET request.\n        /// </summary>\n        System.Threading.Tasks.Task<IDriveRecentCollectionPage> GetAsync();\n\n        /// <summary>\n        /// Issues the GET request.\n        /// </summary>\n        /// /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>TheIDriveRecentCollectionPage</returns>\n        System.Threading.Tasks.Task<IDriveRecentCollectionPage> GetAsync(CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        IDriveRecentRequest Expand(string value);\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        IDriveRecentRequest Select(string value);\n\n        /// <summary>\n        /// Adds the specified top value to the request.\n        /// </summary>\n        /// <param name=\"value\">The top value.</param>\n        /// <returns>The request object to send.</returns>\n        IDriveRecentRequest Top(int value);\n\n        /// <summary>\n        /// Adds the specified filter value to the request.\n        /// </summary>\n        /// <param name=\"value\">The filter value.</param>\n        /// <returns>The request object to send.</returns>\n        IDriveRecentRequest Filter(string value);\n\n        /// <summary>\n        /// Adds the specified skip value to the request.\n        /// </summary>\n        /// <param name=\"value\">The skip value.</param>\n        /// <returns>The request object to send.</returns>\n        IDriveRecentRequest Skip(int value);\n\n        /// <summary>\n        /// Adds the specified orderby value to the request.\n        /// </summary>\n        /// <param name=\"value\">The orderby value.</param>\n        /// <returns>The request object to send.</returns>\n        IDriveRecentRequest OrderBy(string value);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IDriveRecentRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IDriveRecentRequestBuilder.\n    /// </summary>\n    public partial interface IDriveRecentRequestBuilder\n    {\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        IDriveRecentRequest Request(IEnumerable<Option> options = null);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IDriveRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.IO;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IDriveRequest.\n    /// </summary>\n    public partial interface IDriveRequest : IBaseRequest\n    {\n        /// <summary>\n        /// Creates the specified Drive using PUT.\n        /// </summary>\n        /// <param name=\"driveToCreate\">The Drive to create.</param>\n        /// <returns>The created Drive.</returns>\n        System.Threading.Tasks.Task<Drive> CreateAsync(Drive driveToCreate);        /// <summary>\n        /// Creates the specified Drive using PUT.\n        /// </summary>\n        /// <param name=\"driveToCreate\">The Drive to create.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The created Drive.</returns>\n        System.Threading.Tasks.Task<Drive> CreateAsync(Drive driveToCreate, CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Deletes the specified Drive.\n        /// </summary>\n        /// <returns>The task to await.</returns>\n        System.Threading.Tasks.Task DeleteAsync();\n\n        /// <summary>\n        /// Deletes the specified Drive.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The task to await.</returns>\n        System.Threading.Tasks.Task DeleteAsync(CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Gets the specified Drive.\n        /// </summary>\n        /// <returns>The Drive.</returns>\n        System.Threading.Tasks.Task<Drive> GetAsync();\n\n        /// <summary>\n        /// Gets the specified Drive.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The Drive.</returns>\n        System.Threading.Tasks.Task<Drive> GetAsync(CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Updates the specified Drive using PATCH.\n        /// </summary>\n        /// <param name=\"driveToUpdate\">The Drive to update.</param>\n        /// <returns>The updated Drive.</returns>\n        System.Threading.Tasks.Task<Drive> UpdateAsync(Drive driveToUpdate);\n\n        /// <summary>\n        /// Updates the specified Drive using PATCH.\n        /// </summary>\n        /// <param name=\"driveToUpdate\">The Drive to update.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The updated Drive.</returns>\n        System.Threading.Tasks.Task<Drive> UpdateAsync(Drive driveToUpdate, CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        IDriveRequest Expand(string value);\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        IDriveRequest Select(string value);\n\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IDriveRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IDriveRequestBuilder.\n    /// </summary>\n    public partial interface IDriveRequestBuilder : IBaseRequestBuilder\n    {\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <returns>The built request.</returns>\n        IDriveRequest Request();\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        IDriveRequest Request(IEnumerable<Option> options);\n    \n        /// <summary>\n        /// Gets the request builder for Items.\n        /// </summary>\n        /// <returns>The <see cref=\"IDriveItemsCollectionRequestBuilder\"/>.</returns>\n        IDriveItemsCollectionRequestBuilder Items { get; }\n\n        /// <summary>\n        /// Gets the request builder for Shared.\n        /// </summary>\n        /// <returns>The <see cref=\"IDriveSharedCollectionRequestBuilder\"/>.</returns>\n        IDriveSharedCollectionRequestBuilder Shared { get; }\n\n        /// <summary>\n        /// Gets the request builder for Special.\n        /// </summary>\n        /// <returns>The <see cref=\"IDriveSpecialCollectionRequestBuilder\"/>.</returns>\n        IDriveSpecialCollectionRequestBuilder Special { get; }\n    \n        /// <summary>\n        /// Gets the request builder for DriveRecent.\n        /// </summary>\n        /// <returns>The <see cref=\"IDriveRecentRequestBuilder\"/>.</returns>\n        IDriveRecentRequestBuilder Recent();\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IDriveSharedCollectionPage.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The interface IDriveSharedCollectionPage.\n    /// </summary>\n    [JsonConverter(typeof(InterfaceConverter<DriveSharedCollectionPage>))]\n    public interface IDriveSharedCollectionPage : ICollectionPage<Item>\n    {\n        /// <summary>\n        /// Gets the next page <see cref=\"IDriveSharedCollectionRequest\"/> instance.\n        /// </summary>\n        IDriveSharedCollectionRequest NextPageRequest { get; }\n\n        /// <summary>\n        /// Initializes the NextPageRequest property.\n        /// </summary>\n        void InitializeNextPageRequest(IBaseClient client, string nextPageLinkString);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IDriveSharedCollectionRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IDriveSharedCollectionRequest.\n    /// </summary>\n    public partial interface IDriveSharedCollectionRequest : IBaseRequest\n    {\n        \n        /// <summary>\n        /// Adds the specified Item to the collection via POST.\n        /// </summary>\n        /// <param name=\"item\">The Item to add.</param>\n        /// <returns>The created Item.</returns>\n        System.Threading.Tasks.Task<Item> AddAsync(Item item);\n\n        /// <summary>\n        /// Adds the specified Item to the collection via POST.\n        /// </summary>\n        /// <param name=\"item\">The Item to add.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The created Item.</returns>\n        System.Threading.Tasks.Task<Item> AddAsync(Item item, CancellationToken cancellationToken);\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <returns>The collection page.</returns>\n        System.Threading.Tasks.Task<IDriveSharedCollectionPage> GetAsync();\n\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The collection page.</returns>\n        System.Threading.Tasks.Task<IDriveSharedCollectionPage> GetAsync(CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        IDriveSharedCollectionRequest Expand(string value);\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        IDriveSharedCollectionRequest Select(string value);\n\n        /// <summary>\n        /// Adds the specified top value to the request.\n        /// </summary>\n        /// <param name=\"value\">The top value.</param>\n        /// <returns>The request object to send.</returns>\n        IDriveSharedCollectionRequest Top(int value);\n\n        /// <summary>\n        /// Adds the specified filter value to the request.\n        /// </summary>\n        /// <param name=\"value\">The filter value.</param>\n        /// <returns>The request object to send.</returns>\n        IDriveSharedCollectionRequest Filter(string value);\n\n        /// <summary>\n        /// Adds the specified skip value to the request.\n        /// </summary>\n        /// <param name=\"value\">The skip value.</param>\n        /// <returns>The request object to send.</returns>\n        IDriveSharedCollectionRequest Skip(int value);\n\n        /// <summary>\n        /// Adds the specified orderby value to the request.\n        /// </summary>\n        /// <param name=\"value\">The orderby value.</param>\n        /// <returns>The request object to send.</returns>\n        IDriveSharedCollectionRequest OrderBy(string value);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IDriveSharedCollectionRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IDriveSharedCollectionRequestBuilder.\n    /// </summary>\n    public partial interface IDriveSharedCollectionRequestBuilder\n    {\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <returns>The built request.</returns>\n        IDriveSharedCollectionRequest Request();\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        IDriveSharedCollectionRequest Request(IEnumerable<Option> options);\n\n        /// <summary>\n        /// Gets an <see cref=\"IItemRequestBuilder\"/> for the specified Item.\n        /// </summary>\n        /// <param name=\"id\">The ID for the Item.</param>\n        /// <returns>The <see cref=\"IItemRequestBuilder\"/>.</returns>\n        IItemRequestBuilder this[string id] { get; }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IDriveSpecialCollectionPage.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The interface IDriveSpecialCollectionPage.\n    /// </summary>\n    [JsonConverter(typeof(InterfaceConverter<DriveSpecialCollectionPage>))]\n    public interface IDriveSpecialCollectionPage : ICollectionPage<Item>\n    {\n        /// <summary>\n        /// Gets the next page <see cref=\"IDriveSpecialCollectionRequest\"/> instance.\n        /// </summary>\n        IDriveSpecialCollectionRequest NextPageRequest { get; }\n\n        /// <summary>\n        /// Initializes the NextPageRequest property.\n        /// </summary>\n        void InitializeNextPageRequest(IBaseClient client, string nextPageLinkString);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IDriveSpecialCollectionRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IDriveSpecialCollectionRequest.\n    /// </summary>\n    public partial interface IDriveSpecialCollectionRequest : IBaseRequest\n    {\n        \n        /// <summary>\n        /// Adds the specified Item to the collection via POST.\n        /// </summary>\n        /// <param name=\"item\">The Item to add.</param>\n        /// <returns>The created Item.</returns>\n        System.Threading.Tasks.Task<Item> AddAsync(Item item);\n\n        /// <summary>\n        /// Adds the specified Item to the collection via POST.\n        /// </summary>\n        /// <param name=\"item\">The Item to add.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The created Item.</returns>\n        System.Threading.Tasks.Task<Item> AddAsync(Item item, CancellationToken cancellationToken);\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <returns>The collection page.</returns>\n        System.Threading.Tasks.Task<IDriveSpecialCollectionPage> GetAsync();\n\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The collection page.</returns>\n        System.Threading.Tasks.Task<IDriveSpecialCollectionPage> GetAsync(CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        IDriveSpecialCollectionRequest Expand(string value);\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        IDriveSpecialCollectionRequest Select(string value);\n\n        /// <summary>\n        /// Adds the specified top value to the request.\n        /// </summary>\n        /// <param name=\"value\">The top value.</param>\n        /// <returns>The request object to send.</returns>\n        IDriveSpecialCollectionRequest Top(int value);\n\n        /// <summary>\n        /// Adds the specified filter value to the request.\n        /// </summary>\n        /// <param name=\"value\">The filter value.</param>\n        /// <returns>The request object to send.</returns>\n        IDriveSpecialCollectionRequest Filter(string value);\n\n        /// <summary>\n        /// Adds the specified skip value to the request.\n        /// </summary>\n        /// <param name=\"value\">The skip value.</param>\n        /// <returns>The request object to send.</returns>\n        IDriveSpecialCollectionRequest Skip(int value);\n\n        /// <summary>\n        /// Adds the specified orderby value to the request.\n        /// </summary>\n        /// <param name=\"value\">The orderby value.</param>\n        /// <returns>The request object to send.</returns>\n        IDriveSpecialCollectionRequest OrderBy(string value);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IDriveSpecialCollectionRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IDriveSpecialCollectionRequestBuilder.\n    /// </summary>\n    public partial interface IDriveSpecialCollectionRequestBuilder\n    {\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <returns>The built request.</returns>\n        IDriveSpecialCollectionRequest Request();\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        IDriveSpecialCollectionRequest Request(IEnumerable<Option> options);\n\n        /// <summary>\n        /// Gets an <see cref=\"IItemRequestBuilder\"/> for the specified Item.\n        /// </summary>\n        /// <param name=\"id\">The ID for the Item.</param>\n        /// <returns>The <see cref=\"IItemRequestBuilder\"/>.</returns>\n        IItemRequestBuilder this[string id] { get; }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IItemChildrenCollectionPage.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The interface IItemChildrenCollectionPage.\n    /// </summary>\n    [JsonConverter(typeof(InterfaceConverter<ItemChildrenCollectionPage>))]\n    public interface IItemChildrenCollectionPage : ICollectionPage<Item>\n    {\n        /// <summary>\n        /// Gets the next page <see cref=\"IItemChildrenCollectionRequest\"/> instance.\n        /// </summary>\n        IItemChildrenCollectionRequest NextPageRequest { get; }\n\n        /// <summary>\n        /// Initializes the NextPageRequest property.\n        /// </summary>\n        void InitializeNextPageRequest(IBaseClient client, string nextPageLinkString);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IItemChildrenCollectionRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IItemChildrenCollectionRequest.\n    /// </summary>\n    public partial interface IItemChildrenCollectionRequest : IBaseRequest\n    {\n        \n        /// <summary>\n        /// Adds the specified Item to the collection via POST.\n        /// </summary>\n        /// <param name=\"item\">The Item to add.</param>\n        /// <returns>The created Item.</returns>\n        System.Threading.Tasks.Task<Item> AddAsync(Item item);\n\n        /// <summary>\n        /// Adds the specified Item to the collection via POST.\n        /// </summary>\n        /// <param name=\"item\">The Item to add.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The created Item.</returns>\n        System.Threading.Tasks.Task<Item> AddAsync(Item item, CancellationToken cancellationToken);\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <returns>The collection page.</returns>\n        System.Threading.Tasks.Task<IItemChildrenCollectionPage> GetAsync();\n\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The collection page.</returns>\n        System.Threading.Tasks.Task<IItemChildrenCollectionPage> GetAsync(CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemChildrenCollectionRequest Expand(string value);\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemChildrenCollectionRequest Select(string value);\n\n        /// <summary>\n        /// Adds the specified top value to the request.\n        /// </summary>\n        /// <param name=\"value\">The top value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemChildrenCollectionRequest Top(int value);\n\n        /// <summary>\n        /// Adds the specified filter value to the request.\n        /// </summary>\n        /// <param name=\"value\">The filter value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemChildrenCollectionRequest Filter(string value);\n\n        /// <summary>\n        /// Adds the specified skip value to the request.\n        /// </summary>\n        /// <param name=\"value\">The skip value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemChildrenCollectionRequest Skip(int value);\n\n        /// <summary>\n        /// Adds the specified orderby value to the request.\n        /// </summary>\n        /// <param name=\"value\">The orderby value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemChildrenCollectionRequest OrderBy(string value);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IItemChildrenCollectionRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IItemChildrenCollectionRequestBuilder.\n    /// </summary>\n    public partial interface IItemChildrenCollectionRequestBuilder\n    {\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <returns>The built request.</returns>\n        IItemChildrenCollectionRequest Request();\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        IItemChildrenCollectionRequest Request(IEnumerable<Option> options);\n\n        /// <summary>\n        /// Gets an <see cref=\"IItemRequestBuilder\"/> for the specified Item.\n        /// </summary>\n        /// <param name=\"id\">The ID for the Item.</param>\n        /// <returns>The <see cref=\"IItemRequestBuilder\"/>.</returns>\n        IItemRequestBuilder this[string id] { get; }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IItemContentRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IItemContentRequest.\n    /// </summary>\n    public partial interface IItemContentRequest : IBaseRequest\n    {\n        /// <summary>\n        /// Gets the stream.\n        /// </summary>\n        /// <returns>The stream.</returns>\n        System.Threading.Tasks.Task<Stream> GetAsync();\n\n        /// <summary>\n        /// Gets the stream.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <param name=\"completionOption\">The <see cref=\"HttpCompletionOption\"/> to pass to the <see cref=\"IHttpProvider\"/> on send.</param>\n        /// <returns>The stream.</returns>\n        System.Threading.Tasks.Task<Stream> GetAsync(CancellationToken cancellationToken, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead);\n\n\n        /// <summary>\n        /// PUTs the specified stream.\n        /// </summary>\n        /// <typeparam name=\"T\">The type returned by the PUT call.</typeparam>\n        /// <param name=\"content\">The stream to PUT.</param>\n        /// <returns>The object returned by the PUT call.</returns>\n        System.Threading.Tasks.Task<T> PutAsync<T>(Stream content) where T : Item;\n\n        /// <summary>\n        /// PUTs the specified stream.\n        /// </summary>\n        /// <typeparam name=\"T\">The type returned by the PUT call.</typeparam>\n        /// <param name=\"content\">The stream to PUT.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <param name=\"completionOption\">The <see cref=\"HttpCompletionOption\"/> to pass to the <see cref=\"IHttpProvider\"/> on send.</param>\n        /// <returns>The object returned by the PUT call.</returns>\n        System.Threading.Tasks.Task<T> PutAsync<T>(Stream content, CancellationToken cancellationToken, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead) where T : Item;\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IItemContentRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System.Collections.Generic;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IItemContentRequestBuilder.\n    /// </summary>\n    public partial interface IItemContentRequestBuilder\n    {\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <returns>The built request.</returns>\n        IItemContentRequest Request();\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IItemCopyRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IItemCopyRequest.\n    /// </summary>\n    public partial interface IItemCopyRequest : IBaseRequest\n    {\n\n        /// <summary>\n        /// Gets the request body.\n        /// </summary>\n        ItemCopyRequestBody RequestBody { get; }\n\n        /// <summary>\n        /// Issues the POST request.\n        /// </summary>\n        System.Threading.Tasks.Task<IAsyncMonitor<Item>> PostAsync();\n\n        /// <summary>\n        /// Issues the POST request.\n        /// </summary>\n        /// /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>TheIAsyncMonitor<Item></returns>\n        System.Threading.Tasks.Task<IAsyncMonitor<Item>> PostAsync(CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemCopyRequest Expand(string value);\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemCopyRequest Select(string value);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IItemCopyRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IItemCopyRequestBuilder.\n    /// </summary>\n    public partial interface IItemCopyRequestBuilder\n    {\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        IItemCopyRequest Request(IEnumerable<Option> options = null);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IItemCreateLinkRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IItemCreateLinkRequest.\n    /// </summary>\n    public partial interface IItemCreateLinkRequest : IBaseRequest\n    {\n\n        /// <summary>\n        /// Gets the request body.\n        /// </summary>\n        ItemCreateLinkRequestBody RequestBody { get; }\n\n        /// <summary>\n        /// Issues the POST request.\n        /// </summary>\n        System.Threading.Tasks.Task<Permission> PostAsync();\n\n        /// <summary>\n        /// Issues the POST request.\n        /// </summary>\n        /// /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>ThePermission</returns>\n        System.Threading.Tasks.Task<Permission> PostAsync(CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemCreateLinkRequest Expand(string value);\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemCreateLinkRequest Select(string value);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IItemCreateLinkRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IItemCreateLinkRequestBuilder.\n    /// </summary>\n    public partial interface IItemCreateLinkRequestBuilder\n    {\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        IItemCreateLinkRequest Request(IEnumerable<Option> options = null);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IItemCreateSessionRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IItemCreateSessionRequest.\n    /// </summary>\n    public partial interface IItemCreateSessionRequest : IBaseRequest\n    {\n\n        /// <summary>\n        /// Gets the request body.\n        /// </summary>\n        ItemCreateSessionRequestBody RequestBody { get; }\n\n        /// <summary>\n        /// Issues the POST request.\n        /// </summary>\n        System.Threading.Tasks.Task<UploadSession> PostAsync();\n\n        /// <summary>\n        /// Issues the POST request.\n        /// </summary>\n        /// /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>TheUploadSession</returns>\n        System.Threading.Tasks.Task<UploadSession> PostAsync(CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemCreateSessionRequest Expand(string value);\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemCreateSessionRequest Select(string value);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IItemCreateSessionRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IItemCreateSessionRequestBuilder.\n    /// </summary>\n    public partial interface IItemCreateSessionRequestBuilder\n    {\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        IItemCreateSessionRequest Request(IEnumerable<Option> options = null);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IItemDeltaCollectionPage.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The interface IItemDeltaCollectionPage.\n    /// </summary>\n    [JsonConverter(typeof(InterfaceConverter<ItemDeltaCollectionPage>))]\n    public interface IItemDeltaCollectionPage : ICollectionPage<Item>\n    {\n        /// <summary>\n        /// Gets the next page <see cref=\"IItemDeltaRequest\"/> instance.\n        /// </summary>\n        IItemDeltaRequest NextPageRequest { get; }\n\n        /// <summary>\n        /// Gets or sets the Token.\n        /// </summary>\n        string Token { get; set; }\n\n        /// <summary>\n        /// Gets or sets the DeltaLink.\n        /// </summary>\n        string DeltaLink { get; set; }\n\n        /// <summary>\n        /// Initializes the NextPageRequest property.\n        /// </summary>\n        void InitializeNextPageRequest(IBaseClient client, string nextPageLinkString);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IItemDeltaRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IItemDeltaRequest.\n    /// </summary>\n    public partial interface IItemDeltaRequest : IBaseRequest\n    {\n\n        /// <summary>\n        /// Issues the GET request.\n        /// </summary>\n        System.Threading.Tasks.Task<IItemDeltaCollectionPage> GetAsync();\n\n        /// <summary>\n        /// Issues the GET request.\n        /// </summary>\n        /// /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>TheIItemDeltaCollectionPage</returns>\n        System.Threading.Tasks.Task<IItemDeltaCollectionPage> GetAsync(CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemDeltaRequest Expand(string value);\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemDeltaRequest Select(string value);\n\n        /// <summary>\n        /// Adds the specified top value to the request.\n        /// </summary>\n        /// <param name=\"value\">The top value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemDeltaRequest Top(int value);\n\n        /// <summary>\n        /// Adds the specified filter value to the request.\n        /// </summary>\n        /// <param name=\"value\">The filter value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemDeltaRequest Filter(string value);\n\n        /// <summary>\n        /// Adds the specified skip value to the request.\n        /// </summary>\n        /// <param name=\"value\">The skip value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemDeltaRequest Skip(int value);\n\n        /// <summary>\n        /// Adds the specified orderby value to the request.\n        /// </summary>\n        /// <param name=\"value\">The orderby value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemDeltaRequest OrderBy(string value);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IItemDeltaRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IItemDeltaRequestBuilder.\n    /// </summary>\n    public partial interface IItemDeltaRequestBuilder\n    {\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        IItemDeltaRequest Request(IEnumerable<Option> options = null);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IItemInviteRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IItemCreateLinkRequest.\n    /// </summary>\n    public partial interface IItemInviteRequest : IBaseRequest\n    {\n\n        /// <summary>\n        /// Gets the request body.\n        /// </summary>\n        ItemInviteRequestBody RequestBody { get; }\n\n        /// <summary>\n        /// Issues the POST request.\n        /// </summary>\n        System.Threading.Tasks.Task<IItemPermissionsCollectionPage> PostAsync();\n\n        /// <summary>\n        /// Issues the POST request.\n        /// </summary>\n        /// /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>ThePermission</returns>\n        System.Threading.Tasks.Task<IItemPermissionsCollectionPage> PostAsync(CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemInviteRequest Expand(string value);\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemInviteRequest Select(string value);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IItemInviteRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IItemCreateLinkRequestBuilder.\n    /// </summary>\n    public partial interface IItemInviteRequestBuilder\n    {\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        IItemInviteRequest Request(IEnumerable<Option> options = null);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IItemPermissionsCollectionPage.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The interface IItemPermissionsCollectionPage.\n    /// </summary>\n    [JsonConverter(typeof(InterfaceConverter<ItemPermissionsCollectionPage>))]\n    public interface IItemPermissionsCollectionPage : ICollectionPage<Permission>\n    {\n        /// <summary>\n        /// Gets the next page <see cref=\"IItemPermissionsCollectionRequest\"/> instance.\n        /// </summary>\n        IItemPermissionsCollectionRequest NextPageRequest { get; }\n\n        /// <summary>\n        /// Initializes the NextPageRequest property.\n        /// </summary>\n        void InitializeNextPageRequest(IBaseClient client, string nextPageLinkString);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IItemPermissionsCollectionRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IItemPermissionsCollectionRequest.\n    /// </summary>\n    public partial interface IItemPermissionsCollectionRequest : IBaseRequest\n    {\n        \n        /// <summary>\n        /// Adds the specified Permission to the collection via POST.\n        /// </summary>\n        /// <param name=\"permission\">The Permission to add.</param>\n        /// <returns>The created Permission.</returns>\n        System.Threading.Tasks.Task<Permission> AddAsync(Permission permission);\n\n        /// <summary>\n        /// Adds the specified Permission to the collection via POST.\n        /// </summary>\n        /// <param name=\"permission\">The Permission to add.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The created Permission.</returns>\n        System.Threading.Tasks.Task<Permission> AddAsync(Permission permission, CancellationToken cancellationToken);\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <returns>The collection page.</returns>\n        System.Threading.Tasks.Task<IItemPermissionsCollectionPage> GetAsync();\n\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The collection page.</returns>\n        System.Threading.Tasks.Task<IItemPermissionsCollectionPage> GetAsync(CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemPermissionsCollectionRequest Expand(string value);\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemPermissionsCollectionRequest Select(string value);\n\n        /// <summary>\n        /// Adds the specified top value to the request.\n        /// </summary>\n        /// <param name=\"value\">The top value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemPermissionsCollectionRequest Top(int value);\n\n        /// <summary>\n        /// Adds the specified filter value to the request.\n        /// </summary>\n        /// <param name=\"value\">The filter value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemPermissionsCollectionRequest Filter(string value);\n\n        /// <summary>\n        /// Adds the specified skip value to the request.\n        /// </summary>\n        /// <param name=\"value\">The skip value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemPermissionsCollectionRequest Skip(int value);\n\n        /// <summary>\n        /// Adds the specified orderby value to the request.\n        /// </summary>\n        /// <param name=\"value\">The orderby value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemPermissionsCollectionRequest OrderBy(string value);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IItemPermissionsCollectionRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IItemPermissionsCollectionRequestBuilder.\n    /// </summary>\n    public partial interface IItemPermissionsCollectionRequestBuilder\n    {\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <returns>The built request.</returns>\n        IItemPermissionsCollectionRequest Request();\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        IItemPermissionsCollectionRequest Request(IEnumerable<Option> options);\n\n        /// <summary>\n        /// Gets an <see cref=\"IPermissionRequestBuilder\"/> for the specified Permission.\n        /// </summary>\n        /// <param name=\"id\">The ID for the Permission.</param>\n        /// <returns>The <see cref=\"IPermissionRequestBuilder\"/>.</returns>\n        IPermissionRequestBuilder this[string id] { get; }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IItemRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.IO;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IItemRequest.\n    /// </summary>\n    public partial interface IItemRequest : IBaseRequest\n    {\n        /// <summary>\n        /// Creates the specified Item using PUT.\n        /// </summary>\n        /// <param name=\"itemToCreate\">The Item to create.</param>\n        /// <returns>The created Item.</returns>\n        System.Threading.Tasks.Task<Item> CreateAsync(Item itemToCreate);        /// <summary>\n        /// Creates the specified Item using PUT.\n        /// </summary>\n        /// <param name=\"itemToCreate\">The Item to create.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The created Item.</returns>\n        System.Threading.Tasks.Task<Item> CreateAsync(Item itemToCreate, CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Deletes the specified Item.\n        /// </summary>\n        /// <returns>The task to await.</returns>\n        System.Threading.Tasks.Task DeleteAsync();\n\n        /// <summary>\n        /// Deletes the specified Item.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The task to await.</returns>\n        System.Threading.Tasks.Task DeleteAsync(CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Gets the specified Item.\n        /// </summary>\n        /// <returns>The Item.</returns>\n        System.Threading.Tasks.Task<Item> GetAsync();\n\n        /// <summary>\n        /// Gets the specified Item.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The Item.</returns>\n        System.Threading.Tasks.Task<Item> GetAsync(CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Updates the specified Item using PATCH.\n        /// </summary>\n        /// <param name=\"itemToUpdate\">The Item to update.</param>\n        /// <returns>The updated Item.</returns>\n        System.Threading.Tasks.Task<Item> UpdateAsync(Item itemToUpdate);\n\n        /// <summary>\n        /// Updates the specified Item using PATCH.\n        /// </summary>\n        /// <param name=\"itemToUpdate\">The Item to update.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The updated Item.</returns>\n        System.Threading.Tasks.Task<Item> UpdateAsync(Item itemToUpdate, CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemRequest Expand(string value);\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemRequest Select(string value);\n\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IItemRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IItemRequestBuilder.\n    /// </summary>\n    public partial interface IItemRequestBuilder : IBaseRequestBuilder\n    {\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <returns>The built request.</returns>\n        IItemRequest Request();\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        IItemRequest Request(IEnumerable<Option> options);\n\n        /// <summary>\n        /// Gets the request builder for Permissions.\n        /// </summary>\n        /// <returns>The <see cref=\"IItemPermissionsCollectionRequestBuilder\"/>.</returns>\n        IItemPermissionsCollectionRequestBuilder Permissions { get; }\n\n        /// <summary>\n        /// Gets the request builder for Versions.\n        /// </summary>\n        /// <returns>The <see cref=\"IItemVersionsCollectionRequestBuilder\"/>.</returns>\n        IItemVersionsCollectionRequestBuilder Versions { get; }\n\n        /// <summary>\n        /// Gets the request builder for Children.\n        /// </summary>\n        /// <returns>The <see cref=\"IItemChildrenCollectionRequestBuilder\"/>.</returns>\n        IItemChildrenCollectionRequestBuilder Children { get; }\n\n        /// <summary>\n        /// Gets the request builder for Thumbnails.\n        /// </summary>\n        /// <returns>The <see cref=\"IItemThumbnailsCollectionRequestBuilder\"/>.</returns>\n        IItemThumbnailsCollectionRequestBuilder Thumbnails { get; }\n\n        /// <summary>\n        /// Gets the request builder for Content.\n        /// </summary>\n        /// <returns>The <see cref=\"IItemContentRequestBuilder\"/>.</returns>\n        IItemContentRequestBuilder Content { get; }\n\n        /// <summary>\n        /// Gets the request builder for ItemCreateSession.\n        /// </summary>\n        /// <returns>The <see cref=\"IItemCreateSessionRequestBuilder\"/>.</returns>\n        IItemCreateSessionRequestBuilder CreateSession(\n            ChunkedUploadSessionDescriptor item = null);\n\n        /// <summary>\n        /// Gets the request builder for ItemCopy.\n        /// </summary>\n        /// <returns>The <see cref=\"IItemCopyRequestBuilder\"/>.</returns>\n        IItemCopyRequestBuilder Copy(\n            string name = null,\n            ItemReference parentReference = null);\n\n        /// <summary>\n        /// Gets the request builder for ItemCreateLink.\n        /// </summary>\n        /// <returns>The <see cref=\"IItemCreateLinkRequestBuilder\"/>.</returns>\n        IItemCreateLinkRequestBuilder CreateLink(\n            string type);\n\n        /// <summary>\n        /// Gets the request builder for ItemDelta.\n        /// </summary>\n        /// <returns>The <see cref=\"IItemDeltaRequestBuilder\"/>.</returns>\n        IItemDeltaRequestBuilder Delta(\n            string token = null);\n\n        /// <summary>\n        /// Gets the request builder for ItemSearch.\n        /// </summary>\n        /// <returns>The <see cref=\"IItemSearchRequestBuilder\"/>.</returns>\n        IItemSearchRequestBuilder Search(\n            string q = null);\n\n        /// <summary>\n        /// Gets the request builder for ItemInvite.\n        /// </summary>\n        /// <returns>The <see cref=\"IItemInviteRequestBuilder\"/>.</returns>\n        IItemInviteRequestBuilder Invite(string[] roles,\n            Recipient[] recipients,\n            bool requiresSignIn = false,\n            bool sendInvitation = false,\n            string message = null);\n\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IItemSearchCollectionPage.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The interface IItemSearchCollectionPage.\n    /// </summary>\n    [JsonConverter(typeof(InterfaceConverter<ItemSearchCollectionPage>))]\n    public interface IItemSearchCollectionPage : ICollectionPage<Item>\n    {\n        /// <summary>\n        /// Gets the next page <see cref=\"IItemSearchRequest\"/> instance.\n        /// </summary>\n        IItemSearchRequest NextPageRequest { get; }\n\n        /// <summary>\n        /// Initializes the NextPageRequest property.\n        /// </summary>\n        void InitializeNextPageRequest(IBaseClient client, string nextPageLinkString);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IItemSearchRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IItemSearchRequest.\n    /// </summary>\n    public partial interface IItemSearchRequest : IBaseRequest\n    {\n\n        /// <summary>\n        /// Issues the GET request.\n        /// </summary>\n        System.Threading.Tasks.Task<IItemSearchCollectionPage> GetAsync();\n\n        /// <summary>\n        /// Issues the GET request.\n        /// </summary>\n        /// /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>TheIItemSearchCollectionPage</returns>\n        System.Threading.Tasks.Task<IItemSearchCollectionPage> GetAsync(CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemSearchRequest Expand(string value);\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemSearchRequest Select(string value);\n\n        /// <summary>\n        /// Adds the specified top value to the request.\n        /// </summary>\n        /// <param name=\"value\">The top value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemSearchRequest Top(int value);\n\n        /// <summary>\n        /// Adds the specified filter value to the request.\n        /// </summary>\n        /// <param name=\"value\">The filter value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemSearchRequest Filter(string value);\n\n        /// <summary>\n        /// Adds the specified skip value to the request.\n        /// </summary>\n        /// <param name=\"value\">The skip value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemSearchRequest Skip(int value);\n\n        /// <summary>\n        /// Adds the specified orderby value to the request.\n        /// </summary>\n        /// <param name=\"value\">The orderby value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemSearchRequest OrderBy(string value);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IItemSearchRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IItemSearchRequestBuilder.\n    /// </summary>\n    public partial interface IItemSearchRequestBuilder\n    {\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        IItemSearchRequest Request(IEnumerable<Option> options = null);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IItemThumbnailsCollectionPage.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The interface IItemThumbnailsCollectionPage.\n    /// </summary>\n    [JsonConverter(typeof(InterfaceConverter<ItemThumbnailsCollectionPage>))]\n    public interface IItemThumbnailsCollectionPage : ICollectionPage<ThumbnailSet>\n    {\n        /// <summary>\n        /// Gets the next page <see cref=\"IItemThumbnailsCollectionRequest\"/> instance.\n        /// </summary>\n        IItemThumbnailsCollectionRequest NextPageRequest { get; }\n\n        /// <summary>\n        /// Initializes the NextPageRequest property.\n        /// </summary>\n        void InitializeNextPageRequest(IBaseClient client, string nextPageLinkString);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IItemThumbnailsCollectionRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IItemThumbnailsCollectionRequest.\n    /// </summary>\n    public partial interface IItemThumbnailsCollectionRequest : IBaseRequest\n    {\n        \n        /// <summary>\n        /// Adds the specified ThumbnailSet to the collection via POST.\n        /// </summary>\n        /// <param name=\"thumbnailSet\">The ThumbnailSet to add.</param>\n        /// <returns>The created ThumbnailSet.</returns>\n        System.Threading.Tasks.Task<ThumbnailSet> AddAsync(ThumbnailSet thumbnailSet);\n\n        /// <summary>\n        /// Adds the specified ThumbnailSet to the collection via POST.\n        /// </summary>\n        /// <param name=\"thumbnailSet\">The ThumbnailSet to add.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The created ThumbnailSet.</returns>\n        System.Threading.Tasks.Task<ThumbnailSet> AddAsync(ThumbnailSet thumbnailSet, CancellationToken cancellationToken);\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <returns>The collection page.</returns>\n        System.Threading.Tasks.Task<IItemThumbnailsCollectionPage> GetAsync();\n\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The collection page.</returns>\n        System.Threading.Tasks.Task<IItemThumbnailsCollectionPage> GetAsync(CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemThumbnailsCollectionRequest Expand(string value);\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemThumbnailsCollectionRequest Select(string value);\n\n        /// <summary>\n        /// Adds the specified top value to the request.\n        /// </summary>\n        /// <param name=\"value\">The top value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemThumbnailsCollectionRequest Top(int value);\n\n        /// <summary>\n        /// Adds the specified filter value to the request.\n        /// </summary>\n        /// <param name=\"value\">The filter value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemThumbnailsCollectionRequest Filter(string value);\n\n        /// <summary>\n        /// Adds the specified skip value to the request.\n        /// </summary>\n        /// <param name=\"value\">The skip value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemThumbnailsCollectionRequest Skip(int value);\n\n        /// <summary>\n        /// Adds the specified orderby value to the request.\n        /// </summary>\n        /// <param name=\"value\">The orderby value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemThumbnailsCollectionRequest OrderBy(string value);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IItemThumbnailsCollectionRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IItemThumbnailsCollectionRequestBuilder.\n    /// </summary>\n    public partial interface IItemThumbnailsCollectionRequestBuilder\n    {\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <returns>The built request.</returns>\n        IItemThumbnailsCollectionRequest Request();\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        IItemThumbnailsCollectionRequest Request(IEnumerable<Option> options);\n\n        /// <summary>\n        /// Gets an <see cref=\"IThumbnailSetRequestBuilder\"/> for the specified ThumbnailSet.\n        /// </summary>\n        /// <param name=\"id\">The ID for the ThumbnailSet.</param>\n        /// <returns>The <see cref=\"IThumbnailSetRequestBuilder\"/>.</returns>\n        IThumbnailSetRequestBuilder this[string id] { get; }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IItemVersionsCollectionPage.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The interface IItemVersionsCollectionPage.\n    /// </summary>\n    [JsonConverter(typeof(InterfaceConverter<ItemVersionsCollectionPage>))]\n    public interface IItemVersionsCollectionPage : ICollectionPage<Item>\n    {\n        /// <summary>\n        /// Gets the next page <see cref=\"IItemVersionsCollectionRequest\"/> instance.\n        /// </summary>\n        IItemVersionsCollectionRequest NextPageRequest { get; }\n\n        /// <summary>\n        /// Initializes the NextPageRequest property.\n        /// </summary>\n        void InitializeNextPageRequest(IBaseClient client, string nextPageLinkString);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IItemVersionsCollectionRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IItemVersionsCollectionRequest.\n    /// </summary>\n    public partial interface IItemVersionsCollectionRequest : IBaseRequest\n    {\n        \n        /// <summary>\n        /// Adds the specified Item to the collection via POST.\n        /// </summary>\n        /// <param name=\"item\">The Item to add.</param>\n        /// <returns>The created Item.</returns>\n        System.Threading.Tasks.Task<Item> AddAsync(Item item);\n\n        /// <summary>\n        /// Adds the specified Item to the collection via POST.\n        /// </summary>\n        /// <param name=\"item\">The Item to add.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The created Item.</returns>\n        System.Threading.Tasks.Task<Item> AddAsync(Item item, CancellationToken cancellationToken);\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <returns>The collection page.</returns>\n        System.Threading.Tasks.Task<IItemVersionsCollectionPage> GetAsync();\n\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The collection page.</returns>\n        System.Threading.Tasks.Task<IItemVersionsCollectionPage> GetAsync(CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemVersionsCollectionRequest Expand(string value);\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemVersionsCollectionRequest Select(string value);\n\n        /// <summary>\n        /// Adds the specified top value to the request.\n        /// </summary>\n        /// <param name=\"value\">The top value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemVersionsCollectionRequest Top(int value);\n\n        /// <summary>\n        /// Adds the specified filter value to the request.\n        /// </summary>\n        /// <param name=\"value\">The filter value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemVersionsCollectionRequest Filter(string value);\n\n        /// <summary>\n        /// Adds the specified skip value to the request.\n        /// </summary>\n        /// <param name=\"value\">The skip value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemVersionsCollectionRequest Skip(int value);\n\n        /// <summary>\n        /// Adds the specified orderby value to the request.\n        /// </summary>\n        /// <param name=\"value\">The orderby value.</param>\n        /// <returns>The request object to send.</returns>\n        IItemVersionsCollectionRequest OrderBy(string value);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IItemVersionsCollectionRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IItemVersionsCollectionRequestBuilder.\n    /// </summary>\n    public partial interface IItemVersionsCollectionRequestBuilder\n    {\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <returns>The built request.</returns>\n        IItemVersionsCollectionRequest Request();\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        IItemVersionsCollectionRequest Request(IEnumerable<Option> options);\n\n        /// <summary>\n        /// Gets an <see cref=\"IItemRequestBuilder\"/> for the specified Item.\n        /// </summary>\n        /// <param name=\"id\">The ID for the Item.</param>\n        /// <returns>The <see cref=\"IItemRequestBuilder\"/>.</returns>\n        IItemRequestBuilder this[string id] { get; }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IOneDriveClient.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IOneDriveClient.\n    /// </summary>\n    public partial interface IOneDriveClient : IBaseClient\n    {\n        /// <summary>\n        /// Gets the OneDriveDrives request builder.\n        /// </summary>\n        IOneDriveDrivesCollectionRequestBuilder Drives { get; }\n        /// <summary>\n        /// Gets the OneDriveShares request builder.\n        /// </summary>\n        IOneDriveSharesCollectionRequestBuilder Shares { get; }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IOneDriveDrivesCollectionPage.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The interface IOneDriveDrivesCollectionPage.\n    /// </summary>\n    [JsonConverter(typeof(InterfaceConverter<OneDriveDrivesCollectionPage>))]\n    public interface IOneDriveDrivesCollectionPage : ICollectionPage<Drive>\n    {\n        /// <summary>\n        /// Gets the next page <see cref=\"IOneDriveDrivesCollectionRequest\"/> instance.\n        /// </summary>\n        IOneDriveDrivesCollectionRequest NextPageRequest { get; }\n\n        /// <summary>\n        /// Initializes the NextPageRequest property.\n        /// </summary>\n        void InitializeNextPageRequest(IBaseClient client, string nextPageLinkString);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IOneDriveDrivesCollectionRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IOneDriveDrivesCollectionRequest.\n    /// </summary>\n    public partial interface IOneDriveDrivesCollectionRequest : IBaseRequest\n    {\n        \n        /// <summary>\n        /// Adds the specified Drive to the collection via POST.\n        /// </summary>\n        /// <param name=\"drive\">The Drive to add.</param>\n        /// <returns>The created Drive.</returns>\n        System.Threading.Tasks.Task<Drive> AddAsync(Drive drive);\n\n        /// <summary>\n        /// Adds the specified Drive to the collection via POST.\n        /// </summary>\n        /// <param name=\"drive\">The Drive to add.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The created Drive.</returns>\n        System.Threading.Tasks.Task<Drive> AddAsync(Drive drive, CancellationToken cancellationToken);\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <returns>The collection page.</returns>\n        System.Threading.Tasks.Task<IOneDriveDrivesCollectionPage> GetAsync();\n\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The collection page.</returns>\n        System.Threading.Tasks.Task<IOneDriveDrivesCollectionPage> GetAsync(CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        IOneDriveDrivesCollectionRequest Expand(string value);\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        IOneDriveDrivesCollectionRequest Select(string value);\n\n        /// <summary>\n        /// Adds the specified top value to the request.\n        /// </summary>\n        /// <param name=\"value\">The top value.</param>\n        /// <returns>The request object to send.</returns>\n        IOneDriveDrivesCollectionRequest Top(int value);\n\n        /// <summary>\n        /// Adds the specified filter value to the request.\n        /// </summary>\n        /// <param name=\"value\">The filter value.</param>\n        /// <returns>The request object to send.</returns>\n        IOneDriveDrivesCollectionRequest Filter(string value);\n\n        /// <summary>\n        /// Adds the specified skip value to the request.\n        /// </summary>\n        /// <param name=\"value\">The skip value.</param>\n        /// <returns>The request object to send.</returns>\n        IOneDriveDrivesCollectionRequest Skip(int value);\n\n        /// <summary>\n        /// Adds the specified orderby value to the request.\n        /// </summary>\n        /// <param name=\"value\">The orderby value.</param>\n        /// <returns>The request object to send.</returns>\n        IOneDriveDrivesCollectionRequest OrderBy(string value);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IOneDriveDrivesCollectionRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IOneDriveDrivesCollectionRequestBuilder.\n    /// </summary>\n    public partial interface IOneDriveDrivesCollectionRequestBuilder\n    {\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <returns>The built request.</returns>\n        IOneDriveDrivesCollectionRequest Request();\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        IOneDriveDrivesCollectionRequest Request(IEnumerable<Option> options);\n\n        /// <summary>\n        /// Gets an <see cref=\"IDriveRequestBuilder\"/> for the specified Drive.\n        /// </summary>\n        /// <param name=\"id\">The ID for the Drive.</param>\n        /// <returns>The <see cref=\"IDriveRequestBuilder\"/>.</returns>\n        IDriveRequestBuilder this[string id] { get; }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IOneDriveSharesCollectionPage.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The interface IOneDriveSharesCollectionPage.\n    /// </summary>\n    [JsonConverter(typeof(InterfaceConverter<OneDriveSharesCollectionPage>))]\n    public interface IOneDriveSharesCollectionPage : ICollectionPage<Share>\n    {\n        /// <summary>\n        /// Gets the next page <see cref=\"IOneDriveSharesCollectionRequest\"/> instance.\n        /// </summary>\n        IOneDriveSharesCollectionRequest NextPageRequest { get; }\n\n        /// <summary>\n        /// Initializes the NextPageRequest property.\n        /// </summary>\n        void InitializeNextPageRequest(IBaseClient client, string nextPageLinkString);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IOneDriveSharesCollectionRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IOneDriveSharesCollectionRequest.\n    /// </summary>\n    public partial interface IOneDriveSharesCollectionRequest : IBaseRequest\n    {\n        \n        /// <summary>\n        /// Adds the specified Share to the collection via POST.\n        /// </summary>\n        /// <param name=\"share\">The Share to add.</param>\n        /// <returns>The created Share.</returns>\n        System.Threading.Tasks.Task<Share> AddAsync(Share share);\n\n        /// <summary>\n        /// Adds the specified Share to the collection via POST.\n        /// </summary>\n        /// <param name=\"share\">The Share to add.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The created Share.</returns>\n        System.Threading.Tasks.Task<Share> AddAsync(Share share, CancellationToken cancellationToken);\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <returns>The collection page.</returns>\n        System.Threading.Tasks.Task<IOneDriveSharesCollectionPage> GetAsync();\n\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The collection page.</returns>\n        System.Threading.Tasks.Task<IOneDriveSharesCollectionPage> GetAsync(CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        IOneDriveSharesCollectionRequest Expand(string value);\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        IOneDriveSharesCollectionRequest Select(string value);\n\n        /// <summary>\n        /// Adds the specified top value to the request.\n        /// </summary>\n        /// <param name=\"value\">The top value.</param>\n        /// <returns>The request object to send.</returns>\n        IOneDriveSharesCollectionRequest Top(int value);\n\n        /// <summary>\n        /// Adds the specified filter value to the request.\n        /// </summary>\n        /// <param name=\"value\">The filter value.</param>\n        /// <returns>The request object to send.</returns>\n        IOneDriveSharesCollectionRequest Filter(string value);\n\n        /// <summary>\n        /// Adds the specified skip value to the request.\n        /// </summary>\n        /// <param name=\"value\">The skip value.</param>\n        /// <returns>The request object to send.</returns>\n        IOneDriveSharesCollectionRequest Skip(int value);\n\n        /// <summary>\n        /// Adds the specified orderby value to the request.\n        /// </summary>\n        /// <param name=\"value\">The orderby value.</param>\n        /// <returns>The request object to send.</returns>\n        IOneDriveSharesCollectionRequest OrderBy(string value);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IOneDriveSharesCollectionRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IOneDriveSharesCollectionRequestBuilder.\n    /// </summary>\n    public partial interface IOneDriveSharesCollectionRequestBuilder\n    {\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <returns>The built request.</returns>\n        IOneDriveSharesCollectionRequest Request();\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        IOneDriveSharesCollectionRequest Request(IEnumerable<Option> options);\n\n        /// <summary>\n        /// Gets an <see cref=\"IShareRequestBuilder\"/> for the specified Share.\n        /// </summary>\n        /// <param name=\"id\">The ID for the Share.</param>\n        /// <returns>The <see cref=\"IShareRequestBuilder\"/>.</returns>\n        IShareRequestBuilder this[string id] { get; }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IPermissionRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.IO;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IPermissionRequest.\n    /// </summary>\n    public partial interface IPermissionRequest : IBaseRequest\n    {\n        /// <summary>\n        /// Creates the specified Permission using PUT.\n        /// </summary>\n        /// <param name=\"permissionToCreate\">The Permission to create.</param>\n        /// <returns>The created Permission.</returns>\n        System.Threading.Tasks.Task<Permission> CreateAsync(Permission permissionToCreate);        /// <summary>\n        /// Creates the specified Permission using PUT.\n        /// </summary>\n        /// <param name=\"permissionToCreate\">The Permission to create.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The created Permission.</returns>\n        System.Threading.Tasks.Task<Permission> CreateAsync(Permission permissionToCreate, CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Deletes the specified Permission.\n        /// </summary>\n        /// <returns>The task to await.</returns>\n        System.Threading.Tasks.Task DeleteAsync();\n\n        /// <summary>\n        /// Deletes the specified Permission.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The task to await.</returns>\n        System.Threading.Tasks.Task DeleteAsync(CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Gets the specified Permission.\n        /// </summary>\n        /// <returns>The Permission.</returns>\n        System.Threading.Tasks.Task<Permission> GetAsync();\n\n        /// <summary>\n        /// Gets the specified Permission.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The Permission.</returns>\n        System.Threading.Tasks.Task<Permission> GetAsync(CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Updates the specified Permission using PATCH.\n        /// </summary>\n        /// <param name=\"permissionToUpdate\">The Permission to update.</param>\n        /// <returns>The updated Permission.</returns>\n        System.Threading.Tasks.Task<Permission> UpdateAsync(Permission permissionToUpdate);\n\n        /// <summary>\n        /// Updates the specified Permission using PATCH.\n        /// </summary>\n        /// <param name=\"permissionToUpdate\">The Permission to update.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The updated Permission.</returns>\n        System.Threading.Tasks.Task<Permission> UpdateAsync(Permission permissionToUpdate, CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        IPermissionRequest Expand(string value);\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        IPermissionRequest Select(string value);\n\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IPermissionRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IPermissionRequestBuilder.\n    /// </summary>\n    public partial interface IPermissionRequestBuilder : IBaseRequestBuilder\n    {\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <returns>The built request.</returns>\n        IPermissionRequest Request();\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        IPermissionRequest Request(IEnumerable<Option> options);\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IShareItemsCollectionPage.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The interface IShareItemsCollectionPage.\n    /// </summary>\n    [JsonConverter(typeof(InterfaceConverter<ShareItemsCollectionPage>))]\n    public interface IShareItemsCollectionPage : ICollectionPage<Item>\n    {\n        /// <summary>\n        /// Gets the next page <see cref=\"IShareItemsCollectionRequest\"/> instance.\n        /// </summary>\n        IShareItemsCollectionRequest NextPageRequest { get; }\n\n        /// <summary>\n        /// Initializes the NextPageRequest property.\n        /// </summary>\n        void InitializeNextPageRequest(IBaseClient client, string nextPageLinkString);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IShareItemsCollectionRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IShareItemsCollectionRequest.\n    /// </summary>\n    public partial interface IShareItemsCollectionRequest : IBaseRequest\n    {\n        \n        /// <summary>\n        /// Adds the specified Item to the collection via POST.\n        /// </summary>\n        /// <param name=\"item\">The Item to add.</param>\n        /// <returns>The created Item.</returns>\n        System.Threading.Tasks.Task<Item> AddAsync(Item item);\n\n        /// <summary>\n        /// Adds the specified Item to the collection via POST.\n        /// </summary>\n        /// <param name=\"item\">The Item to add.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The created Item.</returns>\n        System.Threading.Tasks.Task<Item> AddAsync(Item item, CancellationToken cancellationToken);\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <returns>The collection page.</returns>\n        System.Threading.Tasks.Task<IShareItemsCollectionPage> GetAsync();\n\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The collection page.</returns>\n        System.Threading.Tasks.Task<IShareItemsCollectionPage> GetAsync(CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        IShareItemsCollectionRequest Expand(string value);\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        IShareItemsCollectionRequest Select(string value);\n\n        /// <summary>\n        /// Adds the specified top value to the request.\n        /// </summary>\n        /// <param name=\"value\">The top value.</param>\n        /// <returns>The request object to send.</returns>\n        IShareItemsCollectionRequest Top(int value);\n\n        /// <summary>\n        /// Adds the specified filter value to the request.\n        /// </summary>\n        /// <param name=\"value\">The filter value.</param>\n        /// <returns>The request object to send.</returns>\n        IShareItemsCollectionRequest Filter(string value);\n\n        /// <summary>\n        /// Adds the specified skip value to the request.\n        /// </summary>\n        /// <param name=\"value\">The skip value.</param>\n        /// <returns>The request object to send.</returns>\n        IShareItemsCollectionRequest Skip(int value);\n\n        /// <summary>\n        /// Adds the specified orderby value to the request.\n        /// </summary>\n        /// <param name=\"value\">The orderby value.</param>\n        /// <returns>The request object to send.</returns>\n        IShareItemsCollectionRequest OrderBy(string value);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IShareItemsCollectionRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IShareItemsCollectionRequestBuilder.\n    /// </summary>\n    public partial interface IShareItemsCollectionRequestBuilder\n    {\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <returns>The built request.</returns>\n        IShareItemsCollectionRequest Request();\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        IShareItemsCollectionRequest Request(IEnumerable<Option> options);\n\n        /// <summary>\n        /// Gets an <see cref=\"IItemRequestBuilder\"/> for the specified Item.\n        /// </summary>\n        /// <param name=\"id\">The ID for the Item.</param>\n        /// <returns>The <see cref=\"IItemRequestBuilder\"/>.</returns>\n        IItemRequestBuilder this[string id] { get; }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IShareRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.IO;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IShareRequest.\n    /// </summary>\n    public partial interface IShareRequest : IBaseRequest\n    {\n        /// <summary>\n        /// Creates the specified Share using PUT.\n        /// </summary>\n        /// <param name=\"shareToCreate\">The Share to create.</param>\n        /// <returns>The created Share.</returns>\n        System.Threading.Tasks.Task<Share> CreateAsync(Share shareToCreate);        /// <summary>\n        /// Creates the specified Share using PUT.\n        /// </summary>\n        /// <param name=\"shareToCreate\">The Share to create.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The created Share.</returns>\n        System.Threading.Tasks.Task<Share> CreateAsync(Share shareToCreate, CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Deletes the specified Share.\n        /// </summary>\n        /// <returns>The task to await.</returns>\n        System.Threading.Tasks.Task DeleteAsync();\n\n        /// <summary>\n        /// Deletes the specified Share.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The task to await.</returns>\n        System.Threading.Tasks.Task DeleteAsync(CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Gets the specified Share.\n        /// </summary>\n        /// <returns>The Share.</returns>\n        System.Threading.Tasks.Task<Share> GetAsync();\n\n        /// <summary>\n        /// Gets the specified Share.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The Share.</returns>\n        System.Threading.Tasks.Task<Share> GetAsync(CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Updates the specified Share using PATCH.\n        /// </summary>\n        /// <param name=\"shareToUpdate\">The Share to update.</param>\n        /// <returns>The updated Share.</returns>\n        System.Threading.Tasks.Task<Share> UpdateAsync(Share shareToUpdate);\n\n        /// <summary>\n        /// Updates the specified Share using PATCH.\n        /// </summary>\n        /// <param name=\"shareToUpdate\">The Share to update.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The updated Share.</returns>\n        System.Threading.Tasks.Task<Share> UpdateAsync(Share shareToUpdate, CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        IShareRequest Expand(string value);\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        IShareRequest Select(string value);\n\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IShareRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IShareRequestBuilder.\n    /// </summary>\n    public partial interface IShareRequestBuilder : IBaseRequestBuilder\n    {\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <returns>The built request.</returns>\n        IShareRequest Request();\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        IShareRequest Request(IEnumerable<Option> options);\n    \n        /// <summary>\n        /// Gets the request builder for Items.\n        /// </summary>\n        /// <returns>The <see cref=\"IShareItemsCollectionRequestBuilder\"/>.</returns>\n        IShareItemsCollectionRequestBuilder Items { get; }\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IThumbnailContentRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IThumbnailContentRequest.\n    /// </summary>\n    public partial interface IThumbnailContentRequest : IBaseRequest\n    {\n        /// <summary>\n        /// Gets the stream.\n        /// </summary>\n        /// <returns>The stream.</returns>\n        System.Threading.Tasks.Task<Stream> GetAsync();\n\n        /// <summary>\n        /// Gets the stream.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <param name=\"completionOption\">The <see cref=\"HttpCompletionOption\"/> to pass to the <see cref=\"IHttpProvider\"/> on send.</param>\n        /// <returns>The stream.</returns>\n        System.Threading.Tasks.Task<Stream> GetAsync(CancellationToken cancellationToken, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead);\n\n\n        /// <summary>\n        /// PUTs the specified stream.\n        /// </summary>\n        /// <typeparam name=\"T\">The type returned by the PUT call.</typeparam>\n        /// <param name=\"content\">The stream to PUT.</param>\n        /// <returns>The object returned by the PUT call.</returns>\n        System.Threading.Tasks.Task<T> PutAsync<T>(Stream content) where T : Thumbnail;\n\n        /// <summary>\n        /// PUTs the specified stream.\n        /// </summary>\n        /// <typeparam name=\"T\">The type returned by the PUT call.</typeparam>\n        /// <param name=\"content\">The stream to PUT.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <param name=\"completionOption\">The <see cref=\"HttpCompletionOption\"/> to pass to the <see cref=\"IHttpProvider\"/> on send.</param>\n        /// <returns>The object returned by the PUT call.</returns>\n        System.Threading.Tasks.Task<T> PutAsync<T>(Stream content, CancellationToken cancellationToken, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead) where T : Thumbnail;\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IThumbnailContentRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System.Collections.Generic;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IThumbnailContentRequestBuilder.\n    /// </summary>\n    public partial interface IThumbnailContentRequestBuilder\n    {\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <returns>The built request.</returns>\n        IThumbnailContentRequest Request();\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IThumbnailSetRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.IO;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IThumbnailSetRequest.\n    /// </summary>\n    public partial interface IThumbnailSetRequest : IBaseRequest\n    {\n        /// <summary>\n        /// Creates the specified ThumbnailSet using PUT.\n        /// </summary>\n        /// <param name=\"thumbnailSetToCreate\">The ThumbnailSet to create.</param>\n        /// <returns>The created ThumbnailSet.</returns>\n        System.Threading.Tasks.Task<ThumbnailSet> CreateAsync(ThumbnailSet thumbnailSetToCreate);        /// <summary>\n        /// Creates the specified ThumbnailSet using PUT.\n        /// </summary>\n        /// <param name=\"thumbnailSetToCreate\">The ThumbnailSet to create.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The created ThumbnailSet.</returns>\n        System.Threading.Tasks.Task<ThumbnailSet> CreateAsync(ThumbnailSet thumbnailSetToCreate, CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Deletes the specified ThumbnailSet.\n        /// </summary>\n        /// <returns>The task to await.</returns>\n        System.Threading.Tasks.Task DeleteAsync();\n\n        /// <summary>\n        /// Deletes the specified ThumbnailSet.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The task to await.</returns>\n        System.Threading.Tasks.Task DeleteAsync(CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Gets the specified ThumbnailSet.\n        /// </summary>\n        /// <returns>The ThumbnailSet.</returns>\n        System.Threading.Tasks.Task<ThumbnailSet> GetAsync();\n\n        /// <summary>\n        /// Gets the specified ThumbnailSet.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The ThumbnailSet.</returns>\n        System.Threading.Tasks.Task<ThumbnailSet> GetAsync(CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Updates the specified ThumbnailSet using PATCH.\n        /// </summary>\n        /// <param name=\"thumbnailSetToUpdate\">The ThumbnailSet to update.</param>\n        /// <returns>The updated ThumbnailSet.</returns>\n        System.Threading.Tasks.Task<ThumbnailSet> UpdateAsync(ThumbnailSet thumbnailSetToUpdate);\n\n        /// <summary>\n        /// Updates the specified ThumbnailSet using PATCH.\n        /// </summary>\n        /// <param name=\"thumbnailSetToUpdate\">The ThumbnailSet to update.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The updated ThumbnailSet.</returns>\n        System.Threading.Tasks.Task<ThumbnailSet> UpdateAsync(ThumbnailSet thumbnailSetToUpdate, CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        IThumbnailSetRequest Expand(string value);\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        IThumbnailSetRequest Select(string value);\n\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/IThumbnailSetRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IThumbnailSetRequestBuilder.\n    /// </summary>\n    public partial interface IThumbnailSetRequestBuilder : IBaseRequestBuilder\n    {\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <returns>The built request.</returns>\n        IThumbnailSetRequest Request();\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        IThumbnailSetRequest Request(IEnumerable<Option> options);\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ItemChildrenCollectionPage.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ItemChildrenCollectionPage.\n    /// </summary>\n    public partial class ItemChildrenCollectionPage : CollectionPage<Item>, IItemChildrenCollectionPage\n    {\n        /// <summary>\n        /// Gets the next page <see cref=\"IItemChildrenCollectionRequest\"/> instance.\n        /// </summary>\n        public IItemChildrenCollectionRequest NextPageRequest { get; private set; }\n\n        /// <summary>\n        /// Initializes the NextPageRequest property.\n        /// </summary>\n        public void InitializeNextPageRequest(IBaseClient client, string nextPageLinkString)\n        {\n            if (!string.IsNullOrEmpty(nextPageLinkString))\n            {\n                this.NextPageRequest = new ItemChildrenCollectionRequest(\n                    nextPageLinkString,\n                    client,\n                    null);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ItemChildrenCollectionRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ItemChildrenCollectionRequest.\n    /// </summary>\n    public partial class ItemChildrenCollectionRequest : BaseRequest, IItemChildrenCollectionRequest\n    {\n        /// <summary>\n        /// Constructs a new ItemChildrenCollectionRequest.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the built request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        /// <param name=\"options\">Query and header option name value pairs for the request.</param>\n        public ItemChildrenCollectionRequest(\n            string requestUrl,\n            IBaseClient client,\n            IEnumerable<Option> options)\n            : base(requestUrl, client, options)\n        {\n            this.SdkVersionHeaderPrefix = \"onedrive\";\n        }\n        \n        /// <summary>\n        /// Adds the specified Item to the collection via POST.\n        /// </summary>\n        /// <param name=\"item\">The Item to add.</param>\n        /// <returns>The created Item.</returns>\n        public System.Threading.Tasks.Task<Item> AddAsync(Item item)\n        {\n            return this.AddAsync(item, CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Adds the specified Item to the collection via POST.\n        /// </summary>\n        /// <param name=\"item\">The Item to add.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The created Item.</returns>\n        public System.Threading.Tasks.Task<Item> AddAsync(Item item, CancellationToken cancellationToken)\n        {\n            this.ContentType = \"application/json\";\n            this.Method = \"POST\";\n            return this.SendAsync<Item>(item, cancellationToken);\n        }\n\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <returns>The collection page.</returns>\n        public System.Threading.Tasks.Task<IItemChildrenCollectionPage> GetAsync()\n        {\n            return this.GetAsync(CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The collection page.</returns>\n        public async System.Threading.Tasks.Task<IItemChildrenCollectionPage> GetAsync(CancellationToken cancellationToken)\n        {\n            this.Method = \"GET\";\n            var response = await this.SendAsync<ItemChildrenCollectionResponse>(null, cancellationToken).ConfigureAwait(false);\n            if (response != null && response.Value != null && response.Value.CurrentPage != null)\n            {\n                if (response.AdditionalData != null)\n                {\n                    object nextPageLink;\n                    response.AdditionalData.TryGetValue(\"@odata.nextLink\", out nextPageLink);\n\n                    var nextPageLinkString = nextPageLink as string;\n\n                    if (!string.IsNullOrEmpty(nextPageLinkString))\n                    {\n                        response.Value.InitializeNextPageRequest(\n                            this.Client,\n                            nextPageLinkString);\n                    }\n\n                    // Copy the additional data collection to the page itself so that information is not lost\n                    response.Value.AdditionalData = response.AdditionalData;\n                }\n\n                return response.Value;\n            }\n\n            return null;\n        }\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemChildrenCollectionRequest Expand(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$expand\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemChildrenCollectionRequest Select(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$select\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified top value to the request.\n        /// </summary>\n        /// <param name=\"value\">The top value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemChildrenCollectionRequest Top(int value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$top\", value.ToString()));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified filter value to the request.\n        /// </summary>\n        /// <param name=\"value\">The filter value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemChildrenCollectionRequest Filter(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$filter\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified skip value to the request.\n        /// </summary>\n        /// <param name=\"value\">The skip value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemChildrenCollectionRequest Skip(int value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$skip\", value.ToString()));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified orderby value to the request.\n        /// </summary>\n        /// <param name=\"value\">The orderby value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemChildrenCollectionRequest OrderBy(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$orderby\", value));\n            return this;\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ItemChildrenCollectionRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ItemChildrenCollectionRequestBuilder.\n    /// </summary>\n    public partial class ItemChildrenCollectionRequestBuilder : BaseRequestBuilder, IItemChildrenCollectionRequestBuilder\n    {\n        /// <summary>\n        /// Constructs a new ItemChildrenCollectionRequestBuilder.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the built request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        public ItemChildrenCollectionRequestBuilder(\n            string requestUrl,\n            IBaseClient client)\n            : base(requestUrl, client)\n        {\n        }\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <returns>The built request.</returns>\n        public IItemChildrenCollectionRequest Request()\n        {\n            return this.Request(null);\n        }\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        public IItemChildrenCollectionRequest Request(IEnumerable<Option> options)\n        {\n            return new ItemChildrenCollectionRequest(this.RequestUrl, this.Client, options);\n        }\n\n        /// <summary>\n        /// Gets an <see cref=\"IItemRequestBuilder\"/> for the specified ItemItem.\n        /// </summary>\n        /// <param name=\"id\">The ID for the ItemItem.</param>\n        /// <returns>The <see cref=\"IItemRequestBuilder\"/>.</returns>\n        public IItemRequestBuilder this[string id]\n        {\n            get\n            {\n                return new ItemRequestBuilder(this.AppendSegmentToRequestUrl(id), this.Client);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ItemChildrenCollectionResponse.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System.Collections.Generic;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type ItemChildrenCollectionResponse.\n    /// </summary>\n    [DataContract]\n    public class ItemChildrenCollectionResponse\n    {\n        /// <summary>\n        /// Gets or sets the <see cref=\"IItemChildrenCollectionPage\"/> value.\n        /// </summary>\n        [DataMember(Name = \"value\", EmitDefaultValue = false, IsRequired = false)]\n        public IItemChildrenCollectionPage Value { get; set; }\n\n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ItemContentRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ItemContentRequest.\n    /// </summary>\n    public partial class ItemContentRequest : BaseRequest, IItemContentRequest\n    {\n        /// <summary>\n        /// Constructs a new ItemContentRequest.\n        /// <param name=\"requestUrl\">The request URL.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        /// <param name=\"options\">Query option name value pairs for the request.</param>\n        /// </summary>\n        public ItemContentRequest(\n            string requestUrl,\n            IBaseClient client,\n            IEnumerable<Option> options)\n            : base(requestUrl, client, options)\n        {\n        }\n\n        /// <summary>\n        /// Gets the stream.\n        /// </summary>\n        /// <returns>The stream.</returns>\n        public System.Threading.Tasks.Task<Stream> GetAsync()\n        {\n            return this.GetAsync(CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Gets the stream.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <param name=\"completionOption\">The <see cref=\"HttpCompletionOption\"/> to pass to the <see cref=\"IHttpProvider\"/> on send.</param>\n        /// <returns>The stream.</returns>\n        public System.Threading.Tasks.Task<Stream> GetAsync(CancellationToken cancellationToken, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead)\n        {\n            this.Method = \"GET\";\n            return this.SendStreamRequestAsync(null, cancellationToken, completionOption);\n        }\n    \n        /// <summary>\n        /// PUTs the specified stream.\n        /// </summary>\n        /// <typeparam name=\"T\">The type returned by the PUT call.</typeparam>\n        /// <param name=\"content\">The stream to PUT.</param>\n        /// <returns>The object returned by the PUT call.</returns>\n        public System.Threading.Tasks.Task<T> PutAsync<T>(Stream content) where T : Item\n        {\n            return this.PutAsync<T>(content, CancellationToken.None);\n        }\n\n        /// <summary>\n        /// PUTs the specified stream.\n        /// </summary>\n        /// <typeparam name=\"T\">The type returned by the PUT call.</typeparam>\n        /// <param name=\"content\">The stream to PUT.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <param name=\"completionOption\">The <see cref=\"HttpCompletionOption\"/> to pass to the <see cref=\"IHttpProvider\"/> on send.</param>\n        /// <returns>The object returned by the PUT call.</returns>\n        public System.Threading.Tasks.Task<T> PutAsync<T>(Stream content, CancellationToken cancellationToken, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead) where T : Item\n        {\n            this.ContentType = \"application/octet-stream\";\n            this.Method = \"PUT\";\n            return this.SendAsync<T>(content, cancellationToken, completionOption);\n        }\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ItemContentRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System.Collections.Generic;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ItemContentRequestBuilder.\n    /// </summary>\n    public partial class ItemContentRequestBuilder : BaseRequestBuilder, IItemContentRequestBuilder\n    {\n        /// <summary>\n        /// Constructs a new ItemContentRequestBuilder.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the built request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        public ItemContentRequestBuilder(\n            string requestUrl,\n            IBaseClient client)\n            : base(requestUrl, client)\n        {\n        }\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <returns>The built request.</returns>\n        public IItemContentRequest Request()\n        {\n            return new ItemContentRequest(this.RequestUrl, this.Client, null);\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ItemCopyRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ItemCopyRequest.\n    /// </summary>\n    public partial class ItemCopyRequest : BaseRequest, IItemCopyRequest\n    {\n        /// <summary>\n        /// Constructs a new ItemCopyRequest.\n        /// </summary>\n        public ItemCopyRequest(\n            string requestUrl,\n            IBaseClient client,\n            IEnumerable<Option> options)\n            : base(requestUrl, client, options)\n        {\n            this.Method = \"POST\";\n            this.ContentType = \"application/json\";\n            this.RequestBody = new ItemCopyRequestBody();\n        }\n\n        /// <summary>\n        /// Gets the request body.\n        /// </summary>\n        public ItemCopyRequestBody RequestBody { get; private set; }\n\n        /// <summary>\n        /// Issues the POST request.\n        /// </summary>\n        public System.Threading.Tasks.Task<IAsyncMonitor<Item>> PostAsync()\n        {\n            return this.PostAsync(CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Issues the POST request.\n        /// </summary>\n        /// <param name=\"\"cancellationToken\"\">The <see cref=\"\"CancellationToken\"\"/> for the request.</param>\n        /// <returns>The task to await for async call.</returns>\n        public async System.Threading.Tasks.Task<IAsyncMonitor<Item>> PostAsync(\n            CancellationToken cancellationToken)\n        {\n            using (var response = await this.SendRequestAsync(this.RequestBody, cancellationToken).ConfigureAwait(false))\n            {\n                return new AsyncMonitor<Item>(this.Client, response.Headers.Location.ToString());\n            }\n\n        }\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemCopyRequest Expand(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$expand\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemCopyRequest Select(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$select\", value));\n            return this;\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ItemCopyRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ItemCopyRequestBuilder.\n    /// </summary>\n    public partial class ItemCopyRequestBuilder : BaseActionMethodRequestBuilder<IItemCopyRequest>, IItemCopyRequestBuilder\n    {\n        /// <summary>\n        /// Constructs a new <see cref=\"ItemCopyRequestBuilder\"/>.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        /// <param name=\"name\">A name parameter for the OData method call.</param>\n        /// <param name=\"parentReference\">A parentReference parameter for the OData method call.</param>\n        public ItemCopyRequestBuilder(\n            string requestUrl,\n            IBaseClient client,\n            string name,\n            ItemReference parentReference)\n            : base(requestUrl, client)\n        {\n            this.SetParameter(\"name\", name, true);\n            this.SetParameter(\"parentReference\", parentReference, true);\n        }\n\n        /// <summary>\n        /// A method used by the base class to construct a request class instance.\n        /// </summary>\n        /// <param name=\"functionUrl\">The request URL to </param>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>An instance of a specific request class.</returns>\n        protected override IItemCopyRequest CreateRequest(string functionUrl, IEnumerable<Option> options)\n        {\n            var request = new ItemCopyRequest(functionUrl, this.Client, options);\n\n            if (this.HasParameter(\"name\"))\n            {\n                request.RequestBody.Name = this.GetParameter<string>(\"name\");\n            }\n\n            if (this.HasParameter(\"parentReference\"))\n            {\n                request.RequestBody.ParentReference = this.GetParameter<ItemReference>(\"parentReference\");\n            }\n\n            return request;\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ItemCreateLinkRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ItemCreateLinkRequest.\n    /// </summary>\n    public partial class ItemCreateLinkRequest : BaseRequest, IItemCreateLinkRequest\n    {\n        /// <summary>\n        /// Constructs a new ItemCreateLinkRequest.\n        /// </summary>\n        public ItemCreateLinkRequest(\n            string requestUrl,\n            IBaseClient client,\n            IEnumerable<Option> options)\n            : base(requestUrl, client, options)\n        {\n            this.Method = \"POST\";\n            this.ContentType = \"application/json\";\n            this.RequestBody = new ItemCreateLinkRequestBody();\n        }\n\n        /// <summary>\n        /// Gets the request body.\n        /// </summary>\n        public ItemCreateLinkRequestBody RequestBody { get; private set; }\n\n        /// <summary>\n        /// Issues the POST request.\n        /// </summary>\n        public System.Threading.Tasks.Task<Permission> PostAsync()\n        {\n            return this.PostAsync(CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Issues the POST request.\n        /// </summary>\n        /// <param name=\"\"cancellationToken\"\">The <see cref=\"\"CancellationToken\"\"/> for the request.</param>\n        /// <returns>The task to await for async call.</returns>\n        public System.Threading.Tasks.Task<Permission> PostAsync(\n            CancellationToken cancellationToken)\n        {\n            return this.SendAsync<Permission>(this.RequestBody, cancellationToken);\n        }\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemCreateLinkRequest Expand(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$expand\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemCreateLinkRequest Select(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$select\", value));\n            return this;\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ItemCreateLinkRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ItemCreateLinkRequestBuilder.\n    /// </summary>\n    public partial class ItemCreateLinkRequestBuilder : BaseActionMethodRequestBuilder<IItemCreateLinkRequest>, IItemCreateLinkRequestBuilder\n    {\n        /// <summary>\n        /// Constructs a new <see cref=\"ItemCreateLinkRequestBuilder\"/>.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        /// <param name=\"type\">A type parameter for the OData method call.</param>\n        public ItemCreateLinkRequestBuilder(\n            string requestUrl,\n            IBaseClient client,\n            string type)\n            : base(requestUrl, client)\n        {\n            this.SetParameter(\"type\", type, false);\n        }\n\n        /// <summary>\n        /// A method used by the base class to construct a request class instance.\n        /// </summary>\n        /// <param name=\"functionUrl\">The request URL to </param>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>An instance of a specific request class.</returns>\n        protected override IItemCreateLinkRequest CreateRequest(string functionUrl, IEnumerable<Option> options)\n        {\n            var request = new ItemCreateLinkRequest(functionUrl, this.Client, options);\n\n            if (this.HasParameter(\"type\"))\n            {\n                request.RequestBody.Type = this.GetParameter<string>(\"type\");\n            }\n\n            return request;\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ItemCreateSessionRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ItemCreateSessionRequest.\n    /// </summary>\n    public partial class ItemCreateSessionRequest : BaseRequest, IItemCreateSessionRequest\n    {\n        /// <summary>\n        /// Constructs a new ItemCreateSessionRequest.\n        /// </summary>\n        public ItemCreateSessionRequest(\n            string requestUrl,\n            IBaseClient client,\n            IEnumerable<Option> options)\n            : base(requestUrl, client, options)\n        {\n            this.Method = \"POST\";\n            this.ContentType = \"application/json\";\n            this.RequestBody = new ItemCreateSessionRequestBody();\n        }\n\n        /// <summary>\n        /// Gets the request body.\n        /// </summary>\n        public ItemCreateSessionRequestBody RequestBody { get; private set; }\n\n        /// <summary>\n        /// Issues the POST request.\n        /// </summary>\n        public System.Threading.Tasks.Task<UploadSession> PostAsync()\n        {\n            return this.PostAsync(CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Issues the POST request.\n        /// </summary>\n        /// <param name=\"\"cancellationToken\"\">The <see cref=\"\"CancellationToken\"\"/> for the request.</param>\n        /// <returns>The task to await for async call.</returns>\n        public System.Threading.Tasks.Task<UploadSession> PostAsync(\n            CancellationToken cancellationToken)\n        {\n            return this.SendAsync<UploadSession>(this.RequestBody, cancellationToken);\n        }\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemCreateSessionRequest Expand(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$expand\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemCreateSessionRequest Select(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$select\", value));\n            return this;\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ItemCreateSessionRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ItemCreateSessionRequestBuilder.\n    /// </summary>\n    public partial class ItemCreateSessionRequestBuilder : BaseActionMethodRequestBuilder<IItemCreateSessionRequest>, IItemCreateSessionRequestBuilder\n    {\n        /// <summary>\n        /// Constructs a new <see cref=\"ItemCreateSessionRequestBuilder\"/>.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        /// <param name=\"item\">A item parameter for the OData method call.</param>\n        public ItemCreateSessionRequestBuilder(\n            string requestUrl,\n            IBaseClient client,\n            ChunkedUploadSessionDescriptor item)\n            : base(requestUrl, client)\n        {\n            this.SetParameter(\"item\", item, true);\n        }\n\n        /// <summary>\n        /// A method used by the base class to construct a request class instance.\n        /// </summary>\n        /// <param name=\"functionUrl\">The request URL to </param>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>An instance of a specific request class.</returns>\n        protected override IItemCreateSessionRequest CreateRequest(string functionUrl, IEnumerable<Option> options)\n        {\n            var request = new ItemCreateSessionRequest(functionUrl, this.Client, options);\n\n            if (this.HasParameter(\"item\"))\n            {\n                request.RequestBody.Item = this.GetParameter<ChunkedUploadSessionDescriptor>(\"item\");\n            }\n\n            return request;\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ItemDeltaCollectionPage.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ItemDeltaCollectionPage.\n    /// </summary>\n    public partial class ItemDeltaCollectionPage : CollectionPage<Item>, IItemDeltaCollectionPage\n    {\n        /// <summary>\n        /// Gets the next page <see cref=\"IItemDeltaRequest\"/> instance.\n        /// </summary>\n        public IItemDeltaRequest NextPageRequest { get; private set; }\n\n        /// <summary>\n        /// Gets or sets the Token.\n        /// </summary>\n        public string Token { get; set; }\n\n        /// <summary>\n        /// Gets or sets the DeltaLink.\n        /// </summary>\n        public string DeltaLink { get; set; }\n\n        /// <summary>\n        /// Initializes the NextPageRequest property.\n        /// </summary>\n        public void InitializeNextPageRequest(IBaseClient client, string nextPageLinkString)\n        {\n            if (!string.IsNullOrEmpty(nextPageLinkString))\n            {\n                this.NextPageRequest = new ItemDeltaRequest(\n                    nextPageLinkString,\n                    client,\n                    null);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ItemDeltaCollectionResponse.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System.Collections.Generic;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type ItemDeltaCollectionResponse.\n    /// </summary>\n    [DataContract]\n    public class ItemDeltaCollectionResponse\n    {\n        /// <summary>\n        /// Gets or sets the <see cref=\"IItemDeltaCollectionPage\"/> value.\n        /// </summary>\n        [DataMember(Name = \"value\", EmitDefaultValue = false, IsRequired = false)]\n        public IItemDeltaCollectionPage Value { get; set; }\n        \n        /// <summary>\n        /// Gets or sets the Token.\n        /// </summary>\n        [DataMember(Name = \"@delta.token\", EmitDefaultValue = false, IsRequired = false)]\n        public string Token { get; set; }\n        \n        /// <summary>\n        /// Gets or sets the DeltaLink.\n        /// </summary>\n        [DataMember(Name = \"@delta.deltaLink\", EmitDefaultValue = false, IsRequired = false)]\n        public string DeltaLink { get; set; }\n        \n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ItemDeltaRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ItemDeltaRequest.\n    /// </summary>\n    public partial class ItemDeltaRequest : BaseRequest, IItemDeltaRequest\n    {\n        /// <summary>\n        /// Constructs a new ItemDeltaRequest.\n        /// </summary>\n        public ItemDeltaRequest(\n            string requestUrl,\n            IBaseClient client,\n            IEnumerable<Option> options)\n            : base(requestUrl, client, options)\n        {\n            this.Method = \"GET\";\n        }\n\n        /// <summary>\n        /// Issues the GET request.\n        /// </summary>\n        public System.Threading.Tasks.Task<IItemDeltaCollectionPage> GetAsync()\n        {\n            return this.GetAsync(CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Issues the GET request.\n        /// </summary>\n        /// <param name=\"\"cancellationToken\"\">The <see cref=\"\"CancellationToken\"\"/> for the request.</param>\n        /// <returns>The task to await for async call.</returns>\n        public async System.Threading.Tasks.Task<IItemDeltaCollectionPage> GetAsync(\n            CancellationToken cancellationToken)\n        {\n            var response = await this.SendAsync<ItemDeltaCollectionResponse>(null, cancellationToken).ConfigureAwait(false);\n            if (response != null && response.Value != null && response.Value.CurrentPage != null)\n            {\n                if (response.AdditionalData != null)\n                {\n                    response.Value.AdditionalData = response.AdditionalData;\n\n                    object nextPageLink;\n                    response.AdditionalData.TryGetValue(\"@odata.nextLink\", out nextPageLink);\n\n                    var nextPageLinkString = nextPageLink as string;\n\n                    if (!string.IsNullOrEmpty(nextPageLinkString))\n                    {\n                        response.Value.InitializeNextPageRequest(\n                            this.Client,\n                            nextPageLinkString);\n                    }\n                }\n\n               response.Value.Token = response.Token;\n\n               response.Value.DeltaLink = response.DeltaLink;\n\n                return response.Value;\n            }\n\n            return null;\n        }\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemDeltaRequest Expand(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$expand\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemDeltaRequest Select(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$select\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified top value to the request.\n        /// </summary>\n        /// <param name=\"value\">The top value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemDeltaRequest Top(int value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$top\", value.ToString()));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified filter value to the request.\n        /// </summary>\n        /// <param name=\"value\">The filter value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemDeltaRequest Filter(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$filter\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified skip value to the request.\n        /// </summary>\n        /// <param name=\"value\">The skip value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemDeltaRequest Skip(int value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$skip\", value.ToString()));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified orderby value to the request.\n        /// </summary>\n        /// <param name=\"value\">The orderby value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemDeltaRequest OrderBy(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$orderby\", value));\n            return this;\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ItemDeltaRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ItemDeltaRequestBuilder.\n    /// </summary>\n    public partial class ItemDeltaRequestBuilder : BaseFunctionMethodRequestBuilder<IItemDeltaRequest>, IItemDeltaRequestBuilder\n    {\n        /// <summary>\n        /// Constructs a new <see cref=\"ItemDeltaRequestBuilder\"/>.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        /// <param name=\"token\">A token parameter for the OData method call.</param>\n        public ItemDeltaRequestBuilder(\n            string requestUrl,\n            IBaseClient client,\n            string token)\n            : base(requestUrl, client)\n        {\n            this.passParametersInQueryString = true;\n            this.SetParameter(\"token\", token, true);\n        }\n\n        /// <summary>\n        /// A method used by the base class to construct a request class instance.\n        /// </summary>\n        /// <param name=\"functionUrl\">The request URL to </param>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>An instance of a specific request class.</returns>\n        protected override IItemDeltaRequest CreateRequest(string functionUrl, IEnumerable<Option> options)\n        {\n            var request = new ItemDeltaRequest(functionUrl, this.Client, options);\n\n            return request;\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ItemInviteRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ItemCreateLinkRequest.\n    /// </summary>\n    public partial class ItemInviteRequest : BaseRequest, IItemInviteRequest\n    {\n        /// <summary>\n        /// Constructs a new ItemCreateLinkRequest.\n        /// </summary>\n        public ItemInviteRequest(\n            string requestUrl,\n            IBaseClient client,\n            IEnumerable<Option> options)\n            : base(requestUrl, client, options)\n        {\n            this.Method = \"POST\";\n            this.ContentType = \"application/json\";\n            this.RequestBody = new ItemInviteRequestBody();\n        }\n\n        /// <summary>\n        /// Gets the request body.\n        /// </summary>\n        public ItemInviteRequestBody RequestBody { get; private set; }\n\n        /// <summary>\n        /// Issues the POST request.\n        /// </summary>\n        public System.Threading.Tasks.Task<IItemPermissionsCollectionPage> PostAsync()\n        {\n            return this.PostAsync(CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Issues the POST request.\n        /// </summary>\n        /// <param name=\"\"cancellationToken\"\">The <see cref=\"\"CancellationToken\"\"/> for the request.</param>\n        /// <returns>The task to await for async call.</returns>\n        public async System.Threading.Tasks.Task<IItemPermissionsCollectionPage> PostAsync(\n            CancellationToken cancellationToken)\n        {\n            this.ContentType = \"application/json\";\n            this.Method = \"POST\";\n            var response = await this.SendAsync<ItemPermissionsCollectionResponse>(this.RequestBody, cancellationToken).ConfigureAwait(false);\n            if (response != null && response.Value != null && response.Value.CurrentPage != null)\n            {\n                if (response.AdditionalData != null)\n                {\n                    object nextPageLink;\n                    response.AdditionalData.TryGetValue(\"@odata.nextLink\", out nextPageLink);\n\n                    var nextPageLinkString = nextPageLink as string;\n\n                    if (!string.IsNullOrEmpty(nextPageLinkString))\n                    {\n                        response.Value.InitializeNextPageRequest(\n                            this.Client,\n                            nextPageLinkString);\n                    }\n\n                    // Copy the additional data collection to the page itself so that information is not lost\n                    response.Value.AdditionalData = response.AdditionalData;\n                }\n\n                return response.Value;\n            }\n\n            return null;\n        }\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemInviteRequest Expand(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$expand\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemInviteRequest Select(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$select\", value));\n            return this;\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ItemInviteRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ItemInviteRequestBuilder.\n    /// </summary>\n    public partial class ItemInviteRequestBuilder : BaseActionMethodRequestBuilder<IItemInviteRequest>, IItemInviteRequestBuilder\n    {\n        /// <summary>\n        /// Constructs a new <see cref=\"ItemInviteRequestBuilder\"/>.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        /// <param name=\"type\">A type parameter for the OData method call.</param>\n        public ItemInviteRequestBuilder(\n            string requestUrl,\n            IBaseClient client,\n            string[] roles,\n            Recipient[] recipients,\n            bool requiresSignIn = false,\n            bool sendInvitation = false,\n            string message = null)\n            : base(requestUrl, client)\n        {\n            this.SetParameter(\"roles\", roles, false);\n            this.SetParameter(\"recipients\", recipients, false);\n            this.SetParameter(\"requiresSignIn\", requiresSignIn, false);\n            this.SetParameter(\"sendInvitation\", sendInvitation, false);\n            this.SetParameter(\"message\", message, true);\n        }\n\n        /// <summary>\n        /// A method used by the base class to construct a request class instance.\n        /// </summary>\n        /// <param name=\"functionUrl\">The request URL to </param>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>An instance of a specific request class.</returns>\n        protected override IItemInviteRequest CreateRequest(string functionUrl, IEnumerable<Option> options)\n        {\n            var request = new ItemInviteRequest(functionUrl, this.Client, options);\n\n            if (this.HasParameter(\"roles\"))\n            {\n                request.RequestBody.Roles = this.GetParameter<string[]>(\"roles\");\n            }\n            if (this.HasParameter(\"recipients\"))\n            {\n                request.RequestBody.Recipients = this.GetParameter<Recipient[]>(\"recipients\");\n            }\n            if (this.HasParameter(\"requiresSignIn\"))\n            {\n                request.RequestBody.RequireSignIn = this.GetParameter<bool>(\"requiresSignIn\");\n            }\n            if (this.HasParameter(\"sendInvitation\"))\n            {\n                request.RequestBody.SendInvitation = this.GetParameter<bool>(\"sendInvitation\");\n            }\n            if (this.HasParameter(\"message\"))\n            {\n                request.RequestBody.Message = this.GetParameter<string>(\"message\");\n            }\n\n            return request;\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ItemPermissionsCollectionPage.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ItemPermissionsCollectionPage.\n    /// </summary>\n    public partial class ItemPermissionsCollectionPage : CollectionPage<Permission>, IItemPermissionsCollectionPage\n    {\n        /// <summary>\n        /// Gets the next page <see cref=\"IItemPermissionsCollectionRequest\"/> instance.\n        /// </summary>\n        public IItemPermissionsCollectionRequest NextPageRequest { get; private set; }\n\n        /// <summary>\n        /// Initializes the NextPageRequest property.\n        /// </summary>\n        public void InitializeNextPageRequest(IBaseClient client, string nextPageLinkString)\n        {\n            if (!string.IsNullOrEmpty(nextPageLinkString))\n            {\n                this.NextPageRequest = new ItemPermissionsCollectionRequest(\n                    nextPageLinkString,\n                    client,\n                    null);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ItemPermissionsCollectionRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ItemPermissionsCollectionRequest.\n    /// </summary>\n    public partial class ItemPermissionsCollectionRequest : BaseRequest, IItemPermissionsCollectionRequest\n    {\n        /// <summary>\n        /// Constructs a new ItemPermissionsCollectionRequest.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the built request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        /// <param name=\"options\">Query and header option name value pairs for the request.</param>\n        public ItemPermissionsCollectionRequest(\n            string requestUrl,\n            IBaseClient client,\n            IEnumerable<Option> options)\n            : base(requestUrl, client, options)\n        {\n            this.SdkVersionHeaderPrefix = \"onedrive\";\n        }\n        \n        /// <summary>\n        /// Adds the specified Permission to the collection via POST.\n        /// </summary>\n        /// <param name=\"permission\">The Permission to add.</param>\n        /// <returns>The created Permission.</returns>\n        public System.Threading.Tasks.Task<Permission> AddAsync(Permission permission)\n        {\n            return this.AddAsync(permission, CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Adds the specified Permission to the collection via POST.\n        /// </summary>\n        /// <param name=\"permission\">The Permission to add.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The created Permission.</returns>\n        public System.Threading.Tasks.Task<Permission> AddAsync(Permission permission, CancellationToken cancellationToken)\n        {\n            this.ContentType = \"application/json\";\n            this.Method = \"POST\";\n            return this.SendAsync<Permission>(permission, cancellationToken);\n        }\n\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <returns>The collection page.</returns>\n        public System.Threading.Tasks.Task<IItemPermissionsCollectionPage> GetAsync()\n        {\n            return this.GetAsync(CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The collection page.</returns>\n        public async System.Threading.Tasks.Task<IItemPermissionsCollectionPage> GetAsync(CancellationToken cancellationToken)\n        {\n            this.Method = \"GET\";\n            var response = await this.SendAsync<ItemPermissionsCollectionResponse>(null, cancellationToken).ConfigureAwait(false);\n            if (response != null && response.Value != null && response.Value.CurrentPage != null)\n            {\n                if (response.AdditionalData != null)\n                {\n                    object nextPageLink;\n                    response.AdditionalData.TryGetValue(\"@odata.nextLink\", out nextPageLink);\n\n                    var nextPageLinkString = nextPageLink as string;\n\n                    if (!string.IsNullOrEmpty(nextPageLinkString))\n                    {\n                        response.Value.InitializeNextPageRequest(\n                            this.Client,\n                            nextPageLinkString);\n                    }\n\n                    // Copy the additional data collection to the page itself so that information is not lost\n                    response.Value.AdditionalData = response.AdditionalData;\n                }\n\n                return response.Value;\n            }\n\n            return null;\n        }\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemPermissionsCollectionRequest Expand(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$expand\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemPermissionsCollectionRequest Select(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$select\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified top value to the request.\n        /// </summary>\n        /// <param name=\"value\">The top value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemPermissionsCollectionRequest Top(int value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$top\", value.ToString()));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified filter value to the request.\n        /// </summary>\n        /// <param name=\"value\">The filter value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemPermissionsCollectionRequest Filter(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$filter\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified skip value to the request.\n        /// </summary>\n        /// <param name=\"value\">The skip value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemPermissionsCollectionRequest Skip(int value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$skip\", value.ToString()));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified orderby value to the request.\n        /// </summary>\n        /// <param name=\"value\">The orderby value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemPermissionsCollectionRequest OrderBy(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$orderby\", value));\n            return this;\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ItemPermissionsCollectionRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ItemPermissionsCollectionRequestBuilder.\n    /// </summary>\n    public partial class ItemPermissionsCollectionRequestBuilder : BaseRequestBuilder, IItemPermissionsCollectionRequestBuilder\n    {\n        /// <summary>\n        /// Constructs a new ItemPermissionsCollectionRequestBuilder.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the built request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        public ItemPermissionsCollectionRequestBuilder(\n            string requestUrl,\n            IBaseClient client)\n            : base(requestUrl, client)\n        {\n        }\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <returns>The built request.</returns>\n        public IItemPermissionsCollectionRequest Request()\n        {\n            return this.Request(null);\n        }\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        public IItemPermissionsCollectionRequest Request(IEnumerable<Option> options)\n        {\n            return new ItemPermissionsCollectionRequest(this.RequestUrl, this.Client, options);\n        }\n\n        /// <summary>\n        /// Gets an <see cref=\"IPermissionRequestBuilder\"/> for the specified ItemPermission.\n        /// </summary>\n        /// <param name=\"id\">The ID for the ItemPermission.</param>\n        /// <returns>The <see cref=\"IPermissionRequestBuilder\"/>.</returns>\n        public IPermissionRequestBuilder this[string id]\n        {\n            get\n            {\n                return new PermissionRequestBuilder(this.AppendSegmentToRequestUrl(id), this.Client);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ItemPermissionsCollectionResponse.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System.Collections.Generic;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type ItemPermissionsCollectionResponse.\n    /// </summary>\n    [DataContract]\n    public class ItemPermissionsCollectionResponse\n    {\n        /// <summary>\n        /// Gets or sets the <see cref=\"IItemPermissionsCollectionPage\"/> value.\n        /// </summary>\n        [DataMember(Name = \"value\", EmitDefaultValue = false, IsRequired = false)]\n        public IItemPermissionsCollectionPage Value { get; set; }\n\n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ItemRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ItemRequest.\n    /// </summary>\n    public partial class ItemRequest : BaseRequest, IItemRequest\n    {\n        /// <summary>\n        /// Constructs a new ItemRequest.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the built request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        /// <param name=\"options\">Query and header option name value pairs for the request.</param>\n        public ItemRequest(\n            string requestUrl,\n            IBaseClient client,\n            IEnumerable<Option> options)\n            : base(requestUrl, client, options)\n        {\n            this.SdkVersionHeaderPrefix = \"onedrive\";\n        }\n\n        /// <summary>\n        /// Creates the specified Item using PUT.\n        /// </summary>\n        /// <param name=\"itemToCreate\">The Item to create.</param>\n        /// <returns>The created Item.</returns>\n        public System.Threading.Tasks.Task<Item> CreateAsync(Item itemToCreate)\n        {\n            return this.CreateAsync(itemToCreate, CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Creates the specified Item using PUT.\n        /// </summary>\n        /// <param name=\"itemToCreate\">The Item to create.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The created Item.</returns>\n        public async System.Threading.Tasks.Task<Item> CreateAsync(Item itemToCreate, CancellationToken cancellationToken)\n        {\n            this.ContentType = \"application/json\";\n            this.Method = \"PUT\";\n            var newEntity = await this.SendAsync<Item>(itemToCreate, cancellationToken).ConfigureAwait(false);\n            this.InitializeCollectionProperties(newEntity);\n            return newEntity;\n        }\n\n        /// <summary>\n        /// Deletes the specified Item.\n        /// </summary>\n        /// <returns>The task to await.</returns>\n        public System.Threading.Tasks.Task DeleteAsync()\n        {\n            return this.DeleteAsync(CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Deletes the specified Item.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The task to await.</returns>\n        public async System.Threading.Tasks.Task DeleteAsync(CancellationToken cancellationToken)\n        {\n            this.Method = \"DELETE\";\n            await this.SendAsync<Item>(null, cancellationToken).ConfigureAwait(false);\n        }\n\n        /// <summary>\n        /// Gets the specified Item.\n        /// </summary>\n        /// <returns>The Item.</returns>\n        public System.Threading.Tasks.Task<Item> GetAsync()\n        {\n            return this.GetAsync(CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Gets the specified Item.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The Item.</returns>\n        public async System.Threading.Tasks.Task<Item> GetAsync(CancellationToken cancellationToken)\n        {\n            this.Method = \"GET\";\n            var retrievedEntity = await this.SendAsync<Item>(null, cancellationToken).ConfigureAwait(false);\n            this.InitializeCollectionProperties(retrievedEntity);\n            return retrievedEntity;\n        }\n\n        /// <summary>\n        /// Updates the specified Item using PATCH.\n        /// </summary>\n        /// <param name=\"itemToUpdate\">The Item to update.</param>\n        /// <returns>The updated Item.</returns>\n        public System.Threading.Tasks.Task<Item> UpdateAsync(Item itemToUpdate)\n        {\n            return this.UpdateAsync(itemToUpdate, CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Updates the specified Item using PATCH.\n        /// </summary>\n        /// <param name=\"itemToUpdate\">The Item to update.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The updated Item.</returns>\n        public async System.Threading.Tasks.Task<Item> UpdateAsync(Item itemToUpdate, CancellationToken cancellationToken)\n        {\n            this.ContentType = \"application/json\";\n            this.Method = \"PATCH\";\n            var updatedEntity = await this.SendAsync<Item>(itemToUpdate, cancellationToken).ConfigureAwait(false);\n            this.InitializeCollectionProperties(updatedEntity);\n            return updatedEntity;\n        }\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemRequest Expand(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$expand\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemRequest Select(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$select\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Initializes any collection properties after deserialization, like next requests for paging.\n        /// </summary>\n        /// <param name=\"itemToInitialize\">The <see cref=\"Item\"/> with the collection properties to initialize.</param>\n        private void InitializeCollectionProperties(Item itemToInitialize)\n        {\n\n            if (itemToInitialize != null && itemToInitialize.AdditionalData != null)\n            {\n\n                if (itemToInitialize.Permissions != null && itemToInitialize.Permissions.CurrentPage != null)\n                {\n                    itemToInitialize.Permissions.AdditionalData = itemToInitialize.AdditionalData;\n\n                    object nextPageLink;\n                    itemToInitialize.AdditionalData.TryGetValue(\"permissions@odata.nextLink\", out nextPageLink);\n                    var nextPageLinkString = nextPageLink as string;\n\n                    if (!string.IsNullOrEmpty(nextPageLinkString))\n                    {\n                        itemToInitialize.Permissions.InitializeNextPageRequest(\n                            this.Client,\n                            nextPageLinkString);\n                    }\n                }\n\n                if (itemToInitialize.Versions != null && itemToInitialize.Versions.CurrentPage != null)\n                {\n                    itemToInitialize.Versions.AdditionalData = itemToInitialize.AdditionalData;\n\n                    object nextPageLink;\n                    itemToInitialize.AdditionalData.TryGetValue(\"versions@odata.nextLink\", out nextPageLink);\n                    var nextPageLinkString = nextPageLink as string;\n\n                    if (!string.IsNullOrEmpty(nextPageLinkString))\n                    {\n                        itemToInitialize.Versions.InitializeNextPageRequest(\n                            this.Client,\n                            nextPageLinkString);\n                    }\n                }\n\n                if (itemToInitialize.Children != null && itemToInitialize.Children.CurrentPage != null)\n                {\n                    itemToInitialize.Children.AdditionalData = itemToInitialize.AdditionalData;\n\n                    object nextPageLink;\n                    itemToInitialize.AdditionalData.TryGetValue(\"children@odata.nextLink\", out nextPageLink);\n                    var nextPageLinkString = nextPageLink as string;\n\n                    if (!string.IsNullOrEmpty(nextPageLinkString))\n                    {\n                        itemToInitialize.Children.InitializeNextPageRequest(\n                            this.Client,\n                            nextPageLinkString);\n                    }\n                }\n\n                if (itemToInitialize.Thumbnails != null && itemToInitialize.Thumbnails.CurrentPage != null)\n                {\n                    itemToInitialize.Thumbnails.AdditionalData = itemToInitialize.AdditionalData;\n\n                    object nextPageLink;\n                    itemToInitialize.AdditionalData.TryGetValue(\"thumbnails@odata.nextLink\", out nextPageLink);\n                    var nextPageLinkString = nextPageLink as string;\n\n                    if (!string.IsNullOrEmpty(nextPageLinkString))\n                    {\n                        itemToInitialize.Thumbnails.InitializeNextPageRequest(\n                            this.Client,\n                            nextPageLinkString);\n                    }\n                }\n\n            }\n\n\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ItemRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ItemRequestBuilder.\n    /// </summary>\n    public partial class ItemRequestBuilder : BaseRequestBuilder, IItemRequestBuilder\n    {\n\n        /// <summary>\n        /// Constructs a new ItemRequestBuilder.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the built request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        public ItemRequestBuilder(\n            string requestUrl,\n            IBaseClient client)\n            : base(requestUrl, client)\n        {\n        }\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <returns>The built request.</returns>\n        public IItemRequest Request()\n        {\n            return this.Request(null);\n        }\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        public IItemRequest Request(IEnumerable<Option> options)\n        {\n            return new ItemRequest(this.RequestUrl, this.Client, options);\n        }\n\n        /// <summary>\n        /// Gets the request builder for Permissions.\n        /// </summary>\n        /// <returns>The <see cref=\"IItemPermissionsCollectionRequestBuilder\"/>.</returns>\n        public IItemPermissionsCollectionRequestBuilder Permissions\n        {\n            get\n            {\n                return new ItemPermissionsCollectionRequestBuilder(this.AppendSegmentToRequestUrl(\"permissions\"), this.Client);\n            }\n        }\n\n        /// <summary>\n        /// Gets the request builder for Versions.\n        /// </summary>\n        /// <returns>The <see cref=\"IItemVersionsCollectionRequestBuilder\"/>.</returns>\n        public IItemVersionsCollectionRequestBuilder Versions\n        {\n            get\n            {\n                return new ItemVersionsCollectionRequestBuilder(this.AppendSegmentToRequestUrl(\"versions\"), this.Client);\n            }\n        }\n\n        /// <summary>\n        /// Gets the request builder for Children.\n        /// </summary>\n        /// <returns>The <see cref=\"IItemChildrenCollectionRequestBuilder\"/>.</returns>\n        public IItemChildrenCollectionRequestBuilder Children\n        {\n            get\n            {\n                return new ItemChildrenCollectionRequestBuilder(this.AppendSegmentToRequestUrl(\"children\"), this.Client);\n            }\n        }\n\n        /// <summary>\n        /// Gets the request builder for Thumbnails.\n        /// </summary>\n        /// <returns>The <see cref=\"IItemThumbnailsCollectionRequestBuilder\"/>.</returns>\n        public IItemThumbnailsCollectionRequestBuilder Thumbnails\n        {\n            get\n            {\n                return new ItemThumbnailsCollectionRequestBuilder(this.AppendSegmentToRequestUrl(\"thumbnails\"), this.Client);\n            }\n        }\n\n        /// <summary>\n        /// Gets the request builder for Content.\n        /// </summary>\n        /// <returns>The <see cref=\"IItemContentRequestBuilder\"/>.</returns>\n        public IItemContentRequestBuilder Content\n        {\n            get\n            {\n                return new ItemContentRequestBuilder(this.AppendSegmentToRequestUrl(\"content\"), this.Client);\n            }\n        }\n\n        /// <summary>\n        /// Gets the request builder for ItemCreateSession.\n        /// </summary>\n        /// <returns>The <see cref=\"IItemCreateSessionRequestBuilder\"/>.</returns>\n        public IItemCreateSessionRequestBuilder CreateSession(\n            ChunkedUploadSessionDescriptor item = null)\n        {\n            return new ItemCreateSessionRequestBuilder(\n                this.AppendSegmentToRequestUrl(\"oneDrive.createSession\"),\n                this.Client,\n                item);\n        }\n\n        /// <summary>\n        /// Gets the request builder for ItemCopy.\n        /// </summary>\n        /// <returns>The <see cref=\"IItemCopyRequestBuilder\"/>.</returns>\n        public IItemCopyRequestBuilder Copy(\n            string name = null,\n            ItemReference parentReference = null)\n        {\n            return new ItemCopyRequestBuilder(\n                this.AppendSegmentToRequestUrl(\"oneDrive.copy\"),\n                this.Client,\n                name,\n                parentReference);\n        }\n\n        /// <summary>\n        /// Gets the request builder for ItemCreateLink.\n        /// </summary>\n        /// <returns>The <see cref=\"IItemCreateLinkRequestBuilder\"/>.</returns>\n        public IItemCreateLinkRequestBuilder CreateLink(\n            string type)\n        {\n            return new ItemCreateLinkRequestBuilder(\n                this.AppendSegmentToRequestUrl(\"oneDrive.createLink\"),\n                this.Client,\n                type);\n        }\n\n        /// <summary>\n        /// Gets the request builder for ItemDelta.\n        /// </summary>\n        /// <returns>The <see cref=\"IItemDeltaRequestBuilder\"/>.</returns>\n        public IItemDeltaRequestBuilder Delta(\n            string token = null)\n        {\n            return new ItemDeltaRequestBuilder(\n                this.AppendSegmentToRequestUrl(\"oneDrive.delta\"),\n                this.Client,\n                token);\n        }\n\n        /// <summary>\n        /// Gets the request builder for ItemSearch.\n        /// </summary>\n        /// <returns>The <see cref=\"IItemSearchRequestBuilder\"/>.</returns>\n        public IItemSearchRequestBuilder Search(\n            string q = null)\n        {\n            return new ItemSearchRequestBuilder(\n                this.AppendSegmentToRequestUrl(\"oneDrive.search\"),\n                this.Client,\n                q);\n        }\n\n\n        /// <summary>\n        /// Gets the request builder for ItemCreateLink.\n        /// </summary>\n        /// <returns>The <see cref=\"IItemInviteRequestBuilder\"/>.</returns>\n        public IItemInviteRequestBuilder Invite(\n            string[] roles,\n            Recipient[] recipients,\n            bool requiresSignIn = false,\n            bool sendInvitation = false,\n            string message = null)\n        {\n            return new ItemInviteRequestBuilder(\n                this.AppendSegmentToRequestUrl(\"action.invite\"),\n                this.Client,\n                roles,\n                recipients,\n                requiresSignIn,\n                sendInvitation,\n                message);\n        }\n\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ItemSearchCollectionPage.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ItemSearchCollectionPage.\n    /// </summary>\n    public partial class ItemSearchCollectionPage : CollectionPage<Item>, IItemSearchCollectionPage\n    {\n        /// <summary>\n        /// Gets the next page <see cref=\"IItemSearchRequest\"/> instance.\n        /// </summary>\n        public IItemSearchRequest NextPageRequest { get; private set; }\n\n        /// <summary>\n        /// Initializes the NextPageRequest property.\n        /// </summary>\n        public void InitializeNextPageRequest(IBaseClient client, string nextPageLinkString)\n        {\n            if (!string.IsNullOrEmpty(nextPageLinkString))\n            {\n                this.NextPageRequest = new ItemSearchRequest(\n                    nextPageLinkString,\n                    client,\n                    null);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ItemSearchCollectionResponse.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System.Collections.Generic;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type ItemSearchCollectionResponse.\n    /// </summary>\n    [DataContract]\n    public class ItemSearchCollectionResponse\n    {\n        /// <summary>\n        /// Gets or sets the <see cref=\"IItemSearchCollectionPage\"/> value.\n        /// </summary>\n        [DataMember(Name = \"value\", EmitDefaultValue = false, IsRequired = false)]\n        public IItemSearchCollectionPage Value { get; set; }\n        \n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ItemSearchRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ItemSearchRequest.\n    /// </summary>\n    public partial class ItemSearchRequest : BaseRequest, IItemSearchRequest\n    {\n        /// <summary>\n        /// Constructs a new ItemSearchRequest.\n        /// </summary>\n        public ItemSearchRequest(\n            string requestUrl,\n            IBaseClient client,\n            IEnumerable<Option> options)\n            : base(requestUrl, client, options)\n        {\n            this.Method = \"GET\";\n        }\n\n        /// <summary>\n        /// Issues the GET request.\n        /// </summary>\n        public System.Threading.Tasks.Task<IItemSearchCollectionPage> GetAsync()\n        {\n            return this.GetAsync(CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Issues the GET request.\n        /// </summary>\n        /// <param name=\"\"cancellationToken\"\">The <see cref=\"\"CancellationToken\"\"/> for the request.</param>\n        /// <returns>The task to await for async call.</returns>\n        public async System.Threading.Tasks.Task<IItemSearchCollectionPage> GetAsync(\n            CancellationToken cancellationToken)\n        {\n            var response = await this.SendAsync<ItemSearchCollectionResponse>(null, cancellationToken).ConfigureAwait(false);\n            if (response != null && response.Value != null && response.Value.CurrentPage != null)\n            {\n                if (response.AdditionalData != null)\n                {\n                    response.Value.AdditionalData = response.AdditionalData;\n\n                    object nextPageLink;\n                    response.AdditionalData.TryGetValue(\"@odata.nextLink\", out nextPageLink);\n\n                    var nextPageLinkString = nextPageLink as string;\n\n                    if (!string.IsNullOrEmpty(nextPageLinkString))\n                    {\n                        response.Value.InitializeNextPageRequest(\n                            this.Client,\n                            nextPageLinkString);\n                    }\n                }\n\n                return response.Value;\n            }\n\n            return null;\n        }\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemSearchRequest Expand(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$expand\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemSearchRequest Select(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$select\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified top value to the request.\n        /// </summary>\n        /// <param name=\"value\">The top value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemSearchRequest Top(int value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$top\", value.ToString()));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified filter value to the request.\n        /// </summary>\n        /// <param name=\"value\">The filter value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemSearchRequest Filter(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$filter\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified skip value to the request.\n        /// </summary>\n        /// <param name=\"value\">The skip value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemSearchRequest Skip(int value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$skip\", value.ToString()));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified orderby value to the request.\n        /// </summary>\n        /// <param name=\"value\">The orderby value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemSearchRequest OrderBy(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$orderby\", value));\n            return this;\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ItemSearchRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ItemSearchRequestBuilder.\n    /// </summary>\n    public partial class ItemSearchRequestBuilder : BaseFunctionMethodRequestBuilder<IItemSearchRequest>, IItemSearchRequestBuilder\n    {\n        /// <summary>\n        /// Constructs a new <see cref=\"ItemSearchRequestBuilder\"/>.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        /// <param name=\"q\">A q parameter for the OData method call.</param>\n        public ItemSearchRequestBuilder(\n            string requestUrl,\n            IBaseClient client,\n            string q)\n            : base(requestUrl, client)\n        {\n            this.passParametersInQueryString = true;\n            this.SetParameter(\"q\", q, true);\n        }\n\n        /// <summary>\n        /// A method used by the base class to construct a request class instance.\n        /// </summary>\n        /// <param name=\"functionUrl\">The request URL to </param>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>An instance of a specific request class.</returns>\n        protected override IItemSearchRequest CreateRequest(string functionUrl, IEnumerable<Option> options)\n        {\n            var request = new ItemSearchRequest(functionUrl, this.Client, options);\n\n            return request;\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ItemThumbnailsCollectionPage.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ItemThumbnailsCollectionPage.\n    /// </summary>\n    public partial class ItemThumbnailsCollectionPage : CollectionPage<ThumbnailSet>, IItemThumbnailsCollectionPage\n    {\n        /// <summary>\n        /// Gets the next page <see cref=\"IItemThumbnailsCollectionRequest\"/> instance.\n        /// </summary>\n        public IItemThumbnailsCollectionRequest NextPageRequest { get; private set; }\n\n        /// <summary>\n        /// Initializes the NextPageRequest property.\n        /// </summary>\n        public void InitializeNextPageRequest(IBaseClient client, string nextPageLinkString)\n        {\n            if (!string.IsNullOrEmpty(nextPageLinkString))\n            {\n                this.NextPageRequest = new ItemThumbnailsCollectionRequest(\n                    nextPageLinkString,\n                    client,\n                    null);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ItemThumbnailsCollectionRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ItemThumbnailsCollectionRequest.\n    /// </summary>\n    public partial class ItemThumbnailsCollectionRequest : BaseRequest, IItemThumbnailsCollectionRequest\n    {\n        /// <summary>\n        /// Constructs a new ItemThumbnailsCollectionRequest.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the built request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        /// <param name=\"options\">Query and header option name value pairs for the request.</param>\n        public ItemThumbnailsCollectionRequest(\n            string requestUrl,\n            IBaseClient client,\n            IEnumerable<Option> options)\n            : base(requestUrl, client, options)\n        {\n            this.SdkVersionHeaderPrefix = \"onedrive\";\n        }\n        \n        /// <summary>\n        /// Adds the specified ThumbnailSet to the collection via POST.\n        /// </summary>\n        /// <param name=\"thumbnailSet\">The ThumbnailSet to add.</param>\n        /// <returns>The created ThumbnailSet.</returns>\n        public System.Threading.Tasks.Task<ThumbnailSet> AddAsync(ThumbnailSet thumbnailSet)\n        {\n            return this.AddAsync(thumbnailSet, CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Adds the specified ThumbnailSet to the collection via POST.\n        /// </summary>\n        /// <param name=\"thumbnailSet\">The ThumbnailSet to add.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The created ThumbnailSet.</returns>\n        public System.Threading.Tasks.Task<ThumbnailSet> AddAsync(ThumbnailSet thumbnailSet, CancellationToken cancellationToken)\n        {\n            this.ContentType = \"application/json\";\n            this.Method = \"POST\";\n            return this.SendAsync<ThumbnailSet>(thumbnailSet, cancellationToken);\n        }\n\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <returns>The collection page.</returns>\n        public System.Threading.Tasks.Task<IItemThumbnailsCollectionPage> GetAsync()\n        {\n            return this.GetAsync(CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The collection page.</returns>\n        public async System.Threading.Tasks.Task<IItemThumbnailsCollectionPage> GetAsync(CancellationToken cancellationToken)\n        {\n            this.Method = \"GET\";\n            var response = await this.SendAsync<ItemThumbnailsCollectionResponse>(null, cancellationToken).ConfigureAwait(false);\n            if (response != null && response.Value != null && response.Value.CurrentPage != null)\n            {\n                if (response.AdditionalData != null)\n                {\n                    object nextPageLink;\n                    response.AdditionalData.TryGetValue(\"@odata.nextLink\", out nextPageLink);\n\n                    var nextPageLinkString = nextPageLink as string;\n\n                    if (!string.IsNullOrEmpty(nextPageLinkString))\n                    {\n                        response.Value.InitializeNextPageRequest(\n                            this.Client,\n                            nextPageLinkString);\n                    }\n\n                    // Copy the additional data collection to the page itself so that information is not lost\n                    response.Value.AdditionalData = response.AdditionalData;\n                }\n\n                return response.Value;\n            }\n\n            return null;\n        }\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemThumbnailsCollectionRequest Expand(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$expand\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemThumbnailsCollectionRequest Select(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$select\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified top value to the request.\n        /// </summary>\n        /// <param name=\"value\">The top value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemThumbnailsCollectionRequest Top(int value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$top\", value.ToString()));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified filter value to the request.\n        /// </summary>\n        /// <param name=\"value\">The filter value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemThumbnailsCollectionRequest Filter(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$filter\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified skip value to the request.\n        /// </summary>\n        /// <param name=\"value\">The skip value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemThumbnailsCollectionRequest Skip(int value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$skip\", value.ToString()));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified orderby value to the request.\n        /// </summary>\n        /// <param name=\"value\">The orderby value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemThumbnailsCollectionRequest OrderBy(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$orderby\", value));\n            return this;\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ItemThumbnailsCollectionRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ItemThumbnailsCollectionRequestBuilder.\n    /// </summary>\n    public partial class ItemThumbnailsCollectionRequestBuilder : BaseRequestBuilder, IItemThumbnailsCollectionRequestBuilder\n    {\n        /// <summary>\n        /// Constructs a new ItemThumbnailsCollectionRequestBuilder.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the built request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        public ItemThumbnailsCollectionRequestBuilder(\n            string requestUrl,\n            IBaseClient client)\n            : base(requestUrl, client)\n        {\n        }\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <returns>The built request.</returns>\n        public IItemThumbnailsCollectionRequest Request()\n        {\n            return this.Request(null);\n        }\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        public IItemThumbnailsCollectionRequest Request(IEnumerable<Option> options)\n        {\n            return new ItemThumbnailsCollectionRequest(this.RequestUrl, this.Client, options);\n        }\n\n        /// <summary>\n        /// Gets an <see cref=\"IThumbnailSetRequestBuilder\"/> for the specified ItemThumbnailSet.\n        /// </summary>\n        /// <param name=\"id\">The ID for the ItemThumbnailSet.</param>\n        /// <returns>The <see cref=\"IThumbnailSetRequestBuilder\"/>.</returns>\n        public IThumbnailSetRequestBuilder this[string id]\n        {\n            get\n            {\n                return new ThumbnailSetRequestBuilder(this.AppendSegmentToRequestUrl(id), this.Client);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ItemThumbnailsCollectionResponse.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System.Collections.Generic;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type ItemThumbnailsCollectionResponse.\n    /// </summary>\n    [DataContract]\n    public class ItemThumbnailsCollectionResponse\n    {\n        /// <summary>\n        /// Gets or sets the <see cref=\"IItemThumbnailsCollectionPage\"/> value.\n        /// </summary>\n        [DataMember(Name = \"value\", EmitDefaultValue = false, IsRequired = false)]\n        public IItemThumbnailsCollectionPage Value { get; set; }\n\n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ItemVersionsCollectionPage.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ItemVersionsCollectionPage.\n    /// </summary>\n    public partial class ItemVersionsCollectionPage : CollectionPage<Item>, IItemVersionsCollectionPage\n    {\n        /// <summary>\n        /// Gets the next page <see cref=\"IItemVersionsCollectionRequest\"/> instance.\n        /// </summary>\n        public IItemVersionsCollectionRequest NextPageRequest { get; private set; }\n\n        /// <summary>\n        /// Initializes the NextPageRequest property.\n        /// </summary>\n        public void InitializeNextPageRequest(IBaseClient client, string nextPageLinkString)\n        {\n            if (!string.IsNullOrEmpty(nextPageLinkString))\n            {\n                this.NextPageRequest = new ItemVersionsCollectionRequest(\n                    nextPageLinkString,\n                    client,\n                    null);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ItemVersionsCollectionRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ItemVersionsCollectionRequest.\n    /// </summary>\n    public partial class ItemVersionsCollectionRequest : BaseRequest, IItemVersionsCollectionRequest\n    {\n        /// <summary>\n        /// Constructs a new ItemVersionsCollectionRequest.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the built request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        /// <param name=\"options\">Query and header option name value pairs for the request.</param>\n        public ItemVersionsCollectionRequest(\n            string requestUrl,\n            IBaseClient client,\n            IEnumerable<Option> options)\n            : base(requestUrl, client, options)\n        {\n            this.SdkVersionHeaderPrefix = \"onedrive\";\n        }\n        \n        /// <summary>\n        /// Adds the specified Item to the collection via POST.\n        /// </summary>\n        /// <param name=\"item\">The Item to add.</param>\n        /// <returns>The created Item.</returns>\n        public System.Threading.Tasks.Task<Item> AddAsync(Item item)\n        {\n            return this.AddAsync(item, CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Adds the specified Item to the collection via POST.\n        /// </summary>\n        /// <param name=\"item\">The Item to add.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The created Item.</returns>\n        public System.Threading.Tasks.Task<Item> AddAsync(Item item, CancellationToken cancellationToken)\n        {\n            this.ContentType = \"application/json\";\n            this.Method = \"POST\";\n            return this.SendAsync<Item>(item, cancellationToken);\n        }\n\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <returns>The collection page.</returns>\n        public System.Threading.Tasks.Task<IItemVersionsCollectionPage> GetAsync()\n        {\n            return this.GetAsync(CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The collection page.</returns>\n        public async System.Threading.Tasks.Task<IItemVersionsCollectionPage> GetAsync(CancellationToken cancellationToken)\n        {\n            this.Method = \"GET\";\n            var response = await this.SendAsync<ItemVersionsCollectionResponse>(null, cancellationToken).ConfigureAwait(false);\n            if (response != null && response.Value != null && response.Value.CurrentPage != null)\n            {\n                if (response.AdditionalData != null)\n                {\n                    object nextPageLink;\n                    response.AdditionalData.TryGetValue(\"@odata.nextLink\", out nextPageLink);\n\n                    var nextPageLinkString = nextPageLink as string;\n\n                    if (!string.IsNullOrEmpty(nextPageLinkString))\n                    {\n                        response.Value.InitializeNextPageRequest(\n                            this.Client,\n                            nextPageLinkString);\n                    }\n\n                    // Copy the additional data collection to the page itself so that information is not lost\n                    response.Value.AdditionalData = response.AdditionalData;\n                }\n\n                return response.Value;\n            }\n\n            return null;\n        }\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemVersionsCollectionRequest Expand(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$expand\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemVersionsCollectionRequest Select(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$select\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified top value to the request.\n        /// </summary>\n        /// <param name=\"value\">The top value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemVersionsCollectionRequest Top(int value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$top\", value.ToString()));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified filter value to the request.\n        /// </summary>\n        /// <param name=\"value\">The filter value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemVersionsCollectionRequest Filter(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$filter\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified skip value to the request.\n        /// </summary>\n        /// <param name=\"value\">The skip value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemVersionsCollectionRequest Skip(int value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$skip\", value.ToString()));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified orderby value to the request.\n        /// </summary>\n        /// <param name=\"value\">The orderby value.</param>\n        /// <returns>The request object to send.</returns>\n        public IItemVersionsCollectionRequest OrderBy(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$orderby\", value));\n            return this;\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ItemVersionsCollectionRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ItemVersionsCollectionRequestBuilder.\n    /// </summary>\n    public partial class ItemVersionsCollectionRequestBuilder : BaseRequestBuilder, IItemVersionsCollectionRequestBuilder\n    {\n        /// <summary>\n        /// Constructs a new ItemVersionsCollectionRequestBuilder.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the built request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        public ItemVersionsCollectionRequestBuilder(\n            string requestUrl,\n            IBaseClient client)\n            : base(requestUrl, client)\n        {\n        }\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <returns>The built request.</returns>\n        public IItemVersionsCollectionRequest Request()\n        {\n            return this.Request(null);\n        }\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        public IItemVersionsCollectionRequest Request(IEnumerable<Option> options)\n        {\n            return new ItemVersionsCollectionRequest(this.RequestUrl, this.Client, options);\n        }\n\n        /// <summary>\n        /// Gets an <see cref=\"IItemRequestBuilder\"/> for the specified ItemItem.\n        /// </summary>\n        /// <param name=\"id\">The ID for the ItemItem.</param>\n        /// <returns>The <see cref=\"IItemRequestBuilder\"/>.</returns>\n        public IItemRequestBuilder this[string id]\n        {\n            get\n            {\n                return new ItemRequestBuilder(this.AppendSegmentToRequestUrl(id), this.Client);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ItemVersionsCollectionResponse.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System.Collections.Generic;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type ItemVersionsCollectionResponse.\n    /// </summary>\n    [DataContract]\n    public class ItemVersionsCollectionResponse\n    {\n        /// <summary>\n        /// Gets or sets the <see cref=\"IItemVersionsCollectionPage\"/> value.\n        /// </summary>\n        [DataMember(Name = \"value\", EmitDefaultValue = false, IsRequired = false)]\n        public IItemVersionsCollectionPage Value { get; set; }\n\n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/OneDriveClient.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type OneDriveClient.\n    /// </summary>\n    public partial class OneDriveClient : BaseClient, IOneDriveClient\n    {\n        /// <summary>\n        /// Instantiates a new OneDriveClient.\n        /// </summary>\n        /// <param name=\"authenticationProvider\">The <see cref=\"IAuthenticationProvider\"/> for authenticating request messages.</param>\n        /// <param name=\"httpProvider\">The <see cref=\"IHttpProvider\"/> for sending requests.</param>\n        public OneDriveClient(\n            IAuthenticationProvider authenticationProvider,\n            IHttpProvider httpProvider = null)\n            : this(\"https://api.onedrive.com/v1.0\", authenticationProvider, httpProvider)\n        {\n        }\n\n        /// <summary>\n        /// Instantiates a new OneDriveClient.\n        /// </summary>\n        /// <param name=\"baseUrl\">The base service URL. For example, \"https://api.onedrive.com/v1.0.\"</param>\n        /// <param name=\"authenticationProvider\">The <see cref=\"IAuthenticationProvider\"/> for authenticating request messages.</param>\n        /// <param name=\"httpProvider\">The <see cref=\"IHttpProvider\"/> for sending requests.</param>\n        public OneDriveClient(\n            string baseUrl,\n            IAuthenticationProvider authenticationProvider,\n            IHttpProvider httpProvider = null)\n            : base(baseUrl, authenticationProvider, httpProvider)\n        {\n        }\n\n        /// <summary>\n        /// Gets the OneDriveDrives request builder.\n        /// </summary>\n        public IOneDriveDrivesCollectionRequestBuilder Drives\n        {\n            get\n            {\n                return new OneDriveDrivesCollectionRequestBuilder(this.BaseUrl + \"/drives\", this);\n            }\n        }\n\n        /// <summary>\n        /// Gets the OneDriveShares request builder.\n        /// </summary>\n        public IOneDriveSharesCollectionRequestBuilder Shares\n        {\n            get\n            {\n                return new OneDriveSharesCollectionRequestBuilder(this.BaseUrl + \"/shares\", this);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/OneDriveDrivesCollectionPage.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type OneDriveDrivesCollectionPage.\n    /// </summary>\n    public partial class OneDriveDrivesCollectionPage : CollectionPage<Drive>, IOneDriveDrivesCollectionPage\n    {\n        /// <summary>\n        /// Gets the next page <see cref=\"IOneDriveDrivesCollectionRequest\"/> instance.\n        /// </summary>\n        public IOneDriveDrivesCollectionRequest NextPageRequest { get; private set; }\n\n        /// <summary>\n        /// Initializes the NextPageRequest property.\n        /// </summary>\n        public void InitializeNextPageRequest(IBaseClient client, string nextPageLinkString)\n        {\n            if (!string.IsNullOrEmpty(nextPageLinkString))\n            {\n                this.NextPageRequest = new OneDriveDrivesCollectionRequest(\n                    nextPageLinkString,\n                    client,\n                    null);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/OneDriveDrivesCollectionRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type OneDriveDrivesCollectionRequest.\n    /// </summary>\n    public partial class OneDriveDrivesCollectionRequest : BaseRequest, IOneDriveDrivesCollectionRequest\n    {\n        /// <summary>\n        /// Constructs a new OneDriveDrivesCollectionRequest.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the built request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        /// <param name=\"options\">Query and header option name value pairs for the request.</param>\n        public OneDriveDrivesCollectionRequest(\n            string requestUrl,\n            IBaseClient client,\n            IEnumerable<Option> options)\n            : base(requestUrl, client, options)\n        {\n            this.SdkVersionHeaderPrefix = \"onedrive\";\n        }\n        \n        /// <summary>\n        /// Adds the specified Drive to the collection via POST.\n        /// </summary>\n        /// <param name=\"drive\">The Drive to add.</param>\n        /// <returns>The created Drive.</returns>\n        public System.Threading.Tasks.Task<Drive> AddAsync(Drive drive)\n        {\n            return this.AddAsync(drive, CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Adds the specified Drive to the collection via POST.\n        /// </summary>\n        /// <param name=\"drive\">The Drive to add.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The created Drive.</returns>\n        public System.Threading.Tasks.Task<Drive> AddAsync(Drive drive, CancellationToken cancellationToken)\n        {\n            this.ContentType = \"application/json\";\n            this.Method = \"POST\";\n            return this.SendAsync<Drive>(drive, cancellationToken);\n        }\n\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <returns>The collection page.</returns>\n        public System.Threading.Tasks.Task<IOneDriveDrivesCollectionPage> GetAsync()\n        {\n            return this.GetAsync(CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The collection page.</returns>\n        public async System.Threading.Tasks.Task<IOneDriveDrivesCollectionPage> GetAsync(CancellationToken cancellationToken)\n        {\n            this.Method = \"GET\";\n            var response = await this.SendAsync<OneDriveDrivesCollectionResponse>(null, cancellationToken).ConfigureAwait(false);\n            if (response != null && response.Value != null && response.Value.CurrentPage != null)\n            {\n                if (response.AdditionalData != null)\n                {\n                    object nextPageLink;\n                    response.AdditionalData.TryGetValue(\"@odata.nextLink\", out nextPageLink);\n\n                    var nextPageLinkString = nextPageLink as string;\n\n                    if (!string.IsNullOrEmpty(nextPageLinkString))\n                    {\n                        response.Value.InitializeNextPageRequest(\n                            this.Client,\n                            nextPageLinkString);\n                    }\n\n                    // Copy the additional data collection to the page itself so that information is not lost\n                    response.Value.AdditionalData = response.AdditionalData;\n                }\n\n                return response.Value;\n            }\n\n            return null;\n        }\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        public IOneDriveDrivesCollectionRequest Expand(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$expand\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        public IOneDriveDrivesCollectionRequest Select(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$select\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified top value to the request.\n        /// </summary>\n        /// <param name=\"value\">The top value.</param>\n        /// <returns>The request object to send.</returns>\n        public IOneDriveDrivesCollectionRequest Top(int value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$top\", value.ToString()));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified filter value to the request.\n        /// </summary>\n        /// <param name=\"value\">The filter value.</param>\n        /// <returns>The request object to send.</returns>\n        public IOneDriveDrivesCollectionRequest Filter(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$filter\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified skip value to the request.\n        /// </summary>\n        /// <param name=\"value\">The skip value.</param>\n        /// <returns>The request object to send.</returns>\n        public IOneDriveDrivesCollectionRequest Skip(int value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$skip\", value.ToString()));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified orderby value to the request.\n        /// </summary>\n        /// <param name=\"value\">The orderby value.</param>\n        /// <returns>The request object to send.</returns>\n        public IOneDriveDrivesCollectionRequest OrderBy(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$orderby\", value));\n            return this;\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/OneDriveDrivesCollectionRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type OneDriveDrivesCollectionRequestBuilder.\n    /// </summary>\n    public partial class OneDriveDrivesCollectionRequestBuilder : BaseRequestBuilder, IOneDriveDrivesCollectionRequestBuilder\n    {\n        /// <summary>\n        /// Constructs a new OneDriveDrivesCollectionRequestBuilder.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the built request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        public OneDriveDrivesCollectionRequestBuilder(\n            string requestUrl,\n            IBaseClient client)\n            : base(requestUrl, client)\n        {\n        }\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <returns>The built request.</returns>\n        public IOneDriveDrivesCollectionRequest Request()\n        {\n            return this.Request(null);\n        }\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        public IOneDriveDrivesCollectionRequest Request(IEnumerable<Option> options)\n        {\n            return new OneDriveDrivesCollectionRequest(this.RequestUrl, this.Client, options);\n        }\n\n        /// <summary>\n        /// Gets an <see cref=\"IDriveRequestBuilder\"/> for the specified OneDriveDrive.\n        /// </summary>\n        /// <param name=\"id\">The ID for the OneDriveDrive.</param>\n        /// <returns>The <see cref=\"IDriveRequestBuilder\"/>.</returns>\n        public IDriveRequestBuilder this[string id]\n        {\n            get\n            {\n                return new DriveRequestBuilder(this.AppendSegmentToRequestUrl(id), this.Client);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/OneDriveDrivesCollectionResponse.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System.Collections.Generic;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type OneDriveDrivesCollectionResponse.\n    /// </summary>\n    [DataContract]\n    public class OneDriveDrivesCollectionResponse\n    {\n        /// <summary>\n        /// Gets or sets the <see cref=\"IOneDriveDrivesCollectionPage\"/> value.\n        /// </summary>\n        [DataMember(Name = \"value\", EmitDefaultValue = false, IsRequired = false)]\n        public IOneDriveDrivesCollectionPage Value { get; set; }\n\n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/OneDriveSharesCollectionPage.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type OneDriveSharesCollectionPage.\n    /// </summary>\n    public partial class OneDriveSharesCollectionPage : CollectionPage<Share>, IOneDriveSharesCollectionPage\n    {\n        /// <summary>\n        /// Gets the next page <see cref=\"IOneDriveSharesCollectionRequest\"/> instance.\n        /// </summary>\n        public IOneDriveSharesCollectionRequest NextPageRequest { get; private set; }\n\n        /// <summary>\n        /// Initializes the NextPageRequest property.\n        /// </summary>\n        public void InitializeNextPageRequest(IBaseClient client, string nextPageLinkString)\n        {\n            if (!string.IsNullOrEmpty(nextPageLinkString))\n            {\n                this.NextPageRequest = new OneDriveSharesCollectionRequest(\n                    nextPageLinkString,\n                    client,\n                    null);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/OneDriveSharesCollectionRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type OneDriveSharesCollectionRequest.\n    /// </summary>\n    public partial class OneDriveSharesCollectionRequest : BaseRequest, IOneDriveSharesCollectionRequest\n    {\n        /// <summary>\n        /// Constructs a new OneDriveSharesCollectionRequest.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the built request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        /// <param name=\"options\">Query and header option name value pairs for the request.</param>\n        public OneDriveSharesCollectionRequest(\n            string requestUrl,\n            IBaseClient client,\n            IEnumerable<Option> options)\n            : base(requestUrl, client, options)\n        {\n            this.SdkVersionHeaderPrefix = \"onedrive\";\n        }\n        \n        /// <summary>\n        /// Adds the specified Share to the collection via POST.\n        /// </summary>\n        /// <param name=\"share\">The Share to add.</param>\n        /// <returns>The created Share.</returns>\n        public System.Threading.Tasks.Task<Share> AddAsync(Share share)\n        {\n            return this.AddAsync(share, CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Adds the specified Share to the collection via POST.\n        /// </summary>\n        /// <param name=\"share\">The Share to add.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The created Share.</returns>\n        public System.Threading.Tasks.Task<Share> AddAsync(Share share, CancellationToken cancellationToken)\n        {\n            this.ContentType = \"application/json\";\n            this.Method = \"POST\";\n            return this.SendAsync<Share>(share, cancellationToken);\n        }\n\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <returns>The collection page.</returns>\n        public System.Threading.Tasks.Task<IOneDriveSharesCollectionPage> GetAsync()\n        {\n            return this.GetAsync(CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The collection page.</returns>\n        public async System.Threading.Tasks.Task<IOneDriveSharesCollectionPage> GetAsync(CancellationToken cancellationToken)\n        {\n            this.Method = \"GET\";\n            var response = await this.SendAsync<OneDriveSharesCollectionResponse>(null, cancellationToken).ConfigureAwait(false);\n            if (response != null && response.Value != null && response.Value.CurrentPage != null)\n            {\n                if (response.AdditionalData != null)\n                {\n                    object nextPageLink;\n                    response.AdditionalData.TryGetValue(\"@odata.nextLink\", out nextPageLink);\n\n                    var nextPageLinkString = nextPageLink as string;\n\n                    if (!string.IsNullOrEmpty(nextPageLinkString))\n                    {\n                        response.Value.InitializeNextPageRequest(\n                            this.Client,\n                            nextPageLinkString);\n                    }\n\n                    // Copy the additional data collection to the page itself so that information is not lost\n                    response.Value.AdditionalData = response.AdditionalData;\n                }\n\n                return response.Value;\n            }\n\n            return null;\n        }\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        public IOneDriveSharesCollectionRequest Expand(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$expand\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        public IOneDriveSharesCollectionRequest Select(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$select\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified top value to the request.\n        /// </summary>\n        /// <param name=\"value\">The top value.</param>\n        /// <returns>The request object to send.</returns>\n        public IOneDriveSharesCollectionRequest Top(int value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$top\", value.ToString()));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified filter value to the request.\n        /// </summary>\n        /// <param name=\"value\">The filter value.</param>\n        /// <returns>The request object to send.</returns>\n        public IOneDriveSharesCollectionRequest Filter(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$filter\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified skip value to the request.\n        /// </summary>\n        /// <param name=\"value\">The skip value.</param>\n        /// <returns>The request object to send.</returns>\n        public IOneDriveSharesCollectionRequest Skip(int value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$skip\", value.ToString()));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified orderby value to the request.\n        /// </summary>\n        /// <param name=\"value\">The orderby value.</param>\n        /// <returns>The request object to send.</returns>\n        public IOneDriveSharesCollectionRequest OrderBy(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$orderby\", value));\n            return this;\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/OneDriveSharesCollectionRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type OneDriveSharesCollectionRequestBuilder.\n    /// </summary>\n    public partial class OneDriveSharesCollectionRequestBuilder : BaseRequestBuilder, IOneDriveSharesCollectionRequestBuilder\n    {\n        /// <summary>\n        /// Constructs a new OneDriveSharesCollectionRequestBuilder.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the built request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        public OneDriveSharesCollectionRequestBuilder(\n            string requestUrl,\n            IBaseClient client)\n            : base(requestUrl, client)\n        {\n        }\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <returns>The built request.</returns>\n        public IOneDriveSharesCollectionRequest Request()\n        {\n            return this.Request(null);\n        }\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        public IOneDriveSharesCollectionRequest Request(IEnumerable<Option> options)\n        {\n            return new OneDriveSharesCollectionRequest(this.RequestUrl, this.Client, options);\n        }\n\n        /// <summary>\n        /// Gets an <see cref=\"IShareRequestBuilder\"/> for the specified OneDriveShare.\n        /// </summary>\n        /// <param name=\"id\">The ID for the OneDriveShare.</param>\n        /// <returns>The <see cref=\"IShareRequestBuilder\"/>.</returns>\n        public IShareRequestBuilder this[string id]\n        {\n            get\n            {\n                return new ShareRequestBuilder(this.AppendSegmentToRequestUrl(id), this.Client);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/OneDriveSharesCollectionResponse.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System.Collections.Generic;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type OneDriveSharesCollectionResponse.\n    /// </summary>\n    [DataContract]\n    public class OneDriveSharesCollectionResponse\n    {\n        /// <summary>\n        /// Gets or sets the <see cref=\"IOneDriveSharesCollectionPage\"/> value.\n        /// </summary>\n        [DataMember(Name = \"value\", EmitDefaultValue = false, IsRequired = false)]\n        public IOneDriveSharesCollectionPage Value { get; set; }\n\n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/PermissionRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type PermissionRequest.\n    /// </summary>\n    public partial class PermissionRequest : BaseRequest, IPermissionRequest\n    {\n        /// <summary>\n        /// Constructs a new PermissionRequest.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the built request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        /// <param name=\"options\">Query and header option name value pairs for the request.</param>\n        public PermissionRequest(\n            string requestUrl,\n            IBaseClient client,\n            IEnumerable<Option> options)\n            : base(requestUrl, client, options)\n        {\n            this.SdkVersionHeaderPrefix = \"onedrive\";\n        }\n\n        /// <summary>\n        /// Creates the specified Permission using PUT.\n        /// </summary>\n        /// <param name=\"permissionToCreate\">The Permission to create.</param>\n        /// <returns>The created Permission.</returns>\n        public System.Threading.Tasks.Task<Permission> CreateAsync(Permission permissionToCreate)\n        {\n            return this.CreateAsync(permissionToCreate, CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Creates the specified Permission using PUT.\n        /// </summary>\n        /// <param name=\"permissionToCreate\">The Permission to create.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The created Permission.</returns>\n        public async System.Threading.Tasks.Task<Permission> CreateAsync(Permission permissionToCreate, CancellationToken cancellationToken)\n        {\n            this.ContentType = \"application/json\";\n            this.Method = \"PUT\";\n            var newEntity = await this.SendAsync<Permission>(permissionToCreate, cancellationToken).ConfigureAwait(false);\n            this.InitializeCollectionProperties(newEntity);\n            return newEntity;\n        }\n\n        /// <summary>\n        /// Deletes the specified Permission.\n        /// </summary>\n        /// <returns>The task to await.</returns>\n        public System.Threading.Tasks.Task DeleteAsync()\n        {\n            return this.DeleteAsync(CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Deletes the specified Permission.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The task to await.</returns>\n        public async System.Threading.Tasks.Task DeleteAsync(CancellationToken cancellationToken)\n        {\n            this.Method = \"DELETE\";\n            await this.SendAsync<Permission>(null, cancellationToken).ConfigureAwait(false);\n        }\n\n        /// <summary>\n        /// Gets the specified Permission.\n        /// </summary>\n        /// <returns>The Permission.</returns>\n        public System.Threading.Tasks.Task<Permission> GetAsync()\n        {\n            return this.GetAsync(CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Gets the specified Permission.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The Permission.</returns>\n        public async System.Threading.Tasks.Task<Permission> GetAsync(CancellationToken cancellationToken)\n        {\n            this.Method = \"GET\";\n            var retrievedEntity = await this.SendAsync<Permission>(null, cancellationToken).ConfigureAwait(false);\n            this.InitializeCollectionProperties(retrievedEntity);\n            return retrievedEntity;\n        }\n\n        /// <summary>\n        /// Updates the specified Permission using PATCH.\n        /// </summary>\n        /// <param name=\"permissionToUpdate\">The Permission to update.</param>\n        /// <returns>The updated Permission.</returns>\n        public System.Threading.Tasks.Task<Permission> UpdateAsync(Permission permissionToUpdate)\n        {\n            return this.UpdateAsync(permissionToUpdate, CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Updates the specified Permission using PATCH.\n        /// </summary>\n        /// <param name=\"permissionToUpdate\">The Permission to update.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The updated Permission.</returns>\n        public async System.Threading.Tasks.Task<Permission> UpdateAsync(Permission permissionToUpdate, CancellationToken cancellationToken)\n        {\n            this.ContentType = \"application/json\";\n            this.Method = \"PATCH\";\n            var updatedEntity = await this.SendAsync<Permission>(permissionToUpdate, cancellationToken).ConfigureAwait(false);\n            this.InitializeCollectionProperties(updatedEntity);\n            return updatedEntity;\n        }\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        public IPermissionRequest Expand(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$expand\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        public IPermissionRequest Select(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$select\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Initializes any collection properties after deserialization, like next requests for paging.\n        /// </summary>\n        /// <param name=\"permissionToInitialize\">The <see cref=\"Permission\"/> with the collection properties to initialize.</param>\n        private void InitializeCollectionProperties(Permission permissionToInitialize)\n        {\n\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/PermissionRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type PermissionRequestBuilder.\n    /// </summary>\n    public partial class PermissionRequestBuilder : BaseRequestBuilder, IPermissionRequestBuilder\n    {\n\n        /// <summary>\n        /// Constructs a new PermissionRequestBuilder.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the built request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        public PermissionRequestBuilder(\n            string requestUrl,\n            IBaseClient client)\n            : base(requestUrl, client)\n        {\n        }\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <returns>The built request.</returns>\n        public IPermissionRequest Request()\n        {\n            return this.Request(null);\n        }\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        public IPermissionRequest Request(IEnumerable<Option> options)\n        {\n            return new PermissionRequest(this.RequestUrl, this.Client, options);\n        }\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ShareItemsCollectionPage.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ShareItemsCollectionPage.\n    /// </summary>\n    public partial class ShareItemsCollectionPage : CollectionPage<Item>, IShareItemsCollectionPage\n    {\n        /// <summary>\n        /// Gets the next page <see cref=\"IShareItemsCollectionRequest\"/> instance.\n        /// </summary>\n        public IShareItemsCollectionRequest NextPageRequest { get; private set; }\n\n        /// <summary>\n        /// Initializes the NextPageRequest property.\n        /// </summary>\n        public void InitializeNextPageRequest(IBaseClient client, string nextPageLinkString)\n        {\n            if (!string.IsNullOrEmpty(nextPageLinkString))\n            {\n                this.NextPageRequest = new ShareItemsCollectionRequest(\n                    nextPageLinkString,\n                    client,\n                    null);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ShareItemsCollectionRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ShareItemsCollectionRequest.\n    /// </summary>\n    public partial class ShareItemsCollectionRequest : BaseRequest, IShareItemsCollectionRequest\n    {\n        /// <summary>\n        /// Constructs a new ShareItemsCollectionRequest.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the built request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        /// <param name=\"options\">Query and header option name value pairs for the request.</param>\n        public ShareItemsCollectionRequest(\n            string requestUrl,\n            IBaseClient client,\n            IEnumerable<Option> options)\n            : base(requestUrl, client, options)\n        {\n            this.SdkVersionHeaderPrefix = \"onedrive\";\n        }\n        \n        /// <summary>\n        /// Adds the specified Item to the collection via POST.\n        /// </summary>\n        /// <param name=\"item\">The Item to add.</param>\n        /// <returns>The created Item.</returns>\n        public System.Threading.Tasks.Task<Item> AddAsync(Item item)\n        {\n            return this.AddAsync(item, CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Adds the specified Item to the collection via POST.\n        /// </summary>\n        /// <param name=\"item\">The Item to add.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The created Item.</returns>\n        public System.Threading.Tasks.Task<Item> AddAsync(Item item, CancellationToken cancellationToken)\n        {\n            this.ContentType = \"application/json\";\n            this.Method = \"POST\";\n            return this.SendAsync<Item>(item, cancellationToken);\n        }\n\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <returns>The collection page.</returns>\n        public System.Threading.Tasks.Task<IShareItemsCollectionPage> GetAsync()\n        {\n            return this.GetAsync(CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Gets the collection page.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The collection page.</returns>\n        public async System.Threading.Tasks.Task<IShareItemsCollectionPage> GetAsync(CancellationToken cancellationToken)\n        {\n            this.Method = \"GET\";\n            var response = await this.SendAsync<ShareItemsCollectionResponse>(null, cancellationToken).ConfigureAwait(false);\n            if (response != null && response.Value != null && response.Value.CurrentPage != null)\n            {\n                if (response.AdditionalData != null)\n                {\n                    object nextPageLink;\n                    response.AdditionalData.TryGetValue(\"@odata.nextLink\", out nextPageLink);\n\n                    var nextPageLinkString = nextPageLink as string;\n\n                    if (!string.IsNullOrEmpty(nextPageLinkString))\n                    {\n                        response.Value.InitializeNextPageRequest(\n                            this.Client,\n                            nextPageLinkString);\n                    }\n\n                    // Copy the additional data collection to the page itself so that information is not lost\n                    response.Value.AdditionalData = response.AdditionalData;\n                }\n\n                return response.Value;\n            }\n\n            return null;\n        }\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        public IShareItemsCollectionRequest Expand(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$expand\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        public IShareItemsCollectionRequest Select(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$select\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified top value to the request.\n        /// </summary>\n        /// <param name=\"value\">The top value.</param>\n        /// <returns>The request object to send.</returns>\n        public IShareItemsCollectionRequest Top(int value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$top\", value.ToString()));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified filter value to the request.\n        /// </summary>\n        /// <param name=\"value\">The filter value.</param>\n        /// <returns>The request object to send.</returns>\n        public IShareItemsCollectionRequest Filter(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$filter\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified skip value to the request.\n        /// </summary>\n        /// <param name=\"value\">The skip value.</param>\n        /// <returns>The request object to send.</returns>\n        public IShareItemsCollectionRequest Skip(int value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$skip\", value.ToString()));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified orderby value to the request.\n        /// </summary>\n        /// <param name=\"value\">The orderby value.</param>\n        /// <returns>The request object to send.</returns>\n        public IShareItemsCollectionRequest OrderBy(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$orderby\", value));\n            return this;\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ShareItemsCollectionRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ShareItemsCollectionRequestBuilder.\n    /// </summary>\n    public partial class ShareItemsCollectionRequestBuilder : BaseRequestBuilder, IShareItemsCollectionRequestBuilder\n    {\n        /// <summary>\n        /// Constructs a new ShareItemsCollectionRequestBuilder.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the built request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        public ShareItemsCollectionRequestBuilder(\n            string requestUrl,\n            IBaseClient client)\n            : base(requestUrl, client)\n        {\n        }\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <returns>The built request.</returns>\n        public IShareItemsCollectionRequest Request()\n        {\n            return this.Request(null);\n        }\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        public IShareItemsCollectionRequest Request(IEnumerable<Option> options)\n        {\n            return new ShareItemsCollectionRequest(this.RequestUrl, this.Client, options);\n        }\n\n        /// <summary>\n        /// Gets an <see cref=\"IItemRequestBuilder\"/> for the specified ShareItem.\n        /// </summary>\n        /// <param name=\"id\">The ID for the ShareItem.</param>\n        /// <returns>The <see cref=\"IItemRequestBuilder\"/>.</returns>\n        public IItemRequestBuilder this[string id]\n        {\n            get\n            {\n                return new ItemRequestBuilder(this.AppendSegmentToRequestUrl(id), this.Client);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ShareItemsCollectionResponse.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System.Collections.Generic;\n    using System.Runtime.Serialization;\n    using Microsoft.Graph;\n    using Newtonsoft.Json;\n\n    /// <summary>\n    /// The type ShareItemsCollectionResponse.\n    /// </summary>\n    [DataContract]\n    public class ShareItemsCollectionResponse\n    {\n        /// <summary>\n        /// Gets or sets the <see cref=\"IShareItemsCollectionPage\"/> value.\n        /// </summary>\n        [DataMember(Name = \"value\", EmitDefaultValue = false, IsRequired = false)]\n        public IShareItemsCollectionPage Value { get; set; }\n\n        /// <summary>\n        /// Gets or sets additional data.\n        /// </summary>\n        [JsonExtensionData(ReadData = true)]\n        public IDictionary<string, object> AdditionalData { get; set; }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ShareRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ShareRequest.\n    /// </summary>\n    public partial class ShareRequest : BaseRequest, IShareRequest\n    {\n        /// <summary>\n        /// Constructs a new ShareRequest.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the built request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        /// <param name=\"options\">Query and header option name value pairs for the request.</param>\n        public ShareRequest(\n            string requestUrl,\n            IBaseClient client,\n            IEnumerable<Option> options)\n            : base(requestUrl, client, options)\n        {\n            this.SdkVersionHeaderPrefix = \"onedrive\";\n        }\n\n        /// <summary>\n        /// Creates the specified Share using PUT.\n        /// </summary>\n        /// <param name=\"shareToCreate\">The Share to create.</param>\n        /// <returns>The created Share.</returns>\n        public System.Threading.Tasks.Task<Share> CreateAsync(Share shareToCreate)\n        {\n            return this.CreateAsync(shareToCreate, CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Creates the specified Share using PUT.\n        /// </summary>\n        /// <param name=\"shareToCreate\">The Share to create.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The created Share.</returns>\n        public async System.Threading.Tasks.Task<Share> CreateAsync(Share shareToCreate, CancellationToken cancellationToken)\n        {\n            this.ContentType = \"application/json\";\n            this.Method = \"PUT\";\n            var newEntity = await this.SendAsync<Share>(shareToCreate, cancellationToken).ConfigureAwait(false);\n            this.InitializeCollectionProperties(newEntity);\n            return newEntity;\n        }\n\n        /// <summary>\n        /// Deletes the specified Share.\n        /// </summary>\n        /// <returns>The task to await.</returns>\n        public System.Threading.Tasks.Task DeleteAsync()\n        {\n            return this.DeleteAsync(CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Deletes the specified Share.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The task to await.</returns>\n        public async System.Threading.Tasks.Task DeleteAsync(CancellationToken cancellationToken)\n        {\n            this.Method = \"DELETE\";\n            await this.SendAsync<Share>(null, cancellationToken).ConfigureAwait(false);\n        }\n\n        /// <summary>\n        /// Gets the specified Share.\n        /// </summary>\n        /// <returns>The Share.</returns>\n        public System.Threading.Tasks.Task<Share> GetAsync()\n        {\n            return this.GetAsync(CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Gets the specified Share.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The Share.</returns>\n        public async System.Threading.Tasks.Task<Share> GetAsync(CancellationToken cancellationToken)\n        {\n            this.Method = \"GET\";\n            var retrievedEntity = await this.SendAsync<Share>(null, cancellationToken).ConfigureAwait(false);\n            this.InitializeCollectionProperties(retrievedEntity);\n            return retrievedEntity;\n        }\n\n        /// <summary>\n        /// Updates the specified Share using PATCH.\n        /// </summary>\n        /// <param name=\"shareToUpdate\">The Share to update.</param>\n        /// <returns>The updated Share.</returns>\n        public System.Threading.Tasks.Task<Share> UpdateAsync(Share shareToUpdate)\n        {\n            return this.UpdateAsync(shareToUpdate, CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Updates the specified Share using PATCH.\n        /// </summary>\n        /// <param name=\"shareToUpdate\">The Share to update.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The updated Share.</returns>\n        public async System.Threading.Tasks.Task<Share> UpdateAsync(Share shareToUpdate, CancellationToken cancellationToken)\n        {\n            this.ContentType = \"application/json\";\n            this.Method = \"PATCH\";\n            var updatedEntity = await this.SendAsync<Share>(shareToUpdate, cancellationToken).ConfigureAwait(false);\n            this.InitializeCollectionProperties(updatedEntity);\n            return updatedEntity;\n        }\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        public IShareRequest Expand(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$expand\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        public IShareRequest Select(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$select\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Initializes any collection properties after deserialization, like next requests for paging.\n        /// </summary>\n        /// <param name=\"shareToInitialize\">The <see cref=\"Share\"/> with the collection properties to initialize.</param>\n        private void InitializeCollectionProperties(Share shareToInitialize)\n        {\n\n            if (shareToInitialize != null && shareToInitialize.AdditionalData != null)\n            {\n\n                if (shareToInitialize.Items != null && shareToInitialize.Items.CurrentPage != null)\n                {\n                    shareToInitialize.Items.AdditionalData = shareToInitialize.AdditionalData;\n\n                    object nextPageLink;\n                    shareToInitialize.AdditionalData.TryGetValue(\"items@odata.nextLink\", out nextPageLink);\n                    var nextPageLinkString = nextPageLink as string;\n\n                    if (!string.IsNullOrEmpty(nextPageLinkString))\n                    {\n                        shareToInitialize.Items.InitializeNextPageRequest(\n                            this.Client,\n                            nextPageLinkString);\n                    }\n                }\n\n            }\n\n\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ShareRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ShareRequestBuilder.\n    /// </summary>\n    public partial class ShareRequestBuilder : BaseRequestBuilder, IShareRequestBuilder\n    {\n\n        /// <summary>\n        /// Constructs a new ShareRequestBuilder.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the built request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        public ShareRequestBuilder(\n            string requestUrl,\n            IBaseClient client)\n            : base(requestUrl, client)\n        {\n        }\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <returns>The built request.</returns>\n        public IShareRequest Request()\n        {\n            return this.Request(null);\n        }\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        public IShareRequest Request(IEnumerable<Option> options)\n        {\n            return new ShareRequest(this.RequestUrl, this.Client, options);\n        }\n    \n        /// <summary>\n        /// Gets the request builder for Items.\n        /// </summary>\n        /// <returns>The <see cref=\"IShareItemsCollectionRequestBuilder\"/>.</returns>\n        public IShareItemsCollectionRequestBuilder Items\n        {\n            get\n            {\n                return new ShareItemsCollectionRequestBuilder(this.AppendSegmentToRequestUrl(\"items\"), this.Client);\n            }\n        }\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ThumbnailContentRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ThumbnailContentRequest.\n    /// </summary>\n    public partial class ThumbnailContentRequest : BaseRequest, IThumbnailContentRequest\n    {\n        /// <summary>\n        /// Constructs a new ThumbnailContentRequest.\n        /// <param name=\"requestUrl\">The request URL.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        /// <param name=\"options\">Query option name value pairs for the request.</param>\n        /// </summary>\n        public ThumbnailContentRequest(\n            string requestUrl,\n            IBaseClient client,\n            IEnumerable<Option> options)\n            : base(requestUrl, client, options)\n        {\n        }\n\n        /// <summary>\n        /// Gets the stream.\n        /// </summary>\n        /// <returns>The stream.</returns>\n        public System.Threading.Tasks.Task<Stream> GetAsync()\n        {\n            return this.GetAsync(CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Gets the stream.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <param name=\"completionOption\">The <see cref=\"HttpCompletionOption\"/> to pass to the <see cref=\"IHttpProvider\"/> on send.</param>\n        /// <returns>The stream.</returns>\n        public System.Threading.Tasks.Task<Stream> GetAsync(CancellationToken cancellationToken, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead)\n        {\n            this.Method = \"GET\";\n            return this.SendStreamRequestAsync(null, cancellationToken, completionOption);\n        }\n    \n        /// <summary>\n        /// PUTs the specified stream.\n        /// </summary>\n        /// <typeparam name=\"T\">The type returned by the PUT call.</typeparam>\n        /// <param name=\"content\">The stream to PUT.</param>\n        /// <returns>The object returned by the PUT call.</returns>\n        public System.Threading.Tasks.Task<T> PutAsync<T>(Stream content) where T : Thumbnail\n        {\n            return this.PutAsync<T>(content, CancellationToken.None);\n        }\n\n        /// <summary>\n        /// PUTs the specified stream.\n        /// </summary>\n        /// <typeparam name=\"T\">The type returned by the PUT call.</typeparam>\n        /// <param name=\"content\">The stream to PUT.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <param name=\"completionOption\">The <see cref=\"HttpCompletionOption\"/> to pass to the <see cref=\"IHttpProvider\"/> on send.</param>\n        /// <returns>The object returned by the PUT call.</returns>\n        public System.Threading.Tasks.Task<T> PutAsync<T>(Stream content, CancellationToken cancellationToken, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead) where T : Thumbnail\n        {\n            this.ContentType = \"application/octet-stream\";\n            this.Method = \"PUT\";\n            return this.SendAsync<T>(content, cancellationToken, completionOption);\n        }\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ThumbnailContentRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System.Collections.Generic;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ThumbnailContentRequestBuilder.\n    /// </summary>\n    public partial class ThumbnailContentRequestBuilder : BaseRequestBuilder, IThumbnailContentRequestBuilder\n    {\n        /// <summary>\n        /// Constructs a new ThumbnailContentRequestBuilder.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the built request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        public ThumbnailContentRequestBuilder(\n            string requestUrl,\n            IBaseClient client)\n            : base(requestUrl, client)\n        {\n        }\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <returns>The built request.</returns>\n        public IThumbnailContentRequest Request()\n        {\n            return new ThumbnailContentRequest(this.RequestUrl, this.Client, null);\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ThumbnailSetRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Net.Http;\n    using System.Threading;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ThumbnailSetRequest.\n    /// </summary>\n    public partial class ThumbnailSetRequest : BaseRequest, IThumbnailSetRequest\n    {\n        /// <summary>\n        /// Constructs a new ThumbnailSetRequest.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the built request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        /// <param name=\"options\">Query and header option name value pairs for the request.</param>\n        public ThumbnailSetRequest(\n            string requestUrl,\n            IBaseClient client,\n            IEnumerable<Option> options)\n            : base(requestUrl, client, options)\n        {\n            this.SdkVersionHeaderPrefix = \"onedrive\";\n        }\n\n        /// <summary>\n        /// Creates the specified ThumbnailSet using PUT.\n        /// </summary>\n        /// <param name=\"thumbnailSetToCreate\">The ThumbnailSet to create.</param>\n        /// <returns>The created ThumbnailSet.</returns>\n        public System.Threading.Tasks.Task<ThumbnailSet> CreateAsync(ThumbnailSet thumbnailSetToCreate)\n        {\n            return this.CreateAsync(thumbnailSetToCreate, CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Creates the specified ThumbnailSet using PUT.\n        /// </summary>\n        /// <param name=\"thumbnailSetToCreate\">The ThumbnailSet to create.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The created ThumbnailSet.</returns>\n        public async System.Threading.Tasks.Task<ThumbnailSet> CreateAsync(ThumbnailSet thumbnailSetToCreate, CancellationToken cancellationToken)\n        {\n            this.ContentType = \"application/json\";\n            this.Method = \"PUT\";\n            var newEntity = await this.SendAsync<ThumbnailSet>(thumbnailSetToCreate, cancellationToken).ConfigureAwait(false);\n            this.InitializeCollectionProperties(newEntity);\n            return newEntity;\n        }\n\n        /// <summary>\n        /// Deletes the specified ThumbnailSet.\n        /// </summary>\n        /// <returns>The task to await.</returns>\n        public System.Threading.Tasks.Task DeleteAsync()\n        {\n            return this.DeleteAsync(CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Deletes the specified ThumbnailSet.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The task to await.</returns>\n        public async System.Threading.Tasks.Task DeleteAsync(CancellationToken cancellationToken)\n        {\n            this.Method = \"DELETE\";\n            await this.SendAsync<ThumbnailSet>(null, cancellationToken).ConfigureAwait(false);\n        }\n\n        /// <summary>\n        /// Gets the specified ThumbnailSet.\n        /// </summary>\n        /// <returns>The ThumbnailSet.</returns>\n        public System.Threading.Tasks.Task<ThumbnailSet> GetAsync()\n        {\n            return this.GetAsync(CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Gets the specified ThumbnailSet.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The ThumbnailSet.</returns>\n        public async System.Threading.Tasks.Task<ThumbnailSet> GetAsync(CancellationToken cancellationToken)\n        {\n            this.Method = \"GET\";\n            var retrievedEntity = await this.SendAsync<ThumbnailSet>(null, cancellationToken).ConfigureAwait(false);\n            this.InitializeCollectionProperties(retrievedEntity);\n            return retrievedEntity;\n        }\n\n        /// <summary>\n        /// Updates the specified ThumbnailSet using PATCH.\n        /// </summary>\n        /// <param name=\"thumbnailSetToUpdate\">The ThumbnailSet to update.</param>\n        /// <returns>The updated ThumbnailSet.</returns>\n        public System.Threading.Tasks.Task<ThumbnailSet> UpdateAsync(ThumbnailSet thumbnailSetToUpdate)\n        {\n            return this.UpdateAsync(thumbnailSetToUpdate, CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Updates the specified ThumbnailSet using PATCH.\n        /// </summary>\n        /// <param name=\"thumbnailSetToUpdate\">The ThumbnailSet to update.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The updated ThumbnailSet.</returns>\n        public async System.Threading.Tasks.Task<ThumbnailSet> UpdateAsync(ThumbnailSet thumbnailSetToUpdate, CancellationToken cancellationToken)\n        {\n            this.ContentType = \"application/json\";\n            this.Method = \"PATCH\";\n            var updatedEntity = await this.SendAsync<ThumbnailSet>(thumbnailSetToUpdate, cancellationToken).ConfigureAwait(false);\n            this.InitializeCollectionProperties(updatedEntity);\n            return updatedEntity;\n        }\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        public IThumbnailSetRequest Expand(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$expand\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        public IThumbnailSetRequest Select(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$select\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Initializes any collection properties after deserialization, like next requests for paging.\n        /// </summary>\n        /// <param name=\"thumbnailSetToInitialize\">The <see cref=\"ThumbnailSet\"/> with the collection properties to initialize.</param>\n        private void InitializeCollectionProperties(ThumbnailSet thumbnailSetToInitialize)\n        {\n\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/Generated/ThumbnailSetRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\n// **NOTE** This file was generated by a tool and any changes will be overwritten.\n\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ThumbnailSetRequestBuilder.\n    /// </summary>\n    public partial class ThumbnailSetRequestBuilder : BaseRequestBuilder, IThumbnailSetRequestBuilder\n    {\n\n        /// <summary>\n        /// Constructs a new ThumbnailSetRequestBuilder.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the built request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        public ThumbnailSetRequestBuilder(\n            string requestUrl,\n            IBaseClient client)\n            : base(requestUrl, client)\n        {\n        }\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <returns>The built request.</returns>\n        public IThumbnailSetRequest Request()\n        {\n            return this.Request(null);\n        }\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        public IThumbnailSetRequest Request(IEnumerable<Option> options)\n        {\n            return new ThumbnailSetRequest(this.RequestUrl, this.Client, options);\n        }\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/IThumbnailRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.IO;\n    using System.Net.Http;\n    using System.Threading;\n    using System.Threading.Tasks;\n    \n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IThumbnailRequest.\n    /// </summary>\n    public partial interface IThumbnailRequest : IBaseRequest\n    {\n        /// <summary>\n        /// Creates the specified Thumbnail using PUT.\n        /// </summary>\n        /// <param name=\"thumbnailToCreate\">The Thumbnail to create.</param>\n        /// <returns>The created Thumbnail.</returns>\n        Task<Thumbnail> CreateAsync(Thumbnail thumbnailToCreate);        /// <summary>\n        /// Creates the specified Thumbnail using PUT.\n        /// </summary>\n        /// <param name=\"thumbnailToCreate\">The Thumbnail to create.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The created Thumbnail.</returns>\n        Task<Thumbnail> CreateAsync(Thumbnail thumbnailToCreate, CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Deletes the specified Thumbnail.\n        /// </summary>\n        /// <returns>The task to await.</returns>\n        Task DeleteAsync();\n\n        /// <summary>\n        /// Deletes the specified Thumbnail.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The task to await.</returns>\n        Task DeleteAsync(CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Gets the specified Thumbnail.\n        /// </summary>\n        /// <returns>The Thumbnail.</returns>\n        Task<Thumbnail> GetAsync();\n\n        /// <summary>\n        /// Gets the specified Thumbnail.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The Thumbnail.</returns>\n        Task<Thumbnail> GetAsync(CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Updates the specified Thumbnail using PATCH.\n        /// </summary>\n        /// <param name=\"thumbnailToUpdate\">The Thumbnail to update.</param>\n        /// <returns>The updated Thumbnail.</returns>\n        Task<Thumbnail> UpdateAsync(Thumbnail thumbnailToUpdate);\n\n        /// <summary>\n        /// Updates the specified Thumbnail using PATCH.\n        /// </summary>\n        /// <param name=\"thumbnailToUpdate\">The Thumbnail to update.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The updated Thumbnail.</returns>\n        Task<Thumbnail> UpdateAsync(Thumbnail thumbnailToUpdate, CancellationToken cancellationToken);\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        IThumbnailRequest Expand(string value);\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        IThumbnailRequest Select(string value);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/IThumbnailRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    \n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IThumbnailRequestBuilder.\n    /// </summary>\n    public partial interface IThumbnailRequestBuilder : IBaseRequestBuilder\n    {\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <returns>The built request.</returns>\n        IThumbnailRequest Request();\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        IThumbnailRequest Request(IEnumerable<Option> options);\n    \n        /// <summary>\n        /// Gets the request builder for Content.\n        /// </summary>\n        /// <returns>The <see cref=\"IThumbnailContentRequestBuilder\"/>.</returns>\n        IThumbnailContentRequestBuilder Content { get; }\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/IUploadChunkRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.IO;\n    using System.Net.Http;\n    using System.Threading;\n    using System.Threading.Tasks;\n    \n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The interface IUploadChunkRequest.\n    /// </summary>\n    public partial interface IUploadChunkRequest : IBaseRequest\n    {\n        /// <summary>\n        /// Puts the specified Chunk.\n        /// </summary>\n        /// <returns>The task to await.</returns>\n        Task<UploadChunkResult> PutAsync(Stream stream);\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/ThumbnailRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Net.Http;\n    using System.Threading;\n    using System.Threading.Tasks;\n    \n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ThumbnailRequest.\n    /// </summary>\n    public partial class ThumbnailRequest : BaseRequest, IThumbnailRequest\n    {\n        /// <summary>\n        /// Constructs a new ThumbnailRequest.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the built request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        /// <param name=\"options\">Query and header option name value pairs for the request.</param>\n        public ThumbnailRequest(\n            string requestUrl,\n            IBaseClient client,\n            IEnumerable<Option> options)\n            : base(requestUrl, client, options)\n        {\n        }\n\n        /// <summary>\n        /// Creates the specified Thumbnail using PUT.\n        /// </summary>\n        /// <param name=\"thumbnailToCreate\">The Thumbnail to create.</param>\n        /// <returns>The created Thumbnail.</returns>\n        public Task<Thumbnail> CreateAsync(Thumbnail thumbnailToCreate)\n        {\n            return this.CreateAsync(thumbnailToCreate, CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Creates the specified Thumbnail using PUT.\n        /// </summary>\n        /// <param name=\"thumbnailToCreate\">The Thumbnail to create.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The created Thumbnail.</returns>\n        public async Task<Thumbnail> CreateAsync(Thumbnail thumbnailToCreate, CancellationToken cancellationToken)\n        {\n            this.ContentType = \"application/json\";\n            this.Method = \"PUT\";\n            var newEntity = await this.SendAsync<Thumbnail>(thumbnailToCreate, cancellationToken).ConfigureAwait(false);\n            this.InitializeCollectionProperties(newEntity);\n            return newEntity;\n        }\n\n        /// <summary>\n        /// Deletes the specified Thumbnail.\n        /// </summary>\n        /// <returns>The task to await.</returns>\n        public Task DeleteAsync()\n        {\n            return this.DeleteAsync(CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Deletes the specified Thumbnail.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The task to await.</returns>\n        public async Task DeleteAsync(CancellationToken cancellationToken)\n        {\n            this.Method = \"DELETE\";\n            await this.SendAsync<Thumbnail>(null, cancellationToken).ConfigureAwait(false);\n        }\n\n        /// <summary>\n        /// Gets the specified Thumbnail.\n        /// </summary>\n        /// <returns>The Thumbnail.</returns>\n        public Task<Thumbnail> GetAsync()\n        {\n            return this.GetAsync(CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Gets the specified Thumbnail.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The Thumbnail.</returns>\n        public async Task<Thumbnail> GetAsync(CancellationToken cancellationToken)\n        {\n            this.Method = \"GET\";\n            var retrievedEntity = await this.SendAsync<Thumbnail>(null, cancellationToken).ConfigureAwait(false);\n            this.InitializeCollectionProperties(retrievedEntity);\n            return retrievedEntity;\n        }\n\n        /// <summary>\n        /// Updates the specified Thumbnail using PATCH.\n        /// </summary>\n        /// <param name=\"thumbnailToUpdate\">The Thumbnail to update.</param>\n        /// <returns>The updated Thumbnail.</returns>\n        public Task<Thumbnail> UpdateAsync(Thumbnail thumbnailToUpdate)\n        {\n            return this.UpdateAsync(thumbnailToUpdate, CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Updates the specified Thumbnail using PATCH.\n        /// </summary>\n        /// <param name=\"thumbnailToUpdate\">The Thumbnail to update.</param>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The updated Thumbnail.</returns>\n        public async Task<Thumbnail> UpdateAsync(Thumbnail thumbnailToUpdate, CancellationToken cancellationToken)\n        {\n            this.ContentType = \"application/json\";\n            this.Method = \"PATCH\";\n            var updatedEntity = await this.SendAsync<Thumbnail>(thumbnailToUpdate, cancellationToken).ConfigureAwait(false);\n            this.InitializeCollectionProperties(updatedEntity);\n            return updatedEntity;\n        }\n\n        /// <summary>\n        /// Adds the specified expand value to the request.\n        /// </summary>\n        /// <param name=\"value\">The expand value.</param>\n        /// <returns>The request object to send.</returns>\n        public IThumbnailRequest Expand(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$expand\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the specified select value to the request.\n        /// </summary>\n        /// <param name=\"value\">The select value.</param>\n        /// <returns>The request object to send.</returns>\n        public IThumbnailRequest Select(string value)\n        {\n            this.QueryOptions.Add(new QueryOption(\"$select\", value));\n            return this;\n        }\n\n        /// <summary>\n        /// Initializes any collection properties after deserialization, like next requests for paging.\n        /// </summary>\n        /// <param name=\"thumbnailToInitialize\">The <see cref=\"Thumbnail\"/> with the collection properties to initialize.</param>\n        private void InitializeCollectionProperties(Thumbnail thumbnailToInitialize)\n        {\n        \n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/ThumbnailRequestBuilder.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    \n    using Microsoft.Graph;\n\n    /// <summary>\n    /// The type ThumbnailRequestBuilder.\n    /// </summary>\n    public partial class ThumbnailRequestBuilder : BaseRequestBuilder, IThumbnailRequestBuilder\n    {\n\n        /// <summary>\n        /// Constructs a new ThumbnailRequestBuilder.\n        /// </summary>\n        /// <param name=\"requestUrl\">The URL for the built request.</param>\n        /// <param name=\"client\">The <see cref=\"IBaseClient\"/> for handling requests.</param>\n        public ThumbnailRequestBuilder(\n            string requestUrl,\n            IBaseClient client)\n            : base(requestUrl, client)\n        {\n        }\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <returns>The built request.</returns>\n        public IThumbnailRequest Request()\n        {\n            return this.Request(null);\n        }\n\n        /// <summary>\n        /// Builds the request.\n        /// </summary>\n        /// <param name=\"options\">The query and header options for the request.</param>\n        /// <returns>The built request.</returns>\n        public IThumbnailRequest Request(IEnumerable<Option> options)\n        {\n            return new ThumbnailRequest(this.RequestUrl, this.Client, options);\n        }\n    \n        /// <summary>\n        /// Gets the request builder for Content.\n        /// </summary>\n        /// <returns>The <see cref=\"IThumbnailContentRequestBuilder\"/>.</returns>\n        public IThumbnailContentRequestBuilder Content\n        {\n            get\n            {\n                return new ThumbnailContentRequestBuilder(this.AppendSegmentToRequestUrl(\"content\"), this.Client);\n            }\n        }\n    \n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/UploadChunkRequest.cs",
    "content": "// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\nusing System.Linq;\nusing System.Net;\nusing System.Net.Http.Headers;\nusing System.Runtime.Serialization;\n\nnamespace Microsoft.OneDrive.Sdk\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Net.Http;\n    using System.Threading;\n    using System.Threading.Tasks;\n\n    using Microsoft.Graph;\n    \n    /// <summary>\n    /// The type UploadChunkRequest.\n    /// </summary>\n    public partial class UploadChunkRequest : BaseRequest, IUploadChunkRequest\n    {\n        public long RangeBegin { get; private set; }\n        public long RangeEnd { get; private set; }\n        public long TotalSessionLength { get; private set; }\n        public int RangeLength => (int)(this.RangeEnd - this.RangeBegin + 1);\n\n        /// <summary>\n        /// Request for uploading one chunk of a session\n        /// </summary>\n        /// <param name=\"sessionUrl\">URL to upload the chunk.</param>\n        /// <param name=\"client\">Client used for sending the chunk.</param>\n        /// <param name=\"options\">Options</param>\n        /// <param name=\"rangeBegin\">Beginning of range of this chunk</param>\n        /// <param name=\"rangeEnd\">End of range of this chunk</param>\n        /// <param name=\"totalSessionLength\">Total session length. This MUST be consistent\n        /// across all chunks.</param>\n        public UploadChunkRequest(\n            string sessionUrl,\n            IBaseClient client,\n            IEnumerable<Option> options,\n            long rangeBegin,\n            long rangeEnd,\n            long totalSessionLength)\n            : base(sessionUrl, client, options)\n        {\n            this.RangeBegin = rangeBegin;\n            this.RangeEnd = rangeEnd;\n            this.TotalSessionLength = totalSessionLength;\n        }\n\n        /// <summary>\n        /// Uploads the chunk using PUT.\n        /// </summary>\n        /// <returns>The status of the upload.</returns>\n        public Task<UploadChunkResult> PutAsync(Stream stream)\n        {\n            return this.PutAsync(stream, CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Uploads the chunk using PUT.\n        /// </summary>\n        /// <param name=\"stream\">Stream of data to be sent in the request. Length must be equal to the length\n        /// of this chunk (as defined by this.RangeLength)</param>\n        /// <param name=\"cancellationToken\">The cancellation token</param>\n        /// <returns>The status of the upload. If UploadSession.AdditionalData.ContainsKey(\"successResponse\")\n        /// is true, then the item has completed, and the value is the created item from the server.</returns>\n        public virtual async Task<UploadChunkResult> PutAsync(Stream stream, CancellationToken cancellationToken)\n        {\n            this.Method = \"PUT\";\n            using (var response = await this.SendRequestAsync(stream, cancellationToken).ConfigureAwait(false))\n            {\n                if (response.Content != null)\n                {\n                    var responseString = await response.Content.ReadAsStringAsync();\n                    \n                    if (response.StatusCode == HttpStatusCode.Created || response.StatusCode == HttpStatusCode.OK)\n                    {\n                        return new UploadChunkResult\n                            {\n                                ItemResponse =\n                                    this.Client.HttpProvider.Serializer.DeserializeObject<Item>(responseString)\n                            };\n                    }\n                    else\n                    {\n                        try\n                        {\n                            return new UploadChunkResult\n                                {\n                                    UploadSession =\n                                        this.Client.HttpProvider.Serializer.DeserializeObject<UploadSession>(responseString)\n                                };\n                        }\n                        catch (SerializationException exception)\n                        {\n                            throw new ServiceException(new Error()\n                                {\n                                    Code = OneDriveErrorCode.GeneralException.ToString(),\n                                    Message = \"Error deserializing UploadSession response: \" + exception.Message,\n                                    AdditionalData = new Dictionary<string, object>\n                                        {\n                                            { \"rawResponse\", responseString },\n                                            { \"rawHeaders\", string.Join(\", \", response.Headers.Select(h => $\"{h.Key}: {h.Value}\"))}\n                                        }\n                                });\n                        }\n                    }\n                }\n\n                throw new ServiceException(new Error\n                    {\n                        Code = OneDriveErrorCode.GeneralException.ToString(),\n                        Message = \"UploadChunkRequest received no response.\"\n                    });\n            }\n        }\n\n        private async Task<HttpResponseMessage> SendRequestAsync(\n            Stream stream,\n            CancellationToken cancellationToken,\n            HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead)\n        {\n            if (string.IsNullOrEmpty(this.RequestUrl))\n            {\n                throw new ArgumentNullException(nameof(this.RequestUrl), \"Session Upload URL cannot be null or empty.\");\n            }\n\n            if (this.Client.AuthenticationProvider == null)\n            {\n                throw new ArgumentNullException(nameof(this.Client.AuthenticationProvider), \"Client.AuthenticationProvider must not be null.\");\n            }\n\n            using (var request = this.GetHttpRequestMessage())\n            {\n                request.Content = new StreamContent(stream);\n                request.Content.Headers.ContentRange =\n                    new ContentRangeHeaderValue(this.RangeBegin, this.RangeEnd, this.TotalSessionLength);\n                request.Content.Headers.ContentLength = this.RangeLength;\n\n                return await this.Client.HttpProvider.SendAsync(request, completionOption, cancellationToken).ConfigureAwait(false);\n            }\n        }\n    }\n\n    public class UploadChunkResult\n    {\n        public UploadSession UploadSession;\n        public Item ItemResponse;\n        public bool UploadSucceeded => this.ItemResponse != null;\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/Requests/UploadSessionRequest.cs",
    "content": "﻿// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\nnamespace Microsoft.OneDrive.Sdk.Helpers\n{\n    using Microsoft.Graph;\n    \n    using System.Collections.Generic;\n    using System.Threading;\n    using System.Threading.Tasks;\n    public class UploadSessionRequest : BaseRequest\n    {\n        private readonly UploadSession session;\n\n        public UploadSessionRequest(UploadSession session, IBaseClient client, IEnumerable<Option> options)\n            : base(session.UploadUrl, client, options)\n        {\n            this.session = session;\n        }\n\n        /// <summary>\n        /// Deletes the specified Session\n        /// </summary>\n        /// <returns>The task to await.</returns>\n        public Task DeleteAsync()\n        {\n            return this.DeleteAsync(CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Deletes the specified Session\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The task to await.</returns>\n        public async Task DeleteAsync(CancellationToken cancellationToken)\n        {\n            this.Method = \"DELETE\";\n            await this.SendAsync<UploadSession>(null, cancellationToken).ConfigureAwait(false);\n        }\n\n        /// <summary>\n        /// Gets the specified UploadSession.\n        /// </summary>\n        /// <returns>The Item.</returns>\n        public Task<UploadSession> GetAsync()\n        {\n            return this.GetAsync(CancellationToken.None);\n        }\n\n        /// <summary>\n        /// Gets the specified UploadSession.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The <see cref=\"CancellationToken\"/> for the request.</param>\n        /// <returns>The Item.</returns>\n        public async Task<UploadSession> GetAsync(CancellationToken cancellationToken)\n        {\n            this.Method = \"GET\";\n            var retrievedEntity = await this.SendAsync<UploadSession>(null, cancellationToken).ConfigureAwait(false);\n            return retrievedEntity;\n        }\n    }\n}\n"
  },
  {
    "path": "src/OneDriveSdk/app.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n  <runtime>\n    <assemblyBinding xmlns=\"urn:schemas-microsoft-com:asm.v1\">\n      <dependentAssembly>\n        <assemblyIdentity name=\"Newtonsoft.Json\" publicKeyToken=\"30ad4fe6b2a6aeed\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-6.0.0.0\" newVersion=\"6.0.0.0\" />\n      </dependentAssembly>\n    </assemblyBinding>\n  </runtime>\n</configuration>"
  },
  {
    "path": "src/OneDriveSdk/packages.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<packages>\n  <package id=\"Microsoft.Graph.Core\" version=\"1.3.1\" targetFramework=\"portable45-net45+win8+wpa81\" />\n  <package id=\"Newtonsoft.Json\" version=\"9.0.1\" targetFramework=\"portable45-net45+win8+wpa81\" />\n</packages>"
  },
  {
    "path": "tests/Test.OneDriveSdk/ChunkedUploadProviderTests.cs",
    "content": "﻿// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing System.Threading;\nusing System.Threading.Tasks;\n\nusing Microsoft.Graph;\n\nusing Test.OneDrive.Sdk.Mocks;\n\nnamespace Test.OneDrive.Sdk\n{\n\n    using Microsoft.OneDrive.Sdk;\n    using Microsoft.OneDrive.Sdk.Helpers;\n    using Microsoft.VisualStudio.TestTools.UnitTesting;\n    using Moq;\n\n    [TestClass]\n    public class ChunkedUploadProviderTests\n    {\n        private Mock<UploadSession> uploadSession;\n        private Mock<IBaseClient> client;\n        private Mock<Stream> uploadStream;\n        private int myChunkSize;\n\n        private Mock<ChunkedUploadProvider> mockChunkUploadProvider;\n\n        [TestInitialize]\n        public void TestInitialize()\n        {\n            this.uploadSession = new Mock<UploadSession>();\n            this.uploadSession.Object.NextExpectedRanges = new[] {\"0-\"};\n            this.uploadSession.Object.UploadUrl = \"http://www.example.com/api/v1.0\";\n            this.client = new Mock<IBaseClient>();\n            this.uploadStream = new Mock<Stream>();\n            this.StreamSetup(true);\n            this.myChunkSize = 320 * 1024;\n            this.mockChunkUploadProvider = new Mock<ChunkedUploadProvider>();\n        }\n\n        [TestMethod]\n        public void ConstructorTest_Valid()\n        {\n            this.StreamSetup(true);\n\n            var uploadProvider = new ChunkedUploadProvider(\n                this.uploadSession.Object, \n                this.client.Object,\n                this.uploadStream.Object,\n                320*1024);\n        }\n\n        [TestMethod]\n        [ExpectedException(typeof(ArgumentException))]\n        public void ConstructorTest_InvalidStream()\n        {\n            this.StreamSetup(false);\n\n            var uploadProvider = new ChunkedUploadProvider(\n                this.uploadSession.Object,\n                this.client.Object,\n                this.uploadStream.Object,\n                320*1024);\n        }\n\n        [TestMethod]\n        [ExpectedException(typeof(ArgumentException))]\n        public void ConstructorTest_InvalidChunkSize()\n        {\n            this.StreamSetup(false);\n\n            var uploadProvider = new ChunkedUploadProvider(\n                this.uploadSession.Object,\n                this.client.Object,\n                this.uploadStream.Object,\n                12);\n        }\n\n        [TestMethod]\n        public void GetUploadChunkRequests_OneRangeOneChunk()\n        {\n            var chunkSize = 320 * 1024;\n            var totalSize = 100;\n            var results = this.SetupGetUploadChunksTest(chunkSize, totalSize, new[] {\"0-\"});\n            var expectedRanges = new[] {new Tuple<long, long, long>(0, 99, 100)};\n            this.AssertChunksAre(this.CreateUploadExpectedChunkRequests(expectedRanges), results);\n        }\n\n        [TestMethod]\n        public void GetUploadChunkRequests_OneRangeMultiChunk()\n        {\n            var chunkSize = 320 * 1024;\n            var totalSize = chunkSize*2 + 1;\n            var results = this.SetupGetUploadChunksTest(chunkSize, totalSize, new[] { \"0-\" });\n            var expectedRanges = new[]\n                {\n                    new Tuple<long, long, long>(0, chunkSize-1, totalSize),\n                    new Tuple<long, long, long>(chunkSize, 2*chunkSize-1, totalSize),\n                    new Tuple<long, long, long>(2*chunkSize, 2*chunkSize, totalSize),\n                };\n            this.AssertChunksAre(this.CreateUploadExpectedChunkRequests(expectedRanges), results);\n        }\n\n        [TestMethod]\n        public void GetUploadChunkRequests_MultiRangeMultiChunk()\n        {\n            var chunkSize = 320 * 1024;\n            var totalSize = chunkSize*5;\n            var offset = 20;\n            var results = this.SetupGetUploadChunksTest(chunkSize, totalSize, new[]\n                {\n                    $\"0-{chunkSize}\",\n                    $\"{chunkSize*3 - offset}-\"\n                });\n            var expectedRanges = new[]\n                {\n                    // 0 - chunkSize\n                    new Tuple<long, long, long>(0, chunkSize - 1, totalSize),\n                    new Tuple<long, long, long>(chunkSize, chunkSize, totalSize),\n                    // (chunkSize*3-offset) - end\n                    new Tuple<long, long, long>(3*chunkSize - offset, 4*chunkSize - offset - 1, totalSize),\n                    new Tuple<long, long, long>(4*chunkSize - offset, 5*chunkSize - offset - 1, totalSize),\n                    new Tuple<long, long, long>(5*chunkSize - offset, 5*chunkSize - 1, totalSize)\n                };\n            this.AssertChunksAre(this.CreateUploadExpectedChunkRequests(expectedRanges), results);\n        }\n\n        [TestMethod]\n        public void GetRangesRemaining_OneRangeOneChunk()\n        {\n            var chunkSize = 320*1024;\n            var totalSize = 100;\n            var results = this.SetupRangesRemainingTest(chunkSize, totalSize, new[] {\"0-\"});\n            var expected = new List<Tuple<long, long>> {new Tuple<long, long>(0, 99)};\n            this.AssertRangesAre(expected, results);\n        }\n\n        [TestMethod]\n        public void GetRangesRemaining_OneRangeMultiChunk()\n        {\n            var chunkSize = 320*1024;\n            var totalSize = chunkSize*2 + 1;\n            var results = this.SetupRangesRemainingTest(chunkSize, totalSize, new[] { \"0-\" });\n            var expected = new List<Tuple<long, long>>\n                {\n                    new Tuple<long, long>(0, chunkSize*2)\n                };\n            this.AssertRangesAre(expected, results);\n        }\n\n        [TestMethod]\n        public void GetRangesRemaining_MultiRangeMultiChunk()\n        {\n            var chunkSize = 320*1024;\n            var totalSize = chunkSize*5;\n            var results = this.SetupRangesRemainingTest(chunkSize, totalSize, new[]\n                {\n                    $\"0-{chunkSize - 1}\",\n                    $\"{chunkSize*2}-{chunkSize*3}\",\n                    $\"{chunkSize*4}-\"\n                });\n            var expected = new[]\n                {\n                    new Tuple<long, long>(0, chunkSize - 1),\n                    new Tuple<long, long>(chunkSize*2, chunkSize*3),\n                    new Tuple<long, long>(chunkSize*4, chunkSize*5-1)\n                };\n            this.AssertRangesAre(expected, results);\n        }\n\n        [TestMethod]\n        public void GetChunkRequestResponseTest_Success()\n        {\n            var result = this.SetupGetChunkResponseTest(verifyTrackedExceptions: false);\n\n            Assert.IsNotNull(result.ItemResponse, \"Expected Item in ItemResponse\");\n            Assert.IsTrue(result.UploadSucceeded);\n        }\n\n        [TestMethod]\n        public void GetChunkRequestResponseTest_SuccessAfterOneException()\n        {\n            var exception = new ServiceException(new Error {Code = \"GeneralException\"});\n            var result = this.SetupGetChunkResponseTest(exception);\n\n            Assert.IsNotNull(result.ItemResponse, \"Expected Item in ItemResponse\");\n            Assert.IsTrue(result.UploadSucceeded);\n        }\n\n        [TestMethod]\n        [ExpectedException(typeof(ServiceException))]\n        public void GetChunkRequestResponseTest_Fail()\n        {\n            var exception = new ServiceException(new Error { Code = \"Timeout\" });\n            var result = this.SetupGetChunkResponseTest(exception, failsOnce: false);\n        }\n\n        [TestMethod]\n        public void GetChunkRequestResponseTest_InvalidRange()\n        {\n            var exception = new ServiceException(new Error { Code = \"InvalidRange\" });\n            var result = this.SetupGetChunkResponseTest(exception, verifyTrackedExceptions: false);\n\n            Assert.IsNull(result.ItemResponse, \"Expected no Item in ItemResponse\");\n            Assert.IsNull(result.UploadSession, \"Expected no UploadSession in response\");\n        }\n\n        [TestMethod]\n        public void UploadAsync_RetryUpToMax()\n        {\n            const string resultId = \"awesome\";\n            var provider = new Mock<ChunkedUploadProvider>(\n                this.uploadSession.Object,\n                this.client.Object,\n                this.uploadStream.Object,\n                this.myChunkSize)\n                {\n                    CallBase = true\n                };\n\n            var mockRequest = new Mock<UploadChunkRequest>(\n                \"http://www.example.com/api/v1.0\",\n                this.client.Object,\n                null,\n                0,\n                1,\n                2);\n\n            var emptyList = new List<UploadChunkRequest>();\n            var singleRequest = new List<UploadChunkRequest> {mockRequest.Object};\n\n            provider.SetupSequence(p => p.GetUploadChunkRequests(It.IsAny<IEnumerable<Option>>()))\n                .Returns(emptyList)\n                .Returns(emptyList)\n                .Returns(singleRequest);\n\n            provider.Setup(p => p.GetChunkRequestResponseAsync(\n                It.IsAny<UploadChunkRequest>(),\n                It.IsAny<byte[]>(),\n                It.IsAny<ICollection<Exception>>()))\n                .Returns(Task.FromResult(new UploadChunkResult {ItemResponse = new Item {Id = resultId} }));\n\n            provider.Setup(p => p.UpdateSessionStatusAsync()).Returns(Task.FromResult(new UploadSession()));\n\n            var task = provider.Object.UploadAsync(maxTries: 3);\n            task.Wait();\n            \n            Assert.AreEqual(task.Result?.Id, resultId, \"Unexpected Item result\");\n        }\n\n        [TestMethod]\n        [ExpectedException(typeof(TaskCanceledException))]\n        public void UploadAsync_TooManyRetries()\n        {\n            var provider = new Mock<ChunkedUploadProvider>(\n                this.uploadSession.Object,\n                this.client.Object,\n                this.uploadStream.Object,\n                this.myChunkSize)\n            {\n                CallBase = true\n            };\n            \n            var emptyList = new List<UploadChunkRequest>();\n\n            provider.SetupSequence(p => p.GetUploadChunkRequests(It.IsAny<IEnumerable<Option>>()))\n                .Returns(emptyList)\n                .Returns(emptyList)\n                .Returns(emptyList);\n\n            provider.Setup(p => p.UpdateSessionStatusAsync()).Returns(Task.FromResult(new UploadSession()));\n\n            try\n            {\n                var task = provider.Object.UploadAsync(maxTries: 3);\n                task.Wait();\n            }\n            catch (AggregateException exception)\n            {\n                throw exception.InnerException;\n            }\n        }\n\n        private List<Tuple<long, long>> SetupRangesRemainingTest(\n            int chunkSize,\n            long currentFileSize,\n            IList<string> nextExpectedRanges)\n        {\n            this.StreamSetup(true);\n            var provider = new TestChunkedUploadProvider(\n                this.uploadSession.Object,\n                this.client.Object,\n                this.uploadStream.Object,\n                chunkSize);\n            var url = \"http://myurl\";\n            this.uploadStream.Setup(s => s.Length).Returns(currentFileSize);\n            var session = new UploadSession\n                {\n                    UploadUrl = url,\n                    NextExpectedRanges = nextExpectedRanges\n                };\n\n            return provider.GetRangesRemainingProxy(session);\n        }\n\n        private IEnumerable<UploadChunkRequest> SetupGetUploadChunksTest(int chunkSize, long totalSize, IEnumerable<string> ranges)\n        {\n            this.uploadSession.Object.NextExpectedRanges = ranges;\n            this.uploadStream = new Mock<Stream>();\n            this.uploadStream.Setup(s => s.Length).Returns(totalSize);\n            this.StreamSetup(true);\n\n            var provider = new ChunkedUploadProvider(\n                this.uploadSession.Object,\n                this.client.Object,\n                this.uploadStream.Object,\n                chunkSize);\n\n            return provider.GetUploadChunkRequests();\n        }\n        \n        private UploadChunkResult SetupGetChunkResponseTest(ServiceException serviceException = null, bool failsOnce = true, bool verifyTrackedExceptions = true)\n        {\n            var chunkSize = 320 * 1024;\n            var bytesToUpload = new byte[] { 4, 8, 15, 16 };\n            var trackedExceptions = new List<Exception>();\n            this.uploadSession.Object.NextExpectedRanges = new[] { \"0-\" };\n            var stream = new MemoryStream(bytesToUpload.Length);\n            stream.Write(bytesToUpload, 0, bytesToUpload.Length);\n            stream.Seek(0, SeekOrigin.Begin);\n\n            var provider = new ChunkedUploadProvider(\n                this.uploadSession.Object,\n                this.client.Object,\n                stream,\n                chunkSize);\n\n            var mockRequest = new Mock<UploadChunkRequest>(\n                this.uploadSession.Object.UploadUrl,\n                this.client.Object,\n                null,\n                0,\n                bytesToUpload.Length - 1,\n                bytesToUpload.Length);\n\n            if (serviceException != null && failsOnce)\n            {\n                mockRequest.SetupSequence(r => r.PutAsync(\n                    It.IsAny<Stream>(),\n                    It.IsAny<CancellationToken>()))\n                    .Throws(serviceException)\n                    .Returns(Task.FromResult(new UploadChunkResult() { ItemResponse = new Item()}));\n            }\n            else if (serviceException != null)\n            {\n                mockRequest.Setup(r => r.PutAsync(\n                    It.IsAny<Stream>(),\n                    It.IsAny<CancellationToken>()))\n                    .Throws(serviceException);\n            }\n            else\n            {\n                mockRequest.Setup(r => r.PutAsync(\n                    It.IsAny<Stream>(),\n                    It.IsAny<CancellationToken>()))\n                    .Returns(Task.FromResult(new UploadChunkResult { ItemResponse = new Item()}));\n            }\n\n            var task = provider.GetChunkRequestResponseAsync(mockRequest.Object, bytesToUpload, trackedExceptions);\n            try\n            {\n                task.Wait();\n            }\n            catch (AggregateException exception)\n            {\n                throw exception.InnerException;\n            }\n\n            if (verifyTrackedExceptions)\n            {\n                Assert.IsTrue(trackedExceptions.Contains(serviceException), \"Expected ServiceException in TrackedException list\");\n            }\n\n            return task.Result;\n        }\n\n        private void AssertRangesAre(IList<Tuple<long, long>> rangesExpected, IList<Tuple<long, long>> rangesReceived)\n        {\n            Assert.AreEqual(rangesExpected.Count, rangesReceived.Count, \"Unexpected number of ranges remaining\");\n            for (var index = 0; index < rangesExpected.Count; index++)\n            {\n                Assert.AreEqual(\n                    rangesExpected[index],\n                    rangesReceived[index],\n                    string.Format(\"Expected range {0}-{1}, received {2}-{3}\",\n                        rangesExpected[index].Item1,\n                        rangesExpected[index].Item2,\n                        rangesReceived[index].Item1,\n                        rangesReceived[index].Item2));\n            }\n        }\n\n        private void AssertChunksAre(IEnumerable<UploadChunkRequest> expectedChunks,\n                                     IEnumerable<UploadChunkRequest> receivedChunks)\n        {\n            Assert.AreEqual(expectedChunks.Count(), receivedChunks.Count(), \"Incorrect number of chunks received\");\n            var receivedSet = new HashSet<Tuple<long, long, long>>();\n            foreach (var chunk in receivedChunks)\n            {\n                Assert.IsTrue(receivedSet.Add(new Tuple<long, long, long>(chunk.RangeBegin, chunk.RangeEnd, chunk.TotalSessionLength)),\n                    \"Duplicate range added\");\n            }\n\n            foreach (var chunk in expectedChunks)\n            {\n                Assert.IsTrue(receivedSet.Remove(new Tuple<long, long, long>(chunk.RangeBegin, chunk.RangeEnd, chunk.TotalSessionLength)),\n                    $\"Expected chunk not found: {chunk.RangeBegin}-{chunk.RangeEnd}/{chunk.TotalSessionLength}\");\n            }\n        }\n\n        private IEnumerable<UploadChunkRequest> CreateUploadExpectedChunkRequests(\n            IEnumerable<Tuple<long, long, long>> chunkSpecifiers)\n        {\n            return chunkSpecifiers.Select(chunk => new UploadChunkRequest(\n                \"http://www.example.com/api/v1.0\",\n                this.client.Object,\n                null,\n                chunk.Item1,\n                chunk.Item2,\n                chunk.Item3));\n        }\n\n        private void StreamSetup(bool canReadAndSeek)\n        {\n            this.uploadStream.Setup(s => s.CanSeek).Returns(canReadAndSeek);\n            this.uploadStream.Setup(s => s.CanRead).Returns(canReadAndSeek);\n        }\n    }\n}\n"
  },
  {
    "path": "tests/Test.OneDriveSdk/Mocks/ExceptionHttpMessageHandler.cs",
    "content": "﻿// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\nnamespace Test.OneDrive.Sdk.Mocks\n{\n    using System;\n    using System.Net.Http;\n    using System.Threading;\n    using System.Threading.Tasks;\n\n    public class ExceptionHttpMessageHandler : HttpMessageHandler\n    {\n        private Exception exceptionToThrow;\n\n        public ExceptionHttpMessageHandler(Exception exceptionToThrow)\n        {\n            this.exceptionToThrow = exceptionToThrow;\n        }\n\n        protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)\n        {\n            throw exceptionToThrow;\n        }\n    }\n}\n"
  },
  {
    "path": "tests/Test.OneDriveSdk/Mocks/MockAuthenticationProvider.cs",
    "content": "﻿// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\nnamespace Test.OneDrive.Sdk.Mocks\n{\n    using System.Net.Http;\n    using System.Threading.Tasks;\n\n    using Microsoft.Graph;\n    using Moq;\n\n    public class MockAuthenticationProvider : Mock<IAuthenticationProvider>\n    {\n        public MockAuthenticationProvider()\n            : base(MockBehavior.Strict)\n        {\n            this.SetupAllProperties();\n\n            this.Setup(provider => provider.AuthenticateRequestAsync(It.IsAny<HttpRequestMessage>())).Returns(Task.FromResult(0));\n        }\n    }\n}\n"
  },
  {
    "path": "tests/Test.OneDriveSdk/Mocks/MockHttpProvider.cs",
    "content": "﻿// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\nnamespace Test.OneDrive.Sdk.Mocks\n{\n    using System.Net.Http;\n    using System.Threading.Tasks;\n\n    using Microsoft.Graph;\n    using Moq;\n\n    public class MockHttpProvider : Mock<IHttpProvider>\n    {\n        public MockHttpProvider(HttpResponseMessage httpResponseMessage, ISerializer serializer = null)\n            : base(MockBehavior.Strict)\n        {\n            this.SetupAllProperties();\n\n            this.Setup(\n                provider => provider.SendAsync(It.IsAny<HttpRequestMessage>()))\n                .Returns(Task.FromResult(httpResponseMessage));\n\n            this.SetupGet(provider => provider.Serializer).Returns(serializer);\n        }\n    }\n}\n"
  },
  {
    "path": "tests/Test.OneDriveSdk/Mocks/MockSerializer.cs",
    "content": "﻿// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\nnamespace Test.OneDrive.Sdk.Mocks\n{\n    using Microsoft.Graph;\n    using Moq;\n\n    public class MockSerializer : Mock<ISerializer>\n    {\n        public MockSerializer()\n            : base(MockBehavior.Strict)\n        {\n        }\n    }\n}\n"
  },
  {
    "path": "tests/Test.OneDriveSdk/Mocks/TestChunkedUploadProvider.cs",
    "content": "﻿// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Threading.Tasks;\n\nusing Microsoft.Graph;\nusing Microsoft.OneDrive.Sdk;\nusing Microsoft.OneDrive.Sdk.Helpers;\n\nnamespace Test.OneDrive.Sdk.Mocks\n{\n    public class TestChunkedUploadProvider : ChunkedUploadProvider\n    {\n        public TestChunkedUploadProvider(UploadSession session, IBaseClient client, Stream uploadStream, int maxChunkSize = -1)\n            :base(session, client, uploadStream, maxChunkSize)\n        { }\n\n        public List<Tuple<long, long>> GetRangesRemainingProxy(UploadSession session)\n        {\n            return this.GetRangesRemaining(session);\n        }\n    }\n}\n"
  },
  {
    "path": "tests/Test.OneDriveSdk/Mocks/TestHttpMessageHandler.cs",
    "content": "﻿// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\nnamespace Test.OneDrive.Sdk.Mocks\n{\n    using System.Collections.Generic;\n    using System.Net.Http;\n    using System.Threading;\n    using System.Threading.Tasks;\n\n    public class TestHttpMessageHandler : HttpMessageHandler\n    {\n        private Dictionary<string, HttpResponseMessage> responseMessages;\n\n        public TestHttpMessageHandler()\n        {\n            this.responseMessages = new Dictionary<string, HttpResponseMessage>();\n        }\n\n        public void AddResponseMapping(string requestUrl, HttpResponseMessage responseMessage)\n        {\n            this.responseMessages.Add(requestUrl, responseMessage);\n        }\n\n        protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)\n        {\n            HttpResponseMessage responseMessage;\n\n            if (this.responseMessages.TryGetValue(request.RequestUri.ToString(), out responseMessage))\n            {\n                responseMessage.RequestMessage = request;\n                return Task.FromResult(responseMessage);\n            }\n\n            return Task.FromResult<HttpResponseMessage>(null);\n        }\n    }\n}\n"
  },
  {
    "path": "tests/Test.OneDriveSdk/Properties/AssemblyInfo.cs",
    "content": "﻿using System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n// General Information about an assembly is controlled through the following \n// set of attributes. Change these attribute values to modify the information\n// associated with an assembly.\n[assembly: AssemblyTitle(\"Test.OneDrive.Sdk\")]\n[assembly: AssemblyDescription(\"\")]\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"\")]\n[assembly: AssemblyProduct(\"Test.OneDrive.Sdk\")]\n[assembly: AssemblyCopyright(\"Copyright © 2016\")]\n[assembly: AssemblyTrademark(\"\")]\n[assembly: AssemblyCulture(\"\")]\n\n// Setting ComVisible to false makes the types in this assembly not visible \n// to COM components.  If you need to access a type in this assembly from \n// COM, set the ComVisible attribute to true on that type.\n[assembly: ComVisible(false)]\n\n// The following GUID is for the ID of the typelib if this project is exposed to COM\n[assembly: Guid(\"e3a990aa-5628-42aa-a8d4-1c599602dd96\")]\n\n// Version information for an assembly consists of the following four values:\n//\n//      Major Version\n//      Minor Version \n//      Build Number\n//      Revision\n//\n// You can specify all the values or you can default the Build and Revision Numbers \n// by using the '*' as shown below:\n// [assembly: AssemblyVersion(\"1.0.*\")]\n[assembly: AssemblyVersion(\"1.0.0\")]\n[assembly: AssemblyFileVersion(\"1.0.0\")]\n"
  },
  {
    "path": "tests/Test.OneDriveSdk/Requests/ItemRequestTests.cs",
    "content": "﻿// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\nnamespace Test.OneDrive.Sdk.Requests\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Net;\n    using System.Net.Http;\n    using System.Threading;\n    using System.Threading.Tasks;\n\n    using Microsoft.OneDrive.Sdk;\n    using Microsoft.VisualStudio.TestTools.UnitTesting;\n    using Moq;\n    \n    [TestClass]\n    public class ItemRequestTests : RequestTestBase\n    {\n        [TestMethod]\n        public async Task GetAsync_InitializeCollectionProperties()\n        {\n            using (var httpResponseMessage = new HttpResponseMessage())\n            using (var responseStream = new MemoryStream())\n            using (var streamContent = new StreamContent(responseStream))\n            {\n                httpResponseMessage.Content = streamContent;\n\n                var requestUrl = \"https://api.onedrive.com/v1.0/drive/items/id\";\n                this.httpProvider.Setup(\n                    provider => provider.SendAsync(\n                        It.Is<HttpRequestMessage>(\n                            request => request.RequestUri.ToString().Equals(requestUrl)),\n                        HttpCompletionOption.ResponseContentRead,\n                        CancellationToken.None))\n                    .Returns(Task.FromResult<HttpResponseMessage>(httpResponseMessage));\n\n                var expectedChildrenPage = new ItemChildrenCollectionPage\n                {\n                    new Item { Id = \"id\" }\n                };\n\n                var expectedItemResponse = new Item\n                {\n                    AdditionalData = new Dictionary<string, object>\n                    {\n                        { \"children@odata.nextLink\", requestUrl + \"/next\" }\n                    },\n                    Children = expectedChildrenPage,\n                };\n\n                this.serializer.Setup(\n                    serializer => serializer.DeserializeObject<Item>(It.IsAny<string>()))\n                    .Returns(expectedItemResponse);\n\n                var item = await this.oneDriveClient.Drive.Items[\"id\"].Request().GetAsync();\n\n                Assert.IsNotNull(item, \"Item not returned.\");\n                Assert.IsNotNull(item.Children, \"Item children not returned.\");\n                Assert.AreEqual(1, item.Children.CurrentPage.Count, \"Unexpected number of children in page.\");\n                Assert.AreEqual(\"id\", item.Children.CurrentPage[0].Id, \"Unexpected child ID in page.\");\n                Assert.AreEqual(expectedItemResponse.AdditionalData, item.Children.AdditionalData, \"Additional data not initialized correctly.\");\n                var nextPageRequest = item.Children.NextPageRequest as ItemChildrenCollectionRequest;\n                Assert.IsNotNull(nextPageRequest, \"Children next page request not initialized correctly.\");\n                Assert.AreEqual(new Uri(requestUrl + \"/next\"), new Uri(nextPageRequest.RequestUrl), \"Unexpected request URL for next page request.\");\n            }\n        }\n\n        [TestMethod]\n        public void ItemById_BuildRequest()\n        {\n            var expectedRequestUri = new Uri(\"https://api.onedrive.com/v1.0/drive/items/id\");\n            var itemRequestBuilder = this.oneDriveClient.Drive.Items[\"id\"] as ItemRequestBuilder;\n\n            Assert.IsNotNull(itemRequestBuilder, \"Unexpected request builder.\");\n            Assert.AreEqual(expectedRequestUri, new Uri(itemRequestBuilder.RequestUrl), \"Unexpected request URL.\");\n\n            var itemRequest = itemRequestBuilder.Request() as ItemRequest;\n            Assert.IsNotNull(itemRequest, \"Unexpected request.\");\n            Assert.AreEqual(expectedRequestUri, new Uri(itemRequest.RequestUrl), \"Unexpected request URL.\");\n        }\n\n        [TestMethod]\n        public void ItemByPath_BuildRequest()\n        {\n            var expectedRequestUri = new Uri(\"https://api.onedrive.com/v1.0/drive/root:/item/with/path:\");\n            var itemRequestBuilder = this.oneDriveClient.Drive.Root.ItemWithPath(\"item/with/path\") as ItemRequestBuilder;\n\n            Assert.IsNotNull(itemRequestBuilder, \"Unexpected request builder.\");\n            Assert.AreEqual(expectedRequestUri, new Uri(itemRequestBuilder.RequestUrl), \"Unexpected request URL.\");\n\n            var itemRequest = itemRequestBuilder.Request() as ItemRequest;\n            Assert.IsNotNull(itemRequest, \"Unexpected request.\");\n            Assert.AreEqual(expectedRequestUri, new Uri(itemRequest.RequestUrl), \"Unexpected request URL.\");\n        }\n\n        [TestMethod]\n        public void ItemByPath_BuildRequestWithLeadingSlash()\n        {\n            var expectedRequestUri = new Uri(\"https://api.onedrive.com/v1.0/drive/root:/item/with/path:\");\n            var itemRequestBuilder = this.oneDriveClient.Drive.Root.ItemWithPath(\"/item/with/path\") as ItemRequestBuilder;\n\n            Assert.IsNotNull(itemRequestBuilder, \"Unexpected request builder.\");\n            Assert.AreEqual(expectedRequestUri, new Uri(itemRequestBuilder.RequestUrl), \"Unexpected request URL.\");\n\n            var itemRequest = itemRequestBuilder.Request() as ItemRequest;\n            Assert.IsNotNull(itemRequest, \"Unexpected request.\");\n            Assert.AreEqual(expectedRequestUri, new Uri(itemRequest.RequestUrl), \"Unexpected request URL.\");\n        }\n\n        [TestMethod]\n        public async Task ItemRequest_CreateAsync()\n        {\n            await this.RequestWithItemInBody(false);\n        }\n\n        [TestMethod]\n        public async Task ItemRequest_DeleteAsync()\n        {\n            using (var httpResponseMessage = new HttpResponseMessage(HttpStatusCode.NoContent))\n            {\n                var requestUrl = \"https://api.onedrive.com/v1.0/drive/items/id\";\n                this.httpProvider.Setup(\n                    provider => provider.SendAsync(\n                        It.Is<HttpRequestMessage>(\n                            request =>\n                                request.Method == HttpMethod.Delete\n                                && request.RequestUri.ToString().Equals(requestUrl)),\n                        HttpCompletionOption.ResponseContentRead,\n                        CancellationToken.None))\n                    .Returns(Task.FromResult(httpResponseMessage));\n\n                await this.oneDriveClient.Drive.Items[\"id\"].Request().DeleteAsync();\n            }\n        }\n\n        [TestMethod]\n        public void ItemRequest_Expand()\n        {\n            var expectedRequestUri = new Uri(\"https://api.onedrive.com/v1.0/drive/items/id\");\n            var itemRequest = this.oneDriveClient.Drive.Items[\"id\"].Request().Expand(\"value\") as ItemRequest;\n\n            Assert.IsNotNull(itemRequest, \"Unexpected request.\");\n            Assert.AreEqual(expectedRequestUri, new Uri(itemRequest.RequestUrl), \"Unexpected request URL.\");\n            Assert.AreEqual(1, itemRequest.QueryOptions.Count, \"Unexpected query options present.\");\n            Assert.AreEqual(\"$expand\", itemRequest.QueryOptions[0].Name, \"Unexpected expand query name.\");\n            Assert.AreEqual(\"value\", itemRequest.QueryOptions[0].Value, \"Unexpected expand query value.\");\n        }\n\n        [TestMethod]\n        public void ItemRequest_Select()\n        {\n            var expectedRequestUri = new Uri(\"https://api.onedrive.com/v1.0/drive/items/id\");\n            var itemRequest = this.oneDriveClient.Drive.Items[\"id\"].Request().Select(\"value\") as ItemRequest;\n\n            Assert.IsNotNull(itemRequest, \"Unexpected request.\");\n            Assert.AreEqual(expectedRequestUri, new Uri(itemRequest.RequestUrl), \"Unexpected request URL.\");\n            Assert.AreEqual(1, itemRequest.QueryOptions.Count, \"Unexpected query options present.\");\n            Assert.AreEqual(\"$select\", itemRequest.QueryOptions[0].Name, \"Unexpected select query name.\");\n            Assert.AreEqual(\"value\", itemRequest.QueryOptions[0].Value, \"Unexpected select query value.\");\n        }\n\n        [TestMethod]\n        public async Task ItemRequest_UpdateAsync()\n        {\n            await this.RequestWithItemInBody(true);\n        }\n        \n        private async Task RequestWithItemInBody(bool isUpdate)\n        {\n            using (var httpResponseMessage = new HttpResponseMessage())\n            using (var responseStream = new MemoryStream())\n            using (var streamContent = new StreamContent(responseStream))\n            {\n                httpResponseMessage.Content = streamContent;\n\n                var requestUrl = \"https://api.onedrive.com/v1.0/drive/items/id\";\n                this.httpProvider.Setup(\n                        provider => provider.SendAsync(\n                            It.Is<HttpRequestMessage>(\n                                request =>\n                                    string.Equals(request.Method.ToString().ToUpperInvariant(), isUpdate ? \"PATCH\" : \"PUT\")\n                                    && string.Equals(request.Content.Headers.ContentType.ToString(), \"application/json\")\n                                    && request.RequestUri.ToString().Equals(requestUrl)),\n                            HttpCompletionOption.ResponseContentRead,\n                            CancellationToken.None))\n                        .Returns(Task.FromResult(httpResponseMessage));\n\n                this.serializer.Setup(serializer => serializer.SerializeObject(It.IsAny<Item>())).Returns(\"body\");\n                this.serializer.Setup(serializer => serializer.DeserializeObject<Item>(It.IsAny<string>())).Returns(new Item { Id = \"id\" });\n\n                var itemResponse = isUpdate\n                    ? await this.oneDriveClient.Drive.Items[\"id\"].Request().UpdateAsync(new Item())\n                    : await this.oneDriveClient.Drive.Items[\"id\"].Request().CreateAsync(new Item());\n\n                Assert.AreEqual(\"id\", itemResponse.Id, \"Unexpected item returned.\");\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "tests/Test.OneDriveSdk/Requests/MethodRequestTests.cs",
    "content": "﻿// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\nnamespace Test.OneDrive.Sdk.Requests\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Net.Http;\n    using System.Threading;\n    using System.Threading.Tasks;\n\n    using Microsoft.OneDrive.Sdk;\n    using Microsoft.VisualStudio.TestTools.UnitTesting;\n    using Moq;\n\n    [TestClass]\n    public class MethodRequestTests : RequestTestBase\n    {\n        [TestMethod]\n        public void ItemCreateLinkRequest_BuildRequest()\n        {\n            var expectedRequestUri = new Uri(\"https://api.onedrive.com/v1.0/drive/items/id/oneDrive.createLink\");\n            var createLinkRequestBuilder = this.oneDriveClient.Drive.Items[\"id\"].CreateLink(\"view\") as ItemCreateLinkRequestBuilder;\n\n            Assert.IsNotNull(createLinkRequestBuilder, \"Unexpected request builder.\");\n            Assert.AreEqual(expectedRequestUri, new Uri(createLinkRequestBuilder.RequestUrl), \"Unexpected request URL.\");\n\n            var createLinkRequest = createLinkRequestBuilder.Request() as ItemCreateLinkRequest;\n            Assert.IsNotNull(createLinkRequest, \"Unexpected request.\");\n            Assert.AreEqual(expectedRequestUri, new Uri(createLinkRequest.RequestUrl), \"Unexpected request URL.\");\n            Assert.AreEqual(\"POST\", createLinkRequest.Method, \"Unexpected method.\");\n            Assert.IsNotNull(createLinkRequest.RequestBody, \"Request body not set.\");\n            Assert.AreEqual(\"view\", createLinkRequest.RequestBody.Type, \"Unexpected type in body.\");\n        }\n\n        [TestMethod]\n        public async Task ItemCreateLinkRequest_PostAsync()\n        {\n            using (var httpResponseMessage = new HttpResponseMessage())\n            using (var responseStream = new MemoryStream())\n            using (var streamContent = new StreamContent(responseStream))\n            {\n                httpResponseMessage.Content = streamContent;\n\n                var requestUrl = \"https://api.onedrive.com/v1.0/drive/items/id/oneDrive.createLink\";\n                this.httpProvider.Setup(\n                    provider => provider.SendAsync(\n                        It.Is<HttpRequestMessage>(\n                            request => request.RequestUri.ToString().StartsWith(requestUrl)),\n                        HttpCompletionOption.ResponseContentRead,\n                        CancellationToken.None))\n                    .Returns(Task.FromResult(httpResponseMessage));\n\n                var expectedPermission = new Permission { Id = \"id\", Link = new SharingLink { Type = \"edit\" } };\n\n                this.serializer.Setup(\n                    serializer => serializer.SerializeObject(It.IsAny<ItemCreateLinkRequestBody>()))\n                    .Returns(\"request body value\");\n\n                this.serializer.Setup(\n                    serializer => serializer.DeserializeObject<Permission>(It.IsAny<string>()))\n                    .Returns(expectedPermission);\n\n                var permission = await this.oneDriveClient.Drive.Items[\"id\"].CreateLink(\"edit\").Request().PostAsync();\n\n                Assert.IsNotNull(permission, \"Permission not returned.\");\n                Assert.AreEqual(expectedPermission, permission, \"Unexpected permission returned.\");\n            }\n        }\n\n        [TestMethod]\n        public void ItemDeltaRequest_BuildRequest()\n        {\n            var baseRequestUrl = \"https://api.onedrive.com/v1.0/drive/items/id/oneDrive.delta\";\n            var expectedRequestUri = new Uri(baseRequestUrl);\n            var deltaRequestBuilder = this.oneDriveClient.Drive.Items[\"id\"].Delta(\"token\") as ItemDeltaRequestBuilder;\n\n            Assert.IsNotNull(deltaRequestBuilder, \"Unexpected request builder.\");\n            Assert.AreEqual(expectedRequestUri, new Uri(deltaRequestBuilder.RequestUrl), \"Unexpected request URL.\");\n\n            var deltaRequest = deltaRequestBuilder.Request() as ItemDeltaRequest;\n            Assert.IsNotNull(deltaRequest, \"Unexpected request.\");\n            Assert.AreEqual(expectedRequestUri, new Uri(deltaRequest.RequestUrl), \"Unexpected request URL.\");\n            Assert.AreEqual(\"GET\", deltaRequest.Method, \"Unexpected method.\");\n            Assert.AreEqual(1, deltaRequest.QueryOptions.Count, \"Unexpected number of query options.\");\n            Assert.AreEqual(\"token\", deltaRequest.QueryOptions[0].Name, \"Unexpected query option name.\");\n            Assert.AreEqual(\"token\", deltaRequest.QueryOptions[0].Value, \"Unexpected query option name.\");\n        }\n\n        [TestMethod]\n        public async Task ItemDeltaRequest_GetAsyncWithNextLink()\n        {\n            await this.ItemDeltaRequest_GetAsync(true);\n        }\n\n        [TestMethod]\n        public async Task ItemDeltaRequest_GetAsyncWithoutNextLink()\n        {\n            await this.ItemDeltaRequest_GetAsync(false);\n        }\n\n        private async Task ItemDeltaRequest_GetAsync(bool includeNextLink)\n        {\n            using (var httpResponseMessage = new HttpResponseMessage())\n            using (var responseStream = new MemoryStream())\n            using (var streamContent = new StreamContent(responseStream))\n            {\n                httpResponseMessage.Content = streamContent;\n                \n                var requestUrl = \"https://api.onedrive.com/v1.0/drive/items/id/oneDrive.delta\";\n                this.httpProvider.Setup(\n                    provider => provider.SendAsync(\n                        It.Is<HttpRequestMessage>(\n                            request => request.RequestUri.ToString().StartsWith(requestUrl)),\n                        HttpCompletionOption.ResponseContentRead,\n                        CancellationToken.None))\n                    .Returns(Task.FromResult(httpResponseMessage));\n\n                var expectedDeltaCollectionPage = new ItemDeltaCollectionPage\n                {\n                    new Item { Id = \"id\" }\n                };\n\n                var expectedDeltaResponse = new ItemDeltaCollectionResponse\n                {\n                    DeltaLink = \"deltaLink\",\n                    Token = \"nextToken\",\n                    Value = expectedDeltaCollectionPage\n                };\n\n                if (includeNextLink)\n                {\n                    expectedDeltaResponse.AdditionalData = new Dictionary<string, object>\n                    {\n                        { \"@odata.nextLink\", requestUrl + \"/next\" }\n                    };\n                }\n\n                this.serializer.Setup(\n                    serializer => serializer.DeserializeObject<ItemDeltaCollectionResponse>(It.IsAny<string>()))\n                    .Returns(expectedDeltaResponse);\n\n                var deltaCollectionPage = await this.oneDriveClient.Drive.Items[\"id\"].Delta(\"token\").Request().GetAsync();\n\n                Assert.IsNotNull(deltaCollectionPage, \"Collection page not returned.\");\n                Assert.AreEqual(1, deltaCollectionPage.CurrentPage.Count, \"Unexpected number of items in page.\");\n                Assert.AreEqual(\"id\", deltaCollectionPage.CurrentPage[0].Id, \"Unexpected item ID in page.\");\n                Assert.AreEqual(expectedDeltaResponse.DeltaLink, deltaCollectionPage.DeltaLink, \"Unexpected delta link in page.\");\n                Assert.AreEqual(expectedDeltaResponse.Token, deltaCollectionPage.Token, \"Unexpected token in page.\");\n\n                if (includeNextLink)\n                {\n                    var nextPageRequest = deltaCollectionPage.NextPageRequest as ItemDeltaRequest;\n                    Assert.IsNotNull(nextPageRequest, \"Next page request not initialized correctly.\");\n                    Assert.AreEqual(new Uri(requestUrl + \"/next\"), new Uri(nextPageRequest.RequestUrl), \"Unexpected request URL for next page request.\");\n                    Assert.AreEqual(expectedDeltaResponse.AdditionalData, deltaCollectionPage.AdditionalData, \"Additional data not initialized correctly.\");\n                }\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "tests/Test.OneDriveSdk/Requests/RequestTestBase.cs",
    "content": "﻿// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\n\nnamespace Test.OneDrive.Sdk.Requests\n{\n    using System.Net.Http;\n\n    using Microsoft.OneDrive.Sdk;\n    using Microsoft.VisualStudio.TestTools.UnitTesting;\n    using Mocks;\n\n    [TestClass]\n    public class RequestTestBase\n    {\n        protected MockAuthenticationProvider authenticationProvider;\n        protected MockHttpProvider httpProvider;\n        protected HttpResponseMessage httpResponseMessage;\n        protected IOneDriveClient oneDriveClient;\n        protected MockSerializer serializer;\n\n        [TestInitialize]\n        public void Setup()\n        {\n            this.authenticationProvider = new MockAuthenticationProvider();\n            this.serializer = new MockSerializer();\n            this.httpResponseMessage = new HttpResponseMessage();\n            this.httpProvider = new MockHttpProvider(this.httpResponseMessage, this.serializer.Object);\n\n            this.oneDriveClient = new OneDriveClient(\n                \"https://api.onedrive.com/v1.0\",\n                this.authenticationProvider.Object,\n                this.httpProvider.Object);\n        }\n\n        [TestCleanup]\n        public void Teardown()\n        {\n            this.httpResponseMessage.Dispose();\n        }\n    }\n}\n"
  },
  {
    "path": "tests/Test.OneDriveSdk/Requests/ThumbnailRequestTests.cs",
    "content": "﻿// ------------------------------------------------------------------------------\n//  Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.  See License in the project root for license information.\n// ------------------------------------------------------------------------------\nnamespace Test.OneDrive.Sdk.Requests\n{\n    using System;\n    using System.Collections.Generic;\n    using System.IO;\n    using System.Net.Http;\n    using System.Threading;\n    using System.Threading.Tasks;\n\n    using Microsoft.OneDrive.Sdk;\n    using Microsoft.VisualStudio.TestTools.UnitTesting;\n    using Moq;\n\n    [TestClass]\n    public class ThumbnailRequestTests : RequestTestBase\n    {\n        [TestMethod]\n        public void ThumbnailContentRequest_BuildRequest()\n        {\n            var expectedRequestUri = new Uri(\"https://api.onedrive.com/v1.0/drive/items/id/thumbnails/0/id/content\");\n            var thumbnailContentRequestBuilder = this.oneDriveClient.Drive.Items[\"id\"].Thumbnails[\"0\"][\"id\"].Content as ThumbnailContentRequestBuilder;\n\n            Assert.IsNotNull(thumbnailContentRequestBuilder, \"Unexpected request builder.\");\n            Assert.AreEqual(expectedRequestUri, new Uri(thumbnailContentRequestBuilder.RequestUrl), \"Unexpected request URL.\");\n\n            var thumbnailContentRequest = thumbnailContentRequestBuilder.Request() as ThumbnailContentRequest;\n            Assert.IsNotNull(thumbnailContentRequest, \"Unexpected request.\");\n            Assert.AreEqual(expectedRequestUri, new Uri(thumbnailContentRequest.RequestUrl), \"Unexpected request URL.\");\n        }\n\n        [TestMethod]\n        public async Task ThumbnailContentRequest_GetAsync()\n        {\n            using (var httpResponseMessage = new HttpResponseMessage())\n            using (var stringContent = new StringContent(\"body\"))\n            {\n                httpResponseMessage.Content = stringContent;\n\n                var requestUrl = \"https://api.onedrive.com/v1.0/drive/items/id/thumbnails/0/id/content\";\n                this.httpProvider.Setup(\n                    provider => provider.SendAsync(\n                        It.Is<HttpRequestMessage>(\n                            request => request.RequestUri.ToString().StartsWith(requestUrl)),\n                        HttpCompletionOption.ResponseContentRead,\n                        CancellationToken.None))\n                    .Returns(Task.FromResult(httpResponseMessage));\n\n                using (var response = await this.oneDriveClient.Drive.Items[\"id\"].Thumbnails[\"0\"][\"id\"].Content.Request().GetAsync())\n                {\n                    Assert.IsNotNull(response, \"Response stream not returned.\");\n\n                    using (var streamReader = new StreamReader(response))\n                    {\n                        var responseString = await streamReader.ReadToEndAsync();\n                        Assert.AreEqual(\"body\", responseString, \"Unexpected response returned.\");\n                    }\n                }\n            }\n        }\n\n        [TestMethod]\n        public async Task ThumbnailContentRequest_PutAsync()\n        {\n            using (var requestStream = new MemoryStream())\n            using (var httpResponseMessage = new HttpResponseMessage())\n            using (var responseStream = new MemoryStream())\n            using (var streamContent = new StreamContent(responseStream))\n            {\n                httpResponseMessage.Content = streamContent;\n\n                var requestUrl = \"https://api.onedrive.com/v1.0/drive/items/id/thumbnails/0/id/content\";\n                this.httpProvider.Setup(\n                    provider => provider.SendAsync(\n                        It.Is<HttpRequestMessage>(\n                            request => request.RequestUri.ToString().StartsWith(requestUrl)),\n                        HttpCompletionOption.ResponseContentRead,\n                        CancellationToken.None))\n                    .Returns(Task.FromResult(httpResponseMessage));\n\n                var expectedThumbnail = new Thumbnail { Url = \"https://localhost\" };\n\n                this.serializer.Setup(\n                    serializer => serializer.DeserializeObject<Thumbnail>(It.IsAny<string>()))\n                    .Returns(expectedThumbnail);\n\n                var responseThumbnail = await this.oneDriveClient.Drive.Items[\"id\"].Thumbnails[\"0\"][\"id\"].Content.Request().PutAsync<Thumbnail>(requestStream);\n\n                Assert.IsNotNull(responseThumbnail, \"Thumbnail not returned.\");\n                Assert.AreEqual(expectedThumbnail, responseThumbnail, \"Unexpected thumbnail returned.\");\n            }\n        }\n\n        [TestMethod]\n        public void ThumbnailSetExtensions_AdditionalDataNull()\n        {\n            var thumbnailSet = new ThumbnailSet();\n\n            var thumbnail = thumbnailSet[\"custom\"];\n\n            Assert.IsNull(thumbnail, \"Unexpected thumbnail returned.\");\n        }\n\n        [TestMethod]\n        public void ThumbnailSetExtensions_CustomThumbnail()\n        {\n            var expectedThumbnail = new Thumbnail { Url = \"https://localhost\" };\n            var thumbnailSet = new ThumbnailSet\n            {\n                AdditionalData = new Dictionary<string, object>\n                {\n                    { \"custom\", expectedThumbnail }\n                }\n            };\n\n            var thumbnail = thumbnailSet[\"custom\"];\n\n            Assert.IsNotNull(thumbnail, \"Custom thumbnail not returned.\");\n            Assert.AreEqual(expectedThumbnail.Url, thumbnail.Url, \"Unexpected thumbnail returned.\");\n        }\n\n        [TestMethod]\n        public void ThumbnailSetExtensions_CustomThumbnailNotFound()\n        {\n            var expectedThumbnail = new Thumbnail { Url = \"https://localhost\" };\n            var thumbnailSet = new ThumbnailSet\n            {\n                AdditionalData = new Dictionary<string, object>\n                {\n                    { \"custom\", expectedThumbnail }\n                }\n            };\n\n            var thumbnail = thumbnailSet[\"custom2\"];\n\n            Assert.IsNull(thumbnail, \"Unexpected thumbnail returned.\");\n        }\n    }\n}\n"
  },
  {
    "path": "tests/Test.OneDriveSdk/Requests/UploadChunkRequestTest.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Net;\nusing System.Net.Http;\nusing System.Threading;\nusing System.Threading.Tasks;\n\nusing Microsoft.OneDrive.Sdk;\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing Moq;\nusing IAuthenticationProvider = Microsoft.Graph.IAuthenticationProvider;\n\nnamespace Test.OneDrive.Sdk.Requests\n{\n    using System.Net.Configuration;\n    using System.Text;\n    using Microsoft.Graph;\n    using Test.OneDrive.Sdk.Mocks;\n\n    [TestClass]\n    public class UploadChunkRequestTest : RequestTestBase\n    {\n        [TestMethod]\n        public async Task PutAsync_ReturnOK()\n        {\n            var responseString = \"\";\n            using (var httpResponseMessage = new HttpResponseMessage())\n            using (var uploadStream = new MemoryStream(new byte[100]))\n            using (var responseStream = new MemoryStream(Encoding.UTF8.GetBytes(responseString)))\n            using (var streamContent = new StreamContent(responseStream))\n            {\n                httpResponseMessage.Content = streamContent;\n                httpResponseMessage.StatusCode = HttpStatusCode.OK;\n                const string AuthorizationHeaderName = \"Authorization\";\n                const string AuthorizationHeaderValue = \"token\";\n                var sessionUrl = \"https://api.onedrive.com/v1.0/up/123\";\n                var item = new Item() { Name = \"uploaded\" };\n\n                this.serializer.Setup(s => s.DeserializeObject<Item>(It.Is<string>(str => str.Equals(responseString))))\n                    .Returns(item);\n\n                this.httpProvider.Setup(\n                    provider => provider.SendAsync(\n                        It.Is<HttpRequestMessage>(\n                            request => request.RequestUri.ToString().Equals(sessionUrl)),\n                        HttpCompletionOption.ResponseContentRead,\n                        CancellationToken.None)).Returns(Task.FromResult<HttpResponseMessage>(httpResponseMessage));\n\n                this.authenticationProvider.Setup(\n                    provider => provider.AuthenticateRequestAsync(\n                        It.IsAny<HttpRequestMessage>())).Returns(\n                            (HttpRequestMessage msg) =>\n                            {\n                                msg.Headers.Add(AuthorizationHeaderName, AuthorizationHeaderValue);\n                                return Task.FromResult(0);\n                            });\n\n                UploadChunkRequest uploadRequest = new UploadChunkRequest(sessionUrl, this.oneDriveClient, null, 0, 100, 200);\n\n                var result = await uploadRequest.PutAsync(uploadStream);\n                Assert.IsNotNull(result.ItemResponse, \"result item is null\");\n                Assert.AreEqual(item, result.ItemResponse, \"result returned is not expected\");\n                // make sure no auth header is added to the upload request\n                Assert.IsFalse(uploadRequest.Headers.Contains(new HeaderOption(AuthorizationHeaderName, AuthorizationHeaderValue)));\n            }\n        }\n    }\n}"
  },
  {
    "path": "tests/Test.OneDriveSdk/Test.OneDrive.Sdk.csproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"14.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <PropertyGroup>\n    <Configuration Condition=\" '$(Configuration)' == '' \">Debug</Configuration>\n    <Platform Condition=\" '$(Platform)' == '' \">AnyCPU</Platform>\n    <ProjectGuid>{E3A990AA-5628-42AA-A8D4-1C599602DD96}</ProjectGuid>\n    <OutputType>Library</OutputType>\n    <AppDesignerFolder>Properties</AppDesignerFolder>\n    <RootNamespace>Test.OneDrive.Sdk</RootNamespace>\n    <AssemblyName>Test.OneDrive.Sdk</AssemblyName>\n    <TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>\n    <FileAlignment>512</FileAlignment>\n    <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>\n    <VisualStudioVersion Condition=\"'$(VisualStudioVersion)' == ''\">10.0</VisualStudioVersion>\n    <VSToolsPath Condition=\"'$(VSToolsPath)' == ''\">$(MSBuildExtensionsPath32)\\Microsoft\\VisualStudio\\v$(VisualStudioVersion)</VSToolsPath>\n    <ReferencePath>$(ProgramFiles)\\Common Files\\microsoft shared\\VSTT\\$(VisualStudioVersion)\\UITestExtensionPackages</ReferencePath>\n    <IsCodedUITest>False</IsCodedUITest>\n    <TestProjectType>UnitTest</TestProjectType>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' \">\n    <DebugSymbols>true</DebugSymbols>\n    <DebugType>full</DebugType>\n    <Optimize>false</Optimize>\n    <OutputPath>bin\\Debug\\</OutputPath>\n    <DefineConstants>DEBUG;TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' \">\n    <DebugType>pdbonly</DebugType>\n    <Optimize>true</Optimize>\n    <OutputPath>bin\\Release\\</OutputPath>\n    <DefineConstants>TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)' == 'Release'\">\n    <SignAssembly>true</SignAssembly>\n    <DelaySign>true</DelaySign>\n    <AssemblyOriginatorKeyFile>..\\..\\build\\35MSSharedLib1024.snk</AssemblyOriginatorKeyFile>\n  </PropertyGroup>\n  <ItemGroup>\n    <Reference Include=\"Microsoft.Graph.Core, Version=1.3.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\packages\\Microsoft.Graph.Core.1.3.1\\lib\\portable45-net45+win8+wpa81\\Microsoft.Graph.Core.dll</HintPath>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"Moq, Version=4.2.1510.2205, Culture=neutral, PublicKeyToken=69f491c39445e920, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\packages\\Moq.4.2.1510.2205\\lib\\net40\\Moq.dll</HintPath>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\packages\\Newtonsoft.Json.9.0.1\\lib\\net45\\Newtonsoft.Json.dll</HintPath>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"System\" />\n    <Reference Include=\"System.Net.Http\" />\n  </ItemGroup>\n  <Choose>\n    <When Condition=\"('$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == '') and '$(TargetFrameworkVersion)' == 'v3.5'\">\n      <ItemGroup>\n        <Reference Include=\"Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\" />\n      </ItemGroup>\n    </When>\n    <Otherwise>\n      <ItemGroup>\n        <Reference Include=\"Microsoft.VisualStudio.QualityTools.UnitTestFramework\" />\n      </ItemGroup>\n    </Otherwise>\n  </Choose>\n  <ItemGroup>\n    <Compile Include=\"ChunkedUploadProviderTests.cs\" />\n    <Compile Include=\"Mocks\\ExceptionHttpMessageHandler.cs\" />\n    <Compile Include=\"Mocks\\MockAuthenticationProvider.cs\" />\n    <Compile Include=\"Mocks\\TestChunkedUploadProvider.cs\" />\n    <Compile Include=\"Mocks\\MockHttpProvider.cs\" />\n    <Compile Include=\"Mocks\\MockSerializer.cs\" />\n    <Compile Include=\"Mocks\\TestHttpMessageHandler.cs\" />\n    <Compile Include=\"Properties\\AssemblyInfo.cs\" />\n    <Compile Include=\"Requests\\ItemRequestTests.cs\" />\n    <Compile Include=\"Requests\\RequestTestBase.cs\" />\n    <Compile Include=\"Requests\\MethodRequestTests.cs\" />\n    <Compile Include=\"Requests\\ThumbnailRequestTests.cs\" />\n    <Compile Include=\"Requests\\UploadChunkRequestTest.cs\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ProjectReference Include=\"..\\..\\src\\OneDriveSdk\\Microsoft.OneDrive.Sdk.csproj\">\n      <Project>{1368527b-d7b2-46ad-893d-6dc8c073d819}</Project>\n      <Name>Microsoft.OneDrive.Sdk</Name>\n    </ProjectReference>\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"app.config\" />\n    <None Include=\"packages.config\" />\n  </ItemGroup>\n  <Choose>\n    <When Condition=\"'$(VisualStudioVersion)' == '10.0' And '$(IsCodedUITest)' == 'True'\">\n      <ItemGroup>\n        <Reference Include=\"Microsoft.VisualStudio.QualityTools.CodedUITestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n          <Private>False</Private>\n        </Reference>\n        <Reference Include=\"Microsoft.VisualStudio.TestTools.UITest.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n          <Private>False</Private>\n        </Reference>\n        <Reference Include=\"Microsoft.VisualStudio.TestTools.UITest.Extension, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n          <Private>False</Private>\n        </Reference>\n        <Reference Include=\"Microsoft.VisualStudio.TestTools.UITesting, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n          <Private>False</Private>\n        </Reference>\n      </ItemGroup>\n    </When>\n  </Choose>\n  <Import Project=\"$(VSToolsPath)\\TeamTest\\Microsoft.TestTools.targets\" Condition=\"Exists('$(VSToolsPath)\\TeamTest\\Microsoft.TestTools.targets')\" />\n  <Import Project=\"$(MSBuildToolsPath)\\Microsoft.CSharp.targets\" />\n  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \n       Other similar extension points exist, see Microsoft.Common.targets.\n  <Target Name=\"BeforeBuild\">\n  </Target>\n  <Target Name=\"AfterBuild\">\n  </Target>\n  -->\n</Project>\n"
  },
  {
    "path": "tests/Test.OneDriveSdk/app.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n  <runtime>\n    <assemblyBinding xmlns=\"urn:schemas-microsoft-com:asm.v1\">\n      <dependentAssembly>\n        <assemblyIdentity name=\"Newtonsoft.Json\" publicKeyToken=\"30ad4fe6b2a6aeed\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-6.0.0.0\" newVersion=\"6.0.0.0\" />\n      </dependentAssembly>\n    </assemblyBinding>\n  </runtime>\n</configuration>"
  },
  {
    "path": "tests/Test.OneDriveSdk/packages.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<packages>\n  <package id=\"Microsoft.Graph.Core\" version=\"1.2.1\" targetFramework=\"net451\" />\n  <package id=\"Moq\" version=\"4.2.1510.2205\" targetFramework=\"net451\" />\n  <package id=\"Newtonsoft.Json\" version=\"9.0.1\" targetFramework=\"net451\" />\n</packages>"
  }
]