public async Task <IActionResult> Index() { var readUsersRequest = new ReadUsersRequest(); var response = await _userApplicationService.Handle(readUsersRequest); return(View(response)); }
public async Task <IActionResult> Details([BindRequired] long?projectId) { if (!ModelState.IsValid) { return(RedirectToAction(nameof(Index))); } var readProjectRequest = new ReadProjectRequest { ProjectId = projectId.Value }; var project = await _projectApplicationService.Handle(readProjectRequest); var readAvailableTeamMembers = new ReadUsersRequest { Roles = new List <string> { "frontend", "backend", "tester" } }; var availableTeamMembers = await _userApplicationService.Handle(readAvailableTeamMembers); var viewModel = new ProjectDetailsViewModel { Project = project, AvailableUsers = availableTeamMembers .Select(user => new SelectListItem { Value = user.Id.ToString(), Text = user.FullName }) .ToList() }; return(View(viewModel)); }
public async Task <IActionResult> Create([FromForm, Bind("Name,Description,ManagerId")] CreateProjectViewModel model) { if (!ModelState.IsValid) { var readManagerUserRequest = new ReadUsersRequest { Roles = new List <string> { "manager" } }; var managers = await _userApplicationService.Handle(readManagerUserRequest); model.Managers = managers .Select(manager => new SelectListItem { Value = manager.Id.ToString(), Text = manager.FullName }) .ToList(); return(View(model)); } var createProjectRequest = new CreateProjectRequest { Name = model.Name, Description = model.Description, ManagerUserId = model.ManagerId.Value }; var response = await _projectApplicationService.Handle(createProjectRequest); return(RedirectToAction(nameof(Index))); }
public async Task <IEnumerable <UserResponse> > Handle(ReadUsersRequest request) { IEnumerable <User> users = null; if (request.Roles != default) { var roles = request.Roles .Select(role => Enum.Parse <UserRole>(role.ToUpper())); users = await _userRepository.ReadAll(roles); } else { users = await _userRepository.ReadAll(); } var response = users.Select(user => user.Adapt <UserResponse>()) .ToList(); return(response); }
public async Task <IActionResult> Create() { var readManagerUserRequest = new ReadUsersRequest { Roles = new List <string> { "manager" } }; var managers = await _userApplicationService.Handle(readManagerUserRequest); var viewModel = new CreateProjectViewModel { Managers = managers .Select(manager => new SelectListItem { Value = manager.Id.ToString(), Text = manager.FullName }) .ToList() }; return(View(viewModel)); }