internal Subscription(Guid?id, string publisherId, string offerId, string name, SubscriptionStatusEnum?saasSubscriptionStatus, AadIdentifier beneficiary, AadIdentifier purchaser, string planId, int?quantity, SubscriptionTerm term, bool?isTest, bool?isFreeTrial, IReadOnlyList <AllowedCustomerOperationsEnum> allowedCustomerOperations, Guid?sessionId, Guid?fulfillmentId, string storeFront, SessionModeEnum?sessionMode, SandboxTypeEnum?sandboxType) { Id = id; PublisherId = publisherId; OfferId = offerId; Name = name; SaasSubscriptionStatus = saasSubscriptionStatus; Beneficiary = beneficiary; Purchaser = purchaser; PlanId = planId; Quantity = quantity; Term = term; IsTest = isTest; IsFreeTrial = isFreeTrial; AllowedCustomerOperations = allowedCustomerOperations; SessionId = sessionId; FulfillmentId = fulfillmentId; StoreFront = storeFront; SessionMode = sessionMode; SandboxType = sandboxType; }
/// <summary> /// Initializes a new instance of the Subscription class. /// </summary> /// <param name="saasSubscriptionStatus">Indicates the status of the /// operation. Possible values include: 'NotStarted', /// 'PendingFulfillmentStart', 'Subscribed', 'Suspended', /// 'Unsubscribed'</param> /// <param name="isTest">Indicating whether the current subscription is /// a test asset.</param> /// <param name="isFreeTrial">true - the customer subscription is /// currently in free trial, false - the customer subscription is not /// currently in free trial.(optional field - default false)</param> /// <param name="sessionMode">Dry Run indicates all transactions run as /// Test-Mode in the commerce stack. Possible values include: 'None', /// 'DryRun'</param> /// <param name="sandboxType">Possible Values are None, Csp (Csp /// sandbox purchase). Possible values include: 'None', 'Csp'</param> public Subscription(System.Guid?id = default(System.Guid?), string publisherId = default(string), string offerId = default(string), string name = default(string), SubscriptionStatusEnum?saasSubscriptionStatus = default(SubscriptionStatusEnum?), AadIdentifier beneficiary = default(AadIdentifier), AadIdentifier purchaser = default(AadIdentifier), string planId = default(string), int?quantity = default(int?), SubscriptionTerm term = default(SubscriptionTerm), bool?isTest = default(bool?), bool?isFreeTrial = default(bool?), IList <AllowedCustomerOperationsEnum?> allowedCustomerOperations = default(IList <AllowedCustomerOperationsEnum?>), System.Guid?sessionId = default(System.Guid?), System.Guid?fulfillmentId = default(System.Guid?), string storeFront = default(string), SessionModeEnum?sessionMode = default(SessionModeEnum?), SandboxTypeEnum?sandboxType = default(SandboxTypeEnum?)) { Id = id; PublisherId = publisherId; OfferId = offerId; Name = name; SaasSubscriptionStatus = saasSubscriptionStatus; Beneficiary = beneficiary; Purchaser = purchaser; PlanId = planId; Quantity = quantity; Term = term; IsTest = isTest; IsFreeTrial = isFreeTrial; AllowedCustomerOperations = allowedCustomerOperations; SessionId = sessionId; FulfillmentId = fulfillmentId; StoreFront = storeFront; SessionMode = sessionMode; SandboxType = sandboxType; CustomInit(); }
internal static Subscription DeserializeSubscription(JsonElement element) { Optional <Guid> id = default; Optional <string> publisherId = default; Optional <string> offerId = default; Optional <string> name = default; Optional <SubscriptionStatusEnum> saasSubscriptionStatus = default; Optional <AadIdentifier> beneficiary = default; Optional <AadIdentifier> purchaser = default; Optional <string> planId = default; Optional <int> quantity = default; Optional <SubscriptionTerm> term = default; Optional <bool> autoRenew = default; Optional <bool> isTest = default; Optional <bool> isFreeTrial = default; Optional <IReadOnlyList <AllowedCustomerOperationsEnum> > allowedCustomerOperations = default; Optional <Guid> sessionId = default; Optional <Guid> fulfillmentId = default; Optional <string> storeFront = default; Optional <SandboxTypeEnum> sandboxType = default; Optional <DateTimeOffset> created = default; Optional <DateTimeOffset> lastModified = default; Optional <SessionModeEnum> sessionMode = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("id")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } id = property.Value.GetGuid(); continue; } if (property.NameEquals("publisherId")) { publisherId = property.Value.GetString(); continue; } if (property.NameEquals("offerId")) { offerId = property.Value.GetString(); continue; } if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("saasSubscriptionStatus")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } saasSubscriptionStatus = property.Value.GetString().ToSubscriptionStatusEnum(); continue; } if (property.NameEquals("beneficiary")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } beneficiary = AadIdentifier.DeserializeAadIdentifier(property.Value); continue; } if (property.NameEquals("purchaser")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } purchaser = AadIdentifier.DeserializeAadIdentifier(property.Value); continue; } if (property.NameEquals("planId")) { planId = property.Value.GetString(); continue; } if (property.NameEquals("quantity")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } quantity = property.Value.GetInt32(); continue; } if (property.NameEquals("term")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } term = SubscriptionTerm.DeserializeSubscriptionTerm(property.Value); continue; } if (property.NameEquals("autoRenew")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } autoRenew = property.Value.GetBoolean(); continue; } if (property.NameEquals("isTest")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } isTest = property.Value.GetBoolean(); continue; } if (property.NameEquals("isFreeTrial")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } isFreeTrial = property.Value.GetBoolean(); continue; } if (property.NameEquals("allowedCustomerOperations")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <AllowedCustomerOperationsEnum> array = new List <AllowedCustomerOperationsEnum>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetString().ToAllowedCustomerOperationsEnum()); } allowedCustomerOperations = array; continue; } if (property.NameEquals("sessionId")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } sessionId = property.Value.GetGuid(); continue; } if (property.NameEquals("fulfillmentId")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } fulfillmentId = property.Value.GetGuid(); continue; } if (property.NameEquals("storeFront")) { storeFront = property.Value.GetString(); continue; } if (property.NameEquals("sandboxType")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } sandboxType = property.Value.GetString().ToSandboxTypeEnum(); continue; } if (property.NameEquals("created")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } created = property.Value.GetDateTimeOffset("O"); continue; } if (property.NameEquals("lastModified")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } lastModified = property.Value.GetDateTimeOffset("O"); continue; } if (property.NameEquals("sessionMode")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } sessionMode = property.Value.GetString().ToSessionModeEnum(); continue; } } return(new Subscription(Optional.ToNullable(id), publisherId.Value, offerId.Value, name.Value, Optional.ToNullable(saasSubscriptionStatus), beneficiary.Value, purchaser.Value, planId.Value, Optional.ToNullable(quantity), term.Value, Optional.ToNullable(autoRenew), Optional.ToNullable(isTest), Optional.ToNullable(isFreeTrial), Optional.ToList(allowedCustomerOperations), Optional.ToNullable(sessionId), Optional.ToNullable(fulfillmentId), storeFront.Value, Optional.ToNullable(sandboxType), Optional.ToNullable(created), Optional.ToNullable(lastModified), Optional.ToNullable(sessionMode))); }