/// <summary> /// Initializes a new instance of the <see cref="PriceUpdate" /> class. /// </summary> /// <param name="IncludeInEstimates">Should this price-line item be factored into estimated price calculations? (default to true).</param> /// <param name="PricePerUnit">The price of this line item..</param> /// <param name="Currency">The currency of the price.</param> /// <param name="RecordsPerUnit">The number of records that make up 1 unit..</param> /// <param name="FloorPricePerUnit">The minimum price per unit possible, after applying discount..</param> /// <param name="PercentDiscount">A % discount applied to the effective base price..</param> /// <param name="Enabled">Is this price currently active? Prices may be disabled, overriding their time frame of effectivness..</param> /// <param name="OverrideRemaining">When an estimate request includes tier specifications, this indicates that the remainder of *count - specifiedTiersTotal* should be used. This will be true in cases where the tiers are expected to be mutually exclusive..</param> /// <param name="TimeFrame">TimeFrame.</param> public PriceUpdate(bool?IncludeInEstimates = true, decimal?PricePerUnit = default(decimal?), string Currency = default(string), decimal?RecordsPerUnit = default(decimal?), decimal?FloorPricePerUnit = default(decimal?), decimal?PercentDiscount = default(decimal?), bool?Enabled = default(bool?), bool?OverrideRemaining = default(bool?), TimeFrame TimeFrame = default(TimeFrame)) { // use default value if no "IncludeInEstimates" provided if (IncludeInEstimates == null) { this.IncludeInEstimates = true; } else { this.IncludeInEstimates = IncludeInEstimates; } this.PricePerUnit = PricePerUnit; this.Currency = Currency; this.RecordsPerUnit = RecordsPerUnit; this.FloorPricePerUnit = FloorPricePerUnit; this.PercentDiscount = PercentDiscount; this.Enabled = Enabled; this.OverrideRemaining = OverrideRemaining; this.TimeFrame = TimeFrame; }