public void AddNewSpill(SpillType type, DateTime spillTime, string spillDescription) { CheckSetNewRecord(spillTime); CheckSetNewMinRecord(spillTime); SpillCount++; Spill spill = new Spill(spillTime, spillDescription, false, type); spills.Add(spill); switch (type) { case SpillType.Home: HomeSpill = spill; HomeSpillCount++; break; case SpillType.Work: WorkSpill = spill; WorkSpillCount++; break; default: throw new ArgumentException("Bad spill type"); } }
public void OnDeserialized(StreamingContext context) { spills.Sort(); WorkSpill = new Spill(); HomeSpill = new Spill(); BigSpill = new Spill(); MaxTimeNoSpill = TimeSpan.MinValue; MinTimeNoSpill = TimeSpan.MaxValue; foreach (Spill spill in spills) { TimeSpan span = TimeSinceLastSpill(spill.Time); if (span.Ticks > 0) { if (span > MaxTimeNoSpill) { MaxTimeNoSpill = span; } if (span < MinTimeNoSpill) { MinTimeNoSpill = span; } } SpillCount++; if (spill.Type == SpillType.Home) { HomeSpill = spill; HomeSpillCount += 1; } else if (spill.Type == SpillType.Work) { WorkSpill = spill; WorkSpillCount += 1; } if (spill.BigSpill) { BigSpill = spill; BigSpillCount++; } } }
public void MarkAsBigSpill(SpillType type) { BigSpillCount++; switch (type) { case SpillType.Home: HomeSpill.BigSpill = true; BigSpill = HomeSpill; break; case SpillType.Work: WorkSpill.BigSpill = true; BigSpill = WorkSpill; break; default: BigSpill = new Spill(); break; } }