public async Task <IActionResult> Index() { var readTagsRequest = new ReadTagsRequest(); var response = await _tagApplicationService.Handle(readTagsRequest); return(View(response)); }
public async Task <IActionResult> AddProjectBug([BindRequired] long?projectId) { if (!ModelState.IsValid) { return(RedirectToAction(nameof(Details), new { projectId = projectId.Value })); } var readProjectRequest = new ReadProjectRequest { ProjectId = projectId.Value }; var foundProject = await _projectApplicationService.Handle(readProjectRequest); var readAvailableTagsRequest = new ReadTagsRequest(); var availableTags = await _tagApplicationService.Handle(readAvailableTagsRequest); var viewModel = new AddProjectBugViewModel { ProjectId = projectId, TeamMembers = foundProject.TeamMembers .Select(user => new SelectListItem { Value = user.Id.ToString(), Text = user.FullName }) .ToList(), AvailableTags = availableTags .Select(tag => new SelectListItem { Value = tag.Id.ToString(), Text = tag.Name, }) .ToList() }; return(View(viewModel)); }
public async Task <IEnumerable <TagResponse> > Handle(ReadTagsRequest request) { var tags = await _tagRepository.ReadAll(); var response = tags.Select(tag => tag.Adapt <TagResponse>()) .ToList(); return(response); }
public async Task <IActionResult> AddProjectBug([FromForm, Bind("ProjectId,Priority,Title,DueDate,Description,Assignee,SelectedTags")] AddProjectBugViewModel model) { if (!ModelState.IsValid) { var readProjectRequest = new ReadProjectRequest { ProjectId = model.ProjectId.Value }; var foundProject = await _projectApplicationService.Handle(readProjectRequest); var readAvailableTagsRequest = new ReadTagsRequest(); var availableTags = await _tagApplicationService.Handle(readAvailableTagsRequest); model.TeamMembers = foundProject.TeamMembers .Select(user => new SelectListItem { Value = user.Id.ToString(), Text = user.FullName }) .ToList(); model.AvailableTags = availableTags .Select(tag => new SelectListItem { Value = tag.Id.ToString(), Text = tag.Name }) .ToList(); return(View(model)); } var addProjectBugRequest = new AddProjectBugRequest { ProjectId = model.ProjectId.Value, Priority = model.Priority, Title = model.Title, DueDate = model.DueDate.Value, Description = model.Description, Assignee = model.Assignee.Value, Tags = model.SelectedTags }; await _projectApplicationService.Handle(addProjectBugRequest); return(RedirectToAction(nameof(Details), new { projectId = model.ProjectId.Value })); }