private async void Initialize() { IsBusy = true; AvailableTaskStatuses = await _taskItemDataService.GetAvailableTaskStatuses(); SelectedTaskStatus = AvailableTaskStatuses.First(); if (_associatedTaskSubitem != null && _associatedTaskItem != null) { AvailableTaskSubitems = await _taskSubitemDataService.GetTaskSubitems(_associatedTaskItem.Id); Id = _associatedTaskSubitem.Id; Name = _associatedTaskSubitem.Name; Description = _associatedTaskSubitem.Description; SelectedTaskStatus = _availableTaskStatuses.Single(s => s.Id == _associatedTaskSubitem.TaskStatusId); StartDateTime = _associatedTaskSubitem.StartDateTime.Value; EndDateTime = _associatedTaskSubitem.EndDateTime.Value; EstimationInHours = _associatedTaskSubitem.EstimationInHours; IsCompleted = _associatedTaskSubitem.IsCompleted; IsDeleted = _associatedTaskSubitem.IsDeleted; SelectedPredecessor = !String.IsNullOrWhiteSpace(_associatedTaskSubitem.PredecessorId) ? AvailableTaskSubitems.SingleOrDefault(t => t.Id == _associatedTaskSubitem.PredecessorId) : null; SelectedSuccessor = !String.IsNullOrWhiteSpace(_associatedTaskSubitem.SuccessorId) ? AvailableTaskSubitems.SingleOrDefault(t => t.Id == _associatedTaskSubitem.SuccessorId) : null; AvailableGroupUsers = await _userDataService.GetUsersFromGroup(_associatedTaskItem.GroupId); SelectedExecutor = !String.IsNullOrWhiteSpace(_associatedTaskSubitem.ExecutorId) ? AvailableGroupUsers.SingleOrDefault(u => u.Id == _associatedTaskSubitem.ExecutorId) : null; } else if (_associatedTaskItem != null) { AvailableTaskSubitems = await _taskSubitemDataService.GetTaskSubitems(_associatedTaskItem.Id); AvailableGroupUsers = await _userDataService.GetUsersFromGroup(_associatedTaskItem.GroupId); } IsBusy = false; }
private async void Initialize() { try { IsBusy = true; IsRefreshVisible = false; string userId = AccountHelper.GetCurrentUserId(); string userInternalId = await _userDataService.GetUserInternalId(userId, Constants.MainAuthenticationDomain); var taskItems = await _taskItemDataService.GetTaskItems(userInternalId); TaskSubitems = new ObservableCollection <TaskSubitem>(); foreach (var taskItem in taskItems) { var taskSubitems = await _taskSubitemDataService.GetTaskSubitems(taskItem.Id); Func <TaskSubitem, bool> func = t => t.TaskStatusId == ((int)TaskStatusEnum.InProgress).ToString() && t.EndDateTime.HasValue && t.EndDateTime.Value.Date <= DateTime.Today; taskSubitems.Where(func).ForEach(t => TaskSubitems.Add(t)); } } catch (Exception ex) { new MessageDialog(ex.Message).ShowAsync(); } IsBusy = false; IsRefreshVisible = true; }
private async void Refresh() { IsBusy = true; if (_associatedTaskItem != null) { TaskName = _associatedTaskItem.Name; TaskSubitems = await _taskSubitemDataService.GetTaskSubitems(_associatedTaskItem.Id); TaskSubitems = TaskSubitems.OrderBy(t => t.Name).ToObservableCollection(); } IsBusy = false; }
private async Task Initialize() { var userId = AccountHelper.GetCurrentUserId(); string userInternalId = await _userDataService.GetUserInternalId(userId, Constants.MainAuthenticationDomain); var taskItems = await _taskItemDataService.GetTaskItems(userInternalId); var tasksNotCompleted = taskItems.Where(t => t.TaskStatusId != ((int)TaskStatusEnum.Completed).ToString()); List <TaskSubitem> userTaskSubitems = new List <TaskSubitem>(); foreach (var taskItem in tasksNotCompleted) { var taskSubitems = await _taskSubitemDataService.GetTaskSubitems(taskItem.Id); var items = taskSubitems.Where( t => t.ExecutorId == userInternalId && t.EndDateTime.HasValue && t.TaskStatusId != ((int)TaskStatusEnum.Completed).ToString()).ToList(); if (items.Any()) { userTaskSubitems.AddRange(items); } } var tasksGroupedByEndDate = userTaskSubitems.GroupBy(t => t.EndDateTime.Value.Date); foreach (var dateTask in tasksGroupedByEndDate) { Add(dateTask.Key.Date, new TaskSubitem() { Name = "Deadline: " + String.Join(" || ", dateTask.Select(t => t.Name).ToList()), Description = String.Join(" || ", dateTask.Select(t => t.Description).ToList()) }); } }