/// <summary> /// Initializes a new instance of the <see cref="SubscriptionProductComponentUpdate" /> class. /// </summary> /// <param name="Id">The ID is the primary key of the entity. The ID identifies the entity uniquely. (required)</param> /// <param name="Version">The version number indicates the version of the entity. The version is incremented whenever the entity is changed. (required)</param> /// <param name="ComponentChangeWeight">The change weight determines whether if a component change is considered as upgrade or downgrade. If product component with a weight 10 is changed to a product component with a weight 20, the change is considered as upgrade. On the other hand a change from 20 to 10 is considered as a downgrade.</param> /// <param name="ComponentGroup">ComponentGroup</param> /// <param name="DefaultComponent">When a component is marked as a 'default' component it is used when no other component is selected by the user.</param> /// <param name="Description">The component description may contain a longer description which gives the subscriber a better understanding of what the component contains.</param> /// <param name="Name">The component name is shown to the subscriber. It should describe in few words what the component does contain.</param> /// <param name="Reference">The component reference is used to identify the component by external systems and it marks components to represent the same component within different product versions.</param> /// <param name="SortOrder">The sort order controls in which order the component is listed. The sort order is used to order the components in ascending order.</param> /// <param name="TaxClass">The tax class of the component determines the taxes which are applicable on all fees linked with the component.</param> public SubscriptionProductComponentUpdate(DatabaseTranslatedStringCreate Description = default(DatabaseTranslatedStringCreate), long?Id = default(long?), long?Reference = default(long?), int?SortOrder = default(int?), int?ComponentChangeWeight = default(int?), bool?DefaultComponent = default(bool?), long?TaxClass = default(long?), long?Version = default(long?), long?ComponentGroup = default(long?), DatabaseTranslatedStringCreate Name = default(DatabaseTranslatedStringCreate)) { // to ensure "Id" is required (not null) if (Id == null) { throw new ArgumentNullException("Id is a required property for SubscriptionProductComponentUpdate and cannot be null"); } else { this.Id = Id; } // to ensure "Version" is required (not null) if (Version == null) { throw new ArgumentNullException("Version is a required property for SubscriptionProductComponentUpdate and cannot be null"); } else { this.Version = Version; } this.ComponentChangeWeight = ComponentChangeWeight; this.ComponentGroup = ComponentGroup; this.DefaultComponent = DefaultComponent; this.Description = Description; this.Name = Name; this.Reference = Reference; this.SortOrder = SortOrder; this.TaxClass = TaxClass; }
/// <summary> /// Initializes a new instance of the <see cref="SubscriptionProductComponentGroupUpdate" /> class. /// </summary> /// <param name="Id">The ID is the primary key of the entity. The ID identifies the entity uniquely. (required)</param> /// <param name="Version">The version number indicates the version of the entity. The version is incremented whenever the entity is changed. (required)</param> /// <param name="Name">The component group name will be shown when the components are selected. This can be visible to the subscriber.</param> /// <param name="Optional">The component group can be optional. This means no component has to be selected by the subscriber.</param> /// <param name="ProductVersion">ProductVersion</param> /// <param name="SortOrder">The sort order controls in which order the component group is listed. The sort order is used to order the component groups in ascending order.</param> public SubscriptionProductComponentGroupUpdate(long?Id = default(long?), DatabaseTranslatedStringCreate Name = default(DatabaseTranslatedStringCreate), int?SortOrder = default(int?), long?Version = default(long?), bool?Optional = default(bool?), long?ProductVersion = default(long?)) { // to ensure "Id" is required (not null) if (Id == null) { throw new ArgumentNullException("Id is a required property for SubscriptionProductComponentGroupUpdate and cannot be null"); } else { this.Id = Id; } // to ensure "Version" is required (not null) if (Version == null) { throw new ArgumentNullException("Version is a required property for SubscriptionProductComponentGroupUpdate and cannot be null"); } else { this.Version = Version; } this.Name = Name; this.Optional = Optional; this.ProductVersion = ProductVersion; this.SortOrder = SortOrder; }
/// <summary> /// Initializes a new instance of the <see cref="ProductSetupFeeUpdate" /> class. /// </summary> /// <param name="Id">The ID is the primary key of the entity. The ID identifies the entity uniquely. (required)</param> /// <param name="Version">The version number indicates the version of the entity. The version is incremented whenever the entity is changed. (required)</param> /// <param name="Component">Component</param> /// <param name="Description">The description of a component fee describes the fee to the subscriber. The description may be shown in documents or on certain user interfaces.</param> /// <param name="Name">The name of the fee should describe for the subscriber in few words for what the fee is for.</param> /// <param name="OnDowngradeCreditedAmount">When the subscription is changed and the change is considered as a downgrade the amount defined by this property will be credited to the subscriber.</param> /// <param name="OnUpgradeCreditedAmount">When the subscription is changed and the change is considered as a upgrade the amount defined by this property will be credited to the subscriber.</param> /// <param name="SetupFee">The setup fee is charged when the subscriber subscribes to this component. The setup fee is debited with the first charge for the subscriptions.</param> public ProductSetupFeeUpdate(long?Id = default(long?), DatabaseTranslatedStringCreate Name = default(DatabaseTranslatedStringCreate), DatabaseTranslatedStringCreate Description = default(DatabaseTranslatedStringCreate), List <PersistableCurrencyAmountUpdate> SetupFee = default(List <PersistableCurrencyAmountUpdate>), List <PersistableCurrencyAmountUpdate> OnDowngradeCreditedAmount = default(List <PersistableCurrencyAmountUpdate>), long?Version = default(long?), List <PersistableCurrencyAmountUpdate> OnUpgradeCreditedAmount = default(List <PersistableCurrencyAmountUpdate>), long?Component = default(long?)) { // to ensure "Id" is required (not null) if (Id == null) { throw new ArgumentNullException("Id is a required property for ProductSetupFeeUpdate and cannot be null"); } else { this.Id = Id; } // to ensure "Version" is required (not null) if (Version == null) { throw new ArgumentNullException("Version is a required property for ProductSetupFeeUpdate and cannot be null"); } else { this.Version = Version; } this.Component = Component; this.Description = Description; this.Name = Name; this.OnDowngradeCreditedAmount = OnDowngradeCreditedAmount; this.OnUpgradeCreditedAmount = OnUpgradeCreditedAmount; this.SetupFee = SetupFee; }
/// <summary> /// Initializes a new instance of the <see cref="SubscriptionMetricCreate" /> class. /// </summary> /// <param name="Type">Type (required)</param> public SubscriptionMetricCreate(DatabaseTranslatedStringCreate Description = default(DatabaseTranslatedStringCreate), long?Type = default(long?), DatabaseTranslatedStringCreate Name = default(DatabaseTranslatedStringCreate)) { // to ensure "Type" is required (not null) if (Type == null) { throw new ArgumentNullException("Type is a required property for SubscriptionMetricCreate and cannot be null"); } else { this.Type = Type; } this.Description = Description; this.Name = Name; }
/// <summary> /// Initializes a new instance of the <see cref="SubscriptionMetricUpdate" /> class. /// </summary> /// <param name="Id">The ID is the primary key of the entity. The ID identifies the entity uniquely. (required)</param> /// <param name="Version">The version number indicates the version of the entity. The version is incremented whenever the entity is changed. (required)</param> /// <param name="Description">Description</param> /// <param name="Name">Name</param> public SubscriptionMetricUpdate(long?Id = default(long?), DatabaseTranslatedStringCreate Description = default(DatabaseTranslatedStringCreate), long?Version = default(long?), DatabaseTranslatedStringCreate Name = default(DatabaseTranslatedStringCreate)) { // to ensure "Id" is required (not null) if (Id == null) { throw new ArgumentNullException("Id is a required property for SubscriptionMetricUpdate and cannot be null"); } else { this.Id = Id; } // to ensure "Version" is required (not null) if (Version == null) { throw new ArgumentNullException("Version is a required property for SubscriptionMetricUpdate and cannot be null"); } else { this.Version = Version; } this.Description = Description; this.Name = Name; }
/// <summary> /// Initializes a new instance of the <see cref="ProductMeteredFeeUpdate" /> class. /// </summary> /// <param name="Id">The ID is the primary key of the entity. The ID identifies the entity uniquely. (required)</param> /// <param name="Version">The version number indicates the version of the entity. The version is incremented whenever the entity is changed. (required)</param> /// <param name="Component">Component</param> /// <param name="Description">The description of a component fee describes the fee to the subscriber. The description may be shown in documents or on certain user interfaces.</param> /// <param name="Metric">Metric</param> /// <param name="Name">The name of the fee should describe for the subscriber in few words for what the fee is for.</param> /// <param name="TierPricing">The tier pricing determines the calculation method of the tiers. The prices of the different tiers can be applied in different ways. The tier pricing controls this calculation.</param> public ProductMeteredFeeUpdate(ProductMeteredTierPricing?TierPricing = default(ProductMeteredTierPricing?), long?Id = default(long?), DatabaseTranslatedStringCreate Name = default(DatabaseTranslatedStringCreate), DatabaseTranslatedStringCreate Description = default(DatabaseTranslatedStringCreate), long?Version = default(long?), long?Metric = default(long?), long?Component = default(long?)) { // to ensure "Id" is required (not null) if (Id == null) { throw new ArgumentNullException("Id is a required property for ProductMeteredFeeUpdate and cannot be null"); } else { this.Id = Id; } // to ensure "Version" is required (not null) if (Version == null) { throw new ArgumentNullException("Version is a required property for ProductMeteredFeeUpdate and cannot be null"); } else { this.Version = Version; } this.Component = Component; this.Description = Description; this.Metric = Metric; this.Name = Name; this.TierPricing = TierPricing; }
/// <summary> /// Initializes a new instance of the <see cref="AbstractSubscriptionMetricUpdate" /> class. /// </summary> /// <param name="Description">Description</param> /// <param name="Name">Name</param> public AbstractSubscriptionMetricUpdate(DatabaseTranslatedStringCreate Description = default(DatabaseTranslatedStringCreate), DatabaseTranslatedStringCreate Name = default(DatabaseTranslatedStringCreate)) { this.Description = Description; this.Name = Name; }
/// <summary> /// Initializes a new instance of the <see cref="SubscriptionMetricActive" /> class. /// </summary> public SubscriptionMetricActive(long?Id = default(long?), long?Version = default(long?), DatabaseTranslatedStringCreate Description = default(DatabaseTranslatedStringCreate), DatabaseTranslatedStringCreate Name = default(DatabaseTranslatedStringCreate)) { this.Id = Id; this.Version = Version; this.Description = Description; this.Name = Name; }
/// <summary> /// Initializes a new instance of the <see cref="ProductPeriodFeeUpdate" /> class. /// </summary> /// <param name="Id">The ID is the primary key of the entity. The ID identifies the entity uniquely. (required)</param> /// <param name="Version">The version number indicates the version of the entity. The version is incremented whenever the entity is changed. (required)</param> /// <param name="Component">Component</param> /// <param name="Description">The description of a component fee describes the fee to the subscriber. The description may be shown in documents or on certain user interfaces.</param> /// <param name="Name">The name of the fee should describe for the subscriber in few words for what the fee is for.</param> /// <param name="NumberOfFreeTrialPeriods">The number of free trial periods specify how many periods are free of charge at the begining of the subscription.</param> /// <param name="PeriodFee">The period fee is charged for every period of the subscription except for those periods which are trial periods.</param> public ProductPeriodFeeUpdate(int?NumberOfFreeTrialPeriods = default(int?), long?Id = default(long?), DatabaseTranslatedStringCreate Name = default(DatabaseTranslatedStringCreate), DatabaseTranslatedStringCreate Description = default(DatabaseTranslatedStringCreate), List <PersistableCurrencyAmountUpdate> PeriodFee = default(List <PersistableCurrencyAmountUpdate>), long?Version = default(long?), long?Component = default(long?)) { // to ensure "Id" is required (not null) if (Id == null) { throw new ArgumentNullException("Id is a required property for ProductPeriodFeeUpdate and cannot be null"); } else { this.Id = Id; } // to ensure "Version" is required (not null) if (Version == null) { throw new ArgumentNullException("Version is a required property for ProductPeriodFeeUpdate and cannot be null"); } else { this.Version = Version; } this.Component = Component; this.Description = Description; this.Name = Name; this.NumberOfFreeTrialPeriods = NumberOfFreeTrialPeriods; this.PeriodFee = PeriodFee; }
/// <summary> /// Initializes a new instance of the <see cref="SubscriptionProductVersionPending" /> class. /// </summary> /// <param name="Id">The ID is the primary key of the entity. The ID identifies the entity uniquely. (required)</param> /// <param name="Version">The version number indicates the version of the entity. The version is incremented whenever the entity is changed. (required)</param> /// <param name="BillingCycle">The billing cycle determines the rhythm with which the subscriber is billed. The charging may have different rhythm.</param> /// <param name="Comment">The comment allows to provide a internal comment for the version. It helps to document why a product was changed. The comment is not disclosed to the subscriber.</param> /// <param name="DefaultCurrency">The default currency has to be used in all fees.</param> /// <param name="EnabledCurrencies">The currencies which are enabled can be selected to define component fees. Currencies which are not enabled cannot be used to define fees.</param> /// <param name="MinimalNumberOfPeriods">The minimal number of periods determines how long the subscription has to run before the subscription can be terminated.</param> /// <param name="Name">The product version name is the name of the product which is shown to the user for the version. When the visible product name should be changed for a particular product a new version has to be created which contains the new name of the product.</param> /// <param name="NumberOfNoticePeriods">The number of notice periods determines the number of periods which need to be paid between the request to terminate the subscription and the final period.</param> /// <param name="Product">Each product version is linked to a product.</param> /// <param name="State">State</param> public SubscriptionProductVersionPending(long?Id = default(long?), List <string> EnabledCurrencies = default(List <string>), int?MinimalNumberOfPeriods = default(int?), SubscriptionProductVersionState?State = default(SubscriptionProductVersionState?), long?Version = default(long?), string Comment = default(string), string DefaultCurrency = default(string), long?Product = default(long?), string BillingCycle = default(string), DatabaseTranslatedStringCreate Name = default(DatabaseTranslatedStringCreate), int?NumberOfNoticePeriods = default(int?)) { // to ensure "Id" is required (not null) if (Id == null) { throw new ArgumentNullException("Id is a required property for SubscriptionProductVersionPending and cannot be null"); } else { this.Id = Id; } // to ensure "Version" is required (not null) if (Version == null) { throw new ArgumentNullException("Version is a required property for SubscriptionProductVersionPending and cannot be null"); } else { this.Version = Version; } this.BillingCycle = BillingCycle; this.Comment = Comment; this.DefaultCurrency = DefaultCurrency; this.EnabledCurrencies = EnabledCurrencies; this.MinimalNumberOfPeriods = MinimalNumberOfPeriods; this.Name = Name; this.NumberOfNoticePeriods = NumberOfNoticePeriods; this.Product = Product; this.State = State; }