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; } }
public void AddExtraGapToTotalDuration(long extraGap) { var output = DiagnoseOutputViewModels.SingleOrDefault(x => x.IsBracketOpen); if (output != null) { output.AddExtraGapToTotalDuration(extraGap); } TotalDuration += extraGap; }