Example #1
0
 /// <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 &#39;default&#39; 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;
 }
Example #4
0
 /// <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;
 }
Example #6
0
 /// <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;
 }
Example #8
0
 /// <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;
 }