示例#1
0
 internal void Merge(RepairSteps stepsToMerge)
 {
     if (stepsToMerge == null)
     {
         throw new ArgumentNullException("stepsToMerge");
     }
     this.MasterRum = RumInfo.Merge(this.MasterRum, stepsToMerge.MasterRum);
     foreach (RumInfo rum in stepsToMerge.OccurrenceRums.Values)
     {
         this.AddOccurrenceRum(rum);
     }
 }
示例#2
0
 private void AddOccurrenceRum(RumInfo rum)
 {
     if (this.MasterRum.IsNullOp)
     {
         ExDateTime value = rum.OccurrenceOriginalStartTime.Value;
         if (this.OccurrenceRums.ContainsKey(value))
         {
             this.OccurrenceRums[value] = RumInfo.Merge(this.OccurrenceRums[value], rum);
             return;
         }
         this.OccurrenceRums.Add(rum.OccurrenceOriginalStartTime.Value, rum);
     }
 }
示例#3
0
 internal void AddStep(RumInfo rum)
 {
     if (rum == null)
     {
         throw new ArgumentNullException("rum", "RUM cannot be null.");
     }
     if (!rum.IsNullOp)
     {
         if (rum.IsOccurrenceRum)
         {
             this.AddOccurrenceRum(rum);
             return;
         }
         this.MasterRum = RumInfo.Merge(this.MasterRum, rum);
         this.OccurrenceRums.Clear();
     }
 }