public ViewProjectResponse Execute(AuthorizedIdRequest request) { request.ThrowExceptionIfInvalid(); var entity = _projectRepository.Read(request.Id); var response = new ViewProjectResponse { Id = request.Id, Name = entity.Name, DefinitionOfDone = entity.DefinitionOfDone.Conditions, Description = entity.Description, TeamId = entity.TeamId, }; var sprint = _sprintRepository.ReadCurrentSprint(request.Id); if (sprint != null) { response.Sprint = _viewSprintUseCase.Execute(new AuthorizedIdRequest(request.UserId) { Id = sprint.Id, }); response.Report = _sprintReportUseCase.Execute(new AuthorizedIdRequest(request.UserId) { Id = sprint.Id, }); } return(response); }
public ViewProjectViewModel Present(ViewProjectResponse response) { var team = RepositoryProvider.Team.Read(response.TeamId); return(new ViewProjectViewModel { Id = response.Id.ToPresentationIdentity(), Name = response.Name, Team = team.ToViewModel(), Description = response.Description, DefinitionOfDone = response.DefinitionOfDone, Sprint = response.Sprint != null?_viewSprintPresenter.Present(response.Sprint) : null, Report = response.Report != null?_sprintReportPresenter.Present(response.Report) : null, CanDelete = response.CanDelete, }); }