コード例 #1
0
        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");
            }
        }
コード例 #2
0
        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++;
                }
            }
        }
コード例 #3
0
        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;
            }
        }