LotSizingDataModel.Core 2.0.1
Core domain model, shared abstractions and XML-serializable entities.
Loading...
Searching...
No Matches
MaximumProducedItemCount.cs
Go to the documentation of this file.
1using System;
2using System.Xml.Serialization;
5
7
8/// <summary>
9/// Maximum number of distinct items that may be produced during each
10/// scheduling bucket.
11/// </summary>
12[Serializable]
13[XmlType(TypeName = "maximumProducedItemCount")]
14public sealed class MaximumProducedItemCount :
16{
18 {
19 }
20
21 public MaximumProducedItemCount(int planningHorizon)
22 : base(
23 planningHorizon,
24 defaultValue: 1)
25 {
26 }
27
29 int planningHorizon,
30 int defaultMaximumProducedItemCount)
31 : base(
32 planningHorizon,
33 defaultMaximumProducedItemCount)
34 {
35 }
36
37 [XmlIgnore]
39 Values;
40
41 public int GetCount(int period) =>
42 GetValue(period);
43
44 public void SetCount(
45 int period,
46 int count) =>
47 SetValue(period, count);
48
49 [XmlIgnore]
50 protected override int DefaultValueForNewPeriods =>
51 1;
52
53 protected override void ValidateValue(
54 int value,
55 string parameterName)
56 {
57 base.ValidateValue(value, parameterName);
58
59 if (value < 0)
60 {
61 throw new ArgumentOutOfRangeException(
62 parameterName,
63 value,
64 "A maximum produced-item count cannot be negative.");
65 }
66 }
67}
Represents a sequence of integer values indexed by planning period.
int GetValue(int period)
Gets the parameter value for a planning period.
IntegerTimeSeriesParameter()
Initializes an empty period-dependent integer parameter.
void SetValue(int period, int value)
Sets the parameter value for a planning period.
IntegerTimeSeries Values
Gets or sets the parameter values for all planning periods.
override void ValidateValue(int value, string parameterName)
Validates one integer value.
MaximumProducedItemCount(int planningHorizon, int defaultMaximumProducedItemCount)