Merge pull request #5 from Microsoft/dev

Updating samples for partner center SDK 1.10.0 update
This commit is contained in:
Ali Khudhair 2018-11-07 19:24:50 -08:00 коммит произвёл GitHub
Родитель 52de5e042c a9d5d2a58b
Коммит c107748538
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
8 изменённых файлов: 242 добавлений и 11 удалений

Просмотреть файл

@ -66,7 +66,7 @@ namespace Microsoft.Store.PartnerCenter.Samples.Agreements
if (!customerAgreements.Items.Any()) if (!customerAgreements.Items.Any())
{ {
this.Context.ConsoleHelper.WriteObject(noAgreements, "Agreement", 1); this.Context.ConsoleHelper.WriteObject(noAgreements, "Agreement", 1);
File.AppendAllText(csvFilePath, $"{customer?.CompanyProfile?.TenantId ?? customer?.Id}, {customer?.CompanyProfile?.Domain ?? "Domain not available."},,,,,{Environment.NewLine}"); File.AppendAllText(csvFilePath, $"{customer?.CompanyProfile?.TenantId ?? customer?.Id} ,{customer?.CompanyProfile?.Domain ?? "Domain not available."},,,,,{Environment.NewLine}");
} }
else else
{ {

Просмотреть файл

@ -0,0 +1,66 @@
// -----------------------------------------------------------------------
// <copyright file="CreateCartAddonWithExistingSubscription.cs" company="Microsoft">
// Copyright (c) Microsoft Corporation. All rights reserved.
// </copyright>
// -----------------------------------------------------------------------
namespace Microsoft.Store.PartnerCenter.Samples.Carts
{
using System.Collections.Generic;
using System.Linq;
using Models.Carts;
/// <summary>
/// A scenario that creates a new cart with add on items for existing subscription for customer.
/// </summary>
public class CreateCartAddonWithExistingSubscription : BasePartnerScenario
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateCartAddonWithExistingSubscription"/> class.
/// </summary>
/// <param name="context">The scenario context.</param>
public CreateCartAddonWithExistingSubscription(IScenarioContext context) : base("Create a cart with addon items for existing subscription", context)
{
}
/// <summary>
/// Executes the scenario.
/// </summary>
protected override void RunScenario()
{
var partnerOperations = this.Context.UserPartnerOperations;
string customerId = this.ObtainCustomerId("Enter the ID of the customer making the purchase");
string existingSubscriptionId = this.ObtainSubscriptionId(customerId, "Enter existing subscription Id");
string addonCatalogItemId = this.ObtainCatalogItemId("Enter the addon Item Id");
var cart = new Cart()
{
LineItems = new List<CartLineItem>()
{
new CartLineItem()
{
Id = 0,
CatalogItemId = addonCatalogItemId,
ProvisioningContext = new Dictionary<string, string>
{
{
"ParentSubscriptionId",
existingSubscriptionId
}
},
Quantity = 1,
BillingCycle = Models.Products.BillingCycleType.Monthly
}
}
};
this.Context.ConsoleHelper.WriteObject(cart, "Cart to be created");
this.Context.ConsoleHelper.StartProgress("Creating cart");
var createdCart = partnerOperations.Customers.ById(customerId).Carts.Create(cart);
this.Context.ConsoleHelper.StopProgress();
this.Context.ConsoleHelper.WriteObject(createdCart, "Created cart");
}
}
}

Просмотреть файл

@ -0,0 +1,70 @@
// -----------------------------------------------------------------------
// <copyright file="CreateCartWithAddons.cs" company="Microsoft">
// Copyright (c) Microsoft Corporation. All rights reserved.
// </copyright>
// -----------------------------------------------------------------------
namespace Microsoft.Store.PartnerCenter.Samples.Carts
{
using System.Collections.Generic;
using System.Linq;
using Models.Carts;
/// <summary>
/// A scenario that creates a new cart with add on items for a customer.
/// </summary>
public class CreateCartWithAddons : BasePartnerScenario
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateCartWithAddons"/> class.
/// </summary>
/// <param name="context">The scenario context.</param>
public CreateCartWithAddons(IScenarioContext context) : base("Create a Cart with addon items", context)
{
}
/// <summary>
/// Executes the scenario.
/// </summary>
protected override void RunScenario()
{
var partnerOperations = this.Context.UserPartnerOperations;
string customerId = this.ObtainCustomerId("Enter the ID of the customer making the purchase");
string catalogItemId = this.ObtainCatalogItemId("Enter the catalog Item Id");
string addonCatalogItemId = this.ObtainCatalogItemId("Enter the addon Item Id");
var cart = new Cart()
{
LineItems = new List<CartLineItem>()
{
new CartLineItem()
{
Id = 0,
CatalogItemId = catalogItemId,
FriendlyName = "Myofferpurchase",
Quantity = 3,
BillingCycle = Models.Products.BillingCycleType.Monthly,
AddonItems = new List<CartLineItem>
{
new CartLineItem
{
Id = 1,
CatalogItemId = addonCatalogItemId,
BillingCycle = Models.Products.BillingCycleType.Monthly,
Quantity = 2,
}
}
}
}
};
this.Context.ConsoleHelper.WriteObject(cart, "Cart to be created");
this.Context.ConsoleHelper.StartProgress("Creating cart");
var createdCart = partnerOperations.Customers.ById(customerId).Carts.Create(cart);
this.Context.ConsoleHelper.StopProgress();
this.Context.ConsoleHelper.WriteObject(createdCart, "Created cart");
}
}
}

