private FilterToWorkItem GetFilters() { var search = WorkItemSearch.Text.Length >= 3 ? WorkItemSearch.Text : string.Empty; var week = (WeekViewModel)CbbWeek.SelectedItem; var epic = (EpicViewModel)CbbEpic.SelectedItem; var type = (WorkType?)CbbType.SelectedItem; var status = (WorkStatus?)CbbStatus.SelectedItem; var assignee = (AssigneeViewModel)CbbAssignee.SelectedItem; var team = CbbTeam.SelectedItem?.ToString(); var techDebt = TechDebt.IsChecked; var filter = new FilterToWorkItem { Search = search, Week = week, Epic = epic, Type = type, Status = status, Assignee = assignee, Team = team, TechDebt = techDebt }; return(filter); }
private void LoadWorkItems(FilterToWorkItem filter) { _workItems = _workApplicationService.GetWorkItemsByFilter(filter); DataGridWorkItem.ItemsSource = null; DataGridWorkItem.ItemsSource = _workItems; ScreenTitle.Content = string.Format("Work Items - amount activities: {0}", _workItems.Count()); }
public IEnumerable <WorkItemViewModel> GetWorkItemsByFilter(FilterToWorkItem filter) { var result = _workRepository.GetAll().ToList(); if (!string.IsNullOrEmpty(filter.Search)) { result = result.Where(x => x.IssueId.Contains(filter.Search)).ToList(); } if (filter.Week != null) { var week = _mapper.Map <Week>(filter.Week); result = result.Where(x => x.WeekId == week.Id).ToList(); } if (filter.Epic != null) { var epic = _mapper.Map <Epic>(filter.Epic); result = result.Where(x => x.EpicId == epic.Id).ToList(); } if (filter.Type != null) { result = result.Where(x => x.Type == filter.Type).ToList(); } if (filter.Status != null) { result = result.Where(x => x.Status == filter.Status).ToList(); } if (filter.TechDebt != null) { result = result.Where(x => x.TechDebt == filter.TechDebt).ToList(); } if (filter.Assignee != null) { var assignee = _mapper.Map <Assignee>(filter.Assignee); result = result.Where(x => x.AssigneeId == assignee.Id).ToList(); } if (!string.IsNullOrWhiteSpace(filter.Team)) { result = result.Where(x => x.Team == filter.Team).ToList(); } result = result.Select(x => { if (x.AssigneeId.HasValue) { var assignee = _assigneeRepository.Find(x.AssigneeId.GetValueOrDefault()); x.SetAssignee(assignee); } var epic = _epicRepository.Find(x.EpicId); x.SetEpic(epic); return(x); }).ToList(); var workItems = _mapper.Map <IEnumerable <WorkItemViewModel> >(result); workItems = workItems.Select(x => { x.StatusDate = GetStatusDate(x); return(x); }).ToList(); return(workItems.OrderByDescending(x => x.UpdatedAt).ToList()); }