in sdk/SdkSamples/Entitlements/GetEntitlements.cs [29:68]
protected override void RunScenario()
{
string customerIdToRetrieve = this.ObtainCustomerId("Enter the ID of the customer to retrieve entitlements for");
var partnerOperations = this.Context.UserPartnerOperations;
this.Context.ConsoleHelper.StartProgress("Retrieving customer entitlements");
var entitlements = partnerOperations.Customers.ById(customerIdToRetrieve).Entitlements.Get();
this.Context.ConsoleHelper.StopProgress();
foreach (var entitlement in entitlements.Items)
{
this.Context.ConsoleHelper.WriteObject(entitlement, "Entitlement details");
try
{
switch (entitlement.EntitlementType.ToLowerInvariant())
{
case "reservedinstance":
var reservedInstanceArtifactDetailsLink =
((ReservedInstanceArtifact)entitlement.EntitledArtifacts.FirstOrDefault(x => string.Equals(x.ArtifactType, "ReservedInstance", StringComparison.OrdinalIgnoreCase)))?.Link;
if (reservedInstanceArtifactDetailsLink != null)
{
var reservedInstanceArtifactDetails =
reservedInstanceArtifactDetailsLink
.InvokeAsync<ReservedInstanceArtifactDetails>(partnerOperations)
.Result;
this.Context.ConsoleHelper.WriteObject(reservedInstanceArtifactDetails);
}
break;
}
}
catch (Exception ex)
{
this.Context.ConsoleHelper.WriteObject(ex.Message, "Artifact Details");
}
}
}