public async Task <IActionResult> UpdateProjectBug([FromForm, Bind("ProjectId,BugId,Assignee,Title,Description,Priority,DueDate,Status")] UpdateProjectBugViewModel model)
        {
            if (!ModelState.IsValid)
            {
                var readProjectRequest = new ReadProjectRequest
                {
                    ProjectId = model.ProjectId.Value
                };
                var foundProject = await _projectApplicationService.Handle(readProjectRequest);

                model.TeamMembers = foundProject.TeamMembers
                                    .Select(user => new SelectListItem {
                    Value = user.Id.ToString(), Text = user.FullName
                })
                                    .ToList();

                return(RedirectToAction(nameof(Details), new { projectId = model.ProjectId.Value }));
            }

            var updateProjectBugRequest = new UpdateProjectBugRequest
            {
                ProjectId   = model.ProjectId.Value,
                BugId       = model.BugId.Value,
                DueDate     = model.DueDate.Value,
                Description = model.Description,
                Title       = model.Title,
                Priority    = model.Priority,
                Status      = model.Status,
                Assignee    = model.Assignee.Value
            };
            await _projectApplicationService.Handle(updateProjectBugRequest);

            return(RedirectToAction(nameof(Details), new { projectId = model.ProjectId.Value }));
        }
        public async Task <IActionResult> UpdateProjectBug([BindRequired] long?projectId, [BindRequired] long?bugId)
        {
            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 readProjectBugRequest = new ReadProjectBugRequest
            {
                ProjectId = projectId.Value,
                BugId     = bugId.Value
            };
            var foundBug = await _projectApplicationService.Handle(readProjectBugRequest);

            var viewModel = new UpdateProjectBugViewModel
            {
                Assignee    = foundBug.Assignee.Id,
                ProjectId   = projectId,
                BugId       = bugId,
                TeamMembers = foundProject.TeamMembers
                              .Select(user => new SelectListItem {
                    Value = user.Id.ToString(), Text = user.FullName
                })
                              .ToList(),
                Description = foundBug.Description,
                DueDate     = foundBug.DueDate,
                Priority    = foundBug.Priority,
                Status      = foundBug.Status,
                Title       = foundBug.Title
            };

            return(View(viewModel));
        }