private void LongOperationToFetchSummary(object param) { View vw = (View)param; Thread.Sleep(2000); if (FetchSummaryCompleteEvent == null) return; SummaryFetchCompletedEventArgs args = new SummaryFetchCompletedEventArgs(); args.Summary = new SummaryView(); int n = DateTime.Now.Second; //introduce randomness args.Summary.TasksApproved = ++n; args.Summary.TasksComplete = ++n; args.Summary.TasksDueToday = ++n; args.Summary.TasksNotApplicable = ++n; args.Summary.TasksOutstanding = ++n; args.Summary.TasksOverdue = ++n; args.Summary.TasksPartCompleted = ++n; args.Summary.TasksPending = ++n; args.Summary.TasksReassign = ++n; args.Summary.TasksRejected = ++n; args.Summary.TasksTotal = ++n; Deployment.Current.Dispatcher.BeginInvoke(delegate() { FetchSummaryCompleteEvent(this, args); }); }
void Provider_FetchSummaryCompleteEvent(object sender, SummaryFetchCompletedEventArgs args) { Debug.WriteLine("Provider_FetchSummaryCompleteEvent"); if (args.Cancelled == true) return; if (args.Error == null) { _viewModel.Status.Exception = null; TasksApproved = args.Summary.TasksApproved; TasksComplete = args.Summary.TasksComplete ; TasksDueToday = args.Summary.TasksDueToday; TasksOutstanding = args.Summary.TasksOutstanding ; TasksOverdue = args.Summary.TasksOverdue ; TasksPartCompleted = args.Summary.TasksPartCompleted ; TasksPending = args.Summary.TasksPending; TasksReassign = args.Summary.TasksReassign; TasksRejected = args.Summary.TasksRejected; TasksTotal = args.Summary.TasksTotal; TasksOverdueBeforeToday = args.Summary.TasksOverdueBeforeToday; TasksOverdueToday = args.Summary.TasksOverdueToday; TasksDueWithinNextHour = args.Summary.TasksDueWithinNextHour; TasksDueLaterToday = args.Summary.TasksDueLaterToday; TasksTotalOutstanding = args.Summary.TasksTotalOutstanding; TasksNotApplicable = args.Summary.TasksNotApplicable; TasksCompletedAwaitingApprovalToday = args.Summary.TasksCompletedAwaitingApprovalToday; TasksCompletedApprovedToday = args.Summary.TasksCompletedApprovedToday; TasksCompletedAwaitingApprovalBeforeToday = args.Summary.TasksCompletedAwaitingApprovalBeforeToday; RowsFetched = args.Summary.RowsFetched; } if (args.Error != null) { _viewModel.Status.Exception = args.Error; ResetStatus(StatusDatanotavailable); } }
void listSummary_GetListItemsCompleted(object sender, BCheck.Data.BCheckLists.GetListItemsCompletedEventArgs e) { if (FetchSummaryCompleteEvent == null) return; SummaryFetchCompletedEventArgs args = null; if (e.Cancelled == true) { args = new SummaryFetchCompletedEventArgs(null, true, null); args.Summary = null; } if ((e.Cancelled != true) && (e.Error != null)) { args = new SummaryFetchCompletedEventArgs(null, false, null) { Summary = new SummaryView() }; //compute statistics here } if ((e.Cancelled != true) && (e.Error == null)) { args = new SummaryFetchCompletedEventArgs(e.Error, false, null); XElement xresults = e.Result; XNamespace ns = "#RowsetSchema"; var queryalltasks = from x in xresults.Descendants() where x.Name == ns + "row" select new TaskItem { TaskName = (string)x.Attribute("ows_Title"), ID = (int?)x.Attribute("ows_ID") ?? 0, AssignedTo = (string)x.Attribute("ows_Assign_x0020_to"), Status = (string)x.Attribute("ows_Status"), DueTime = (string)x.Attribute("ows_Due_x0020_Time"), ManagementSignOff = (string)x.Attribute("ows_Management_x0020_Signoff"), CreatedUtc = (DateTime)x.Attribute("ows_Created"), CreatedLocal = TaskItem.GetCreatedTimeAsPerCurrentRegion((DateTime)x.Attribute("ows_Created")) }; args.Summary = new SummaryView(); View userState = (View)e.UserState; if (userState == View.vwAssignedTasks) { //HelperProcessSummaryResultsAssignedTasks( queryalltasks,args.Summary); //Mar 11 release. Using a central routine for computing Summary SummaryView.ComputeSummaryViewFromCollectionOfTasks(queryalltasks, args.Summary); } if (userState == View.vwManagedTasks) { //Mar 11 release. Using a central routine for computing Summary //HelperProcessSummaryResultsManagedTasks( queryalltasks,args.Summary); SummaryView.ComputeSummaryViewFromCollectionOfTasks(queryalltasks, args.Summary); } } Deployment.Current.Dispatcher.BeginInvoke(delegate() { FetchSummaryCompleteEvent(this, args); }); }