public async void RefreshGraveyard() { if (_reloadNeeded == false) { return; } await Task.Factory.StartNew(() => { try { foreach (var issue in Issues.Where(i => i.Resolved.HasValue == false)) { DispatcherHelper.CheckBeginInvokeOnUI(() => { var sinceUpdate = DateTime.Now - issue.BuiltInFields.Updated; var sinceCreation = DateTime.Now - issue.BuiltInFields.Created; if (sinceUpdate > _graveyardSettings.UpdateMoreThanBefore) { OldUpdated.Add(issue); } if (sinceCreation > _graveyardSettings.ArchaicCreatedMoreThanBefore) { ArchaicCreated.Add(issue); } else if (sinceCreation > _graveyardSettings.CreatedMoreThanBefore) { OldCreated.Add(issue); } if (issue.BuiltInFields.Assignee != null && issue.BuiltInFields.Assignee.Active == false) { InactiveAssignee.Add(issue); } if (string.IsNullOrWhiteSpace(issue.Description)) { MissingDescription.Add(issue); } }); } _reloadNeeded = false; } finally { IsBusy = false; } }); }
internal virtual void OnOldUpdated(CommentsUpdateEventArgs e) { OldUpdated?.Invoke(this, e); }