예제 #1
0
        public void ProcessNewDiagnoseOutputEntry(IDiagnoseOutputEntry entry, long extraGap)
        {
            var output = DiagnoseOutputViewModels.SingleOrDefault(x => x.IsBracketOpen);

            if (output == null)
            {
                output = new DiagnoseOutputViewModel(entry, extraGap);
                if (entry.Type == DiagnoseType.EndBracketOutput)
                {
                    IsBracketOpen = false;
                    EndTimeStamp  = entry.TimeStamp;
                }
                else
                {
                    DiagnoseOutputViewModels.Add(output);
                }
            }
            else
            {
                output.ProcessNewDiagnoseOutputEntry(entry, extraGap);
            }
            if (output.IsBracketOpen)
            {
                TotalDuration = _totalDurationWithoutLastOpenBracketDiagnoseOutputViewModel +
                                output.GapExtraGapAndTotalDuration;
            }
            else
            {
                _totalDurationWithoutLastOpenBracketDiagnoseOutputViewModel += output.GapExtraGapAndTotalDuration;
                TotalDuration = _totalDurationWithoutLastOpenBracketDiagnoseOutputViewModel;
            }
        }
예제 #2
0
        public void AddExtraGapToTotalDuration(long extraGap)
        {
            var output = DiagnoseOutputViewModels.SingleOrDefault(x => x.IsBracketOpen);

            if (output != null)
            {
                output.AddExtraGapToTotalDuration(extraGap);
            }
            TotalDuration += extraGap;
        }