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()));
 }
示例#3
0
        /// <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();
        }