Ejemplo n.º 1
0
 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;
 }
Ejemplo n.º 2
0
        /// <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);
            }
        }