Просмотреть файл

@ -0,0 +1,72 @@
// -----------------------------------------------------------------------
// <copyright file="UpdateCustomerQualificationWithGCC.cs" company="Microsoft">
// Copyright (c) Microsoft Corporation. All rights reserved.
// </copyright>
// -----------------------------------------------------------------------
namespace Microsoft.Store.PartnerCenter.Samples.Customers
{
using Microsoft.Store.PartnerCenter.Models.Customers;
using Microsoft.Store.PartnerCenter.Models.ValidationCodes;
using System.Collections.Generic;
/// <summary>
/// Updates a single customer qualification to GCC.
/// </summary>
public class UpdateCustomerQualificationWithGCC : BasePartnerScenario
{
/// <summary>
/// Initializes a new instance of the <see cref="UpdateCustomerQualificationWithGCC"/> class.
/// </summary>
/// <param name="context">The scenario context.</param>
public UpdateCustomerQualificationWithGCC(IScenarioContext context) : base("Update customer qualification with GCC", context)
{
}
/// <summary>
/// Executes the update customer qualification scenario.
/// </summary>
protected override void RunScenario()
{
string customerIdToRetrieve = this.ObtainCustomerId($"Enter the ID of the customer to update qualification to {CustomerQualification.GovernmentCommunityCloud}");
var partnerOperations = this.Context.UserPartnerOperations;
this.Context.ConsoleHelper.StartProgress("Retrieving validation codes");
var validations = partnerOperations.Validations.GetValidationCodes();
this.Context.ConsoleHelper.StopProgress();
this.Context.ConsoleHelper.Success("Success!");
this.Context.ConsoleHelper.WriteObject(validations, "Validations");
string validationCodeToRetrieve = this.ObtainQuantity("Enter validation code to use by ValidationId");
ValidationCode code = null;
foreach(ValidationCode c in validations)
{
if(c.ValidationId == validationCodeToRetrieve)
{
code = c;
break;
}
}
if(code == null)
{
this.Context.ConsoleHelper.Error("Code not found");
}
this.Context.ConsoleHelper.StartProgress("Updating customer qualification");
var customerQualification =
partnerOperations.Customers.ById(customerIdToRetrieve)
.Qualification.Update(CustomerQualification.GovernmentCommunityCloud, code);
this.Context.ConsoleHelper.StopProgress();
this.Context.ConsoleHelper.WriteObject(customerQualification, "Customer Qualification");
}
}
}

Просмотреть файл

