public ErrorGroupItem(ErrorGroupStats errorGroup, TimeRangeItem timeRange) { if (errorGroup == null) { throw new ErrorReportingException(new ArgumentNullException(nameof(errorGroup))); } ErrorGroup = errorGroup; if (ErrorGroup.Representative?.Message != null) { ParsedException = new ParsedException(ErrorGroup.Representative?.Message); } GroupTimeRange = timeRange; }
/// <summary> /// Update detail view with a new <paramref name="errorGroupItem"/>. /// </summary> /// <param name="errorGroupItem">The error group item showing in the detail view.</param> /// <param name="groupSelectedTimeRangeItem">The selected time range.</param> public void UpdateView(ErrorGroupItem errorGroupItem, TimeRangeItem groupSelectedTimeRangeItem) { if (errorGroupItem == null) { throw new ErrorReportingException(new ArgumentNullException(nameof(errorGroupItem))); } if (groupSelectedTimeRangeItem == null) { throw new ErrorReportingException(new ArgumentNullException(nameof(groupSelectedTimeRangeItem))); } IsAccountChanged = false; GroupItem = errorGroupItem; if (groupSelectedTimeRangeItem.GroupTimeRange == SelectedTimeRangeItem?.GroupTimeRange) { ErrorHandlerUtils.HandleAsyncExceptions(UpdateEventAsync); } else { // This will triger a call to UpdateGroupAndEventAsync(). SelectedTimeRangeItem = AllTimeRangeItems.First(x => x.GroupTimeRange == groupSelectedTimeRangeItem.GroupTimeRange); } }