public async Task GetTasksByProjectId(string proId, TasksSortEnum tasksSortEnum) { List<Tasks> projectTasksList = new List<Tasks>(); if (ProjectsSelected.IsIntelligentProjects) { switch (ProjectsSelected.IntelligentProjectsTypeEnum) { case IntelligentProjectsTypeEnum.IsShowTodayList: projectTasksList = await TaskBll.GetTodayTasks(); break; case IntelligentProjectsTypeEnum.IsShowCompletedList: projectTasksList = await TaskBll.GetCompletedTasks(); break; case IntelligentProjectsTypeEnum.IsShowScheduledList: if (LoggerHelper.IS_LOG_ENABLED) { await LoggerHelper.LogToAllChannels(null, "此处不应该被触发"); } projectTasksList = projectTasksList.Where(t => t.DueDate != null).ToList(); break; case IntelligentProjectsTypeEnum.IsShow7DaysList: projectTasksList = await TaskBll.GetSevenTasks(); break; case IntelligentProjectsTypeEnum.IsShowAllList: projectTasksList = await TaskBll.GetAllTasks(); break; case IntelligentProjectsTypeEnum.IsInboxList: projectTasksList = await TaskBll.GetInboxTasks(); break; } } else { projectTasksList = await TaskBll.GetTasksByProjectIdAndSortOrder(proId, tasksSortEnum); } this.Tasks = projectTasksList.FindAll(t => t.TaskStatus == ModelStatusEnum.NOT_COMPLETED); this.TasksFinished = projectTasksList.FindAll((t) => t.TaskStatus == ModelStatusEnum.COMPLETED); ////1.获取所有的需要进行提醒的任务 this.TasksNeedNotification = projectTasksList.FindAll((t) => t.IsReminder() && t.TaskStatus == ModelStatusEnum.NOT_COMPLETED); }
/// <summary> /// 加载数据 /// </summary> /// <param name="tasksSortEnum"></param> /// <returns></returns> public async Task LoadData(TasksSortEnum tasksSortEnum) { await Task.WhenAll(LoadProjectsList(), GetTasksByProjectId(ProjectsSelected.Id.ToString())); }
/// <summary> /// 初始化 /// </summary> private async Task InitialAsyncAndBindingResource(TasksSortEnum tasksSortEnum) { // 同步操作,消耗的时间比较多 // 获取所有内容 this.progressRing.IsActive = true; if (App.SignUserInfo.Sid != User.LOCAL_MODE_ID) { await ViewModel.InitialAsync(); } await ViewModel.LoadData(tasksSortEnum); if (ViewModel.TasksFinished.Count > 0) { this.listViewTasksFinished.Visibility = Visibility.Visible; } this.progressRing.IsActive = false; AddTasksReminderIntoToastNotification(); }