@ -47,17 +47,18 @@
<Reference Include="Microsoft.IdentityModel.Clients.ActiveDirectory.WindowsForms, Version=2.29.0.1078, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <Reference Include="Microsoft.IdentityModel.Clients.ActiveDirectory.WindowsForms, Version=2.29.0.1078, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.2.29.0\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.WindowsForms.dll</HintPath> <HintPath>..\..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.2.29.0\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.WindowsForms.dll</HintPath>
</Reference> </Reference>
<Reference Include="Microsoft.Store.PartnerCenter, Version=1.9.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <Reference Include="Microsoft.Store.PartnerCenter, Version=1.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.Store.PartnerCenter.1.9.0\lib\Net45\Microsoft.Store.PartnerCenter.dll</HintPath> <HintPath>..\..\packages\Microsoft.Store.PartnerCenter.1.10.0\lib\Net45\Microsoft.Store.PartnerCenter.dll</HintPath>
</Reference> </Reference>
<Reference Include="Microsoft.Store.PartnerCenter.Extensions, Version=1.9.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <Reference Include="Microsoft.Store.PartnerCenter.Extensions, Version=1.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.Store.PartnerCenter.1.9.0\lib\Net45\Microsoft.Store.PartnerCenter.Extensions.dll</HintPath> <HintPath>..\..\packages\Microsoft.Store.PartnerCenter.1.10.0\lib\Net45\Microsoft.Store.PartnerCenter.Extensions.dll</HintPath>
</Reference> </Reference>
<Reference Include="Microsoft.Store.PartnerCenter.Models, Version=1.9.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <Reference Include="Microsoft.Store.PartnerCenter.Models, Version=1.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.Store.PartnerCenter.1.9.0\lib\Net45\Microsoft.Store.PartnerCenter.Models.dll</HintPath> <HintPath>..\..\packages\Microsoft.Store.PartnerCenter.1.10.0\lib\Net45\Microsoft.Store.PartnerCenter.Models.dll</HintPath>
</Reference> </Reference>
<Reference Include="Newtonsoft.Json, Version=11.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> <Reference Include="Newtonsoft.Json, Version=11.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\..\packages\Newtonsoft.Json.11.0.2\lib\net45\Newtonsoft.Json.dll</HintPath> <HintPath>..\..\packages\Newtonsoft.Json.11.0.2\lib\net45\Newtonsoft.Json.dll</HintPath>
<Private>True</Private>
</Reference> </Reference>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.configuration" /> <Reference Include="System.configuration" />
@ -83,6 +84,8 @@
<Compile Include="Auditing\SearchAuditRecordsByResourceType.cs" /> <Compile Include="Auditing\SearchAuditRecordsByResourceType.cs" />
<Compile Include="Carts\CheckoutCart.cs" /> <Compile Include="Carts\CheckoutCart.cs" />
<Compile Include="Carts\CreateCart.cs" /> <Compile Include="Carts\CreateCart.cs" />
<Compile Include="Carts\CreateCartAddonWithExistingSubscription.cs" />
<Compile Include="Carts\CreateCartWithAddons.cs" />
<Compile Include="Carts\UpdateCart.cs" /> <Compile Include="Carts\UpdateCart.cs" />
<Compile Include="Configuration\ApplicationAuthenticationSection.cs" /> <Compile Include="Configuration\ApplicationAuthenticationSection.cs" />
<Compile Include="Configuration\ScenarioSettingsSection.cs" /> <Compile Include="Configuration\ScenarioSettingsSection.cs" />
@ -122,6 +125,7 @@
<Compile Include="Customers\GetCustomerDetails.cs" /> <Compile Include="Customers\GetCustomerDetails.cs" />
<Compile Include="Customers\CheckDomainAvailability.cs" /> <Compile Include="Customers\CheckDomainAvailability.cs" />
<Compile Include="Customers\CreateCustomer.cs" /> <Compile Include="Customers\CreateCustomer.cs" />
<Compile Include="Customers\UpdateCustomerQualificationWithGCC.cs" />
<Compile Include="Customers\ValidateCustomerAddress.cs" /> <Compile Include="Customers\ValidateCustomerAddress.cs" />
<Compile Include="CustomerUser\CreateCustomerUser.cs" /> <Compile Include="CustomerUser\CreateCustomerUser.cs" />
<Compile Include="CustomerUser\CustomerUserAssignedGroup1AndGroup2Licenses.cs" /> <Compile Include="CustomerUser\CustomerUserAssignedGroup1AndGroup2Licenses.cs" />

Просмотреть файл

@ -75,6 +75,7 @@ namespace Microsoft.Store.PartnerCenter.Samples
Program.GetAddressValidationsScenarios(context), Program.GetAddressValidationsScenarios(context),
Program.GetDevicesScenarios(context), Program.GetDevicesScenarios(context),
Program.GetCartScenarios(context), Program.GetCartScenarios(context),
Program.GetCartWithAddonItemsScenarios(context),
Program.GetEntitlementScenarios(context) Program.GetEntitlementScenarios(context)
}; };
@ -126,14 +127,14 @@ namespace Microsoft.Store.PartnerCenter.Samples
{ {
new CreateConfigurationPolicy(context), new CreateConfigurationPolicy(context),
new GetAllConfigurationPolicies(context), new GetAllConfigurationPolicies(context),
new UpdateConfigurationPolicy(context), new UpdateConfigurationPolicy(context),
new DeleteConfigurationPolicy(context), new DeleteConfigurationPolicy(context),
new CreateDeviceBatch(context), new CreateDeviceBatch(context),
new GetDevicesBatches(context), new GetDevicesBatches(context),
new CreateDevices(context), new CreateDevices(context),
new GetDevices(context), new GetDevices(context),
new UpdateDevicesPolicy(context), new UpdateDevicesPolicy(context),
new DeleteDevice(context), new DeleteDevice(context),
new GetBatchUploadStatus(context) new GetBatchUploadStatus(context)
}; };
@ -233,6 +234,7 @@ namespace Microsoft.Store.PartnerCenter.Samples
new GetCustomerDetails(context), new GetCustomerDetails(context),
new GetCustomerQualification(context), new GetCustomerQualification(context),
new UpdateCustomerQualification(context), new UpdateCustomerQualification(context),
new UpdateCustomerQualificationWithGCC(context),
new DeleteCustomerFromTipAccount(context), new DeleteCustomerFromTipAccount(context),
new GetCustomerManagedServices(context), new GetCustomerManagedServices(context),
new GetCustomerRelationshipRequest(context), new GetCustomerRelationshipRequest(context),
@ -584,5 +586,22 @@ namespace Microsoft.Store.PartnerCenter.Samples
return new AggregatePartnerScenario("Cart Scenarios", cartScenarios, context); return new AggregatePartnerScenario("Cart Scenarios", cartScenarios, context);
} }
/// <summary>
/// Gets the cart with add on items scenarios of create and checkout
/// </summary>
/// <param name="context">A scenario context</param>
/// <returns>The cart with add on items scenarios.</returns>
private static IPartnerScenario GetCartWithAddonItemsScenarios(IScenarioContext context)
{
var cartScenarios = new IPartnerScenario[]
{
new CreateCartWithAddons(context),
new CheckoutCart(context),
new CreateCartAddonWithExistingSubscription(context)
};
return new AggregatePartnerScenario("Cart With Addon Items Scenarios", cartScenarios, context);
}
} }
} }

Просмотреть файл

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="Microsoft.IdentityModel.Clients.ActiveDirectory" version="2.29.0" targetFramework="net451" /> <package id="Microsoft.IdentityModel.Clients.ActiveDirectory" version="2.29.0" targetFramework="net451" />
<package id="Microsoft.Store.PartnerCenter" version="1.9.0" targetFramework="net451" /> <package id="Microsoft.Store.PartnerCenter" version="1.10.0" targetFramework="net451" />
<package id="Newtonsoft.Json" version="11.0.2" targetFramework="net451" /> <package id="Newtonsoft.Json" version="11.0.2" targetFramework="net451" />
<package id="Visual-StyleCop.MSBuild" version="4.7.59.0" targetFramework="net45" /> <package id="Visual-StyleCop.MSBuild" version="4.7.59.0" targetFramework="net45" />
</packages> </packages>

Просмотреть файл

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<configuration> <configuration>
<packageSources> <packageSources>
<add key="NuGet official package source" value="https://nuget.org/api/v2/" /> <add key="NuGet official package source" value="https://nuget.org/api/v2/" />
<add key="dependencyVersion" value="Highest" /> <add key="dependencyVersion" value="Highest" />
</packageSources> </packageSources>
</configuration> </configuration>