public async Task <Result <ProjectDetailDto> > GetProjectByIdAsync(Guid id) { var existProject = await _projectRepository.ExistAsync(id); if (!existProject) { return(new Result <ProjectDetailDto>(Status.NotFund, $"Project with {nameof(id)} does not exist")); } var project = await _projectRepository.Query() .Include(p => p.DeveloperProjects) .ThenInclude(dp => dp.Developer) .SingleAsync(p => p.Id == id); var projectDetail = new ProjectDetailDto { Id = project.Id, Title = project.Title, Description = project.Description, Developers = project.DeveloperProjects.Select(dp => new DeveloperListDto { Id = dp.DeveloperId, Name = dp.Developer.Name }) }; return(new Result <ProjectDetailDto>(projectDetail)); }
private List <ProjectWorkerGeneralDto> GenerateProjectGeneral(List <ProjectWorkerDto> getProjectWorkers) { List <ProjectWorkerGeneralDto> projectWorkerGeneralDtos = new List <ProjectWorkerGeneralDto>(); var sectionID = 0; ProjectSection getProjectSection = null; ProjectDetailDto getProject = null; foreach (var getProjectWorker in getProjectWorkers) { var getProjectSectionDepartment = _projectSectionDepartmentService.GetByID(getProjectWorker.ProjectSectionDepartmentID).Data; if (sectionID != getProjectSectionDepartment.ProjectSectionID) { sectionID = getProjectSectionDepartment.ProjectSectionID; getProjectSection = _projectSectionService.GetBySectionID(getProjectSectionDepartment.ProjectSectionID).Data; getProject = _projectService.GetByID(getProjectSection.ProjectID).Data; } ProjectWorkerGeneralDto projectWorkerGeneralDto = new ProjectWorkerGeneralDto() { projectDetail = getProject, projectSection = getProjectSection, projectSectionDepartments = getProjectSectionDepartment, projectWorkerDto = getProjectWorker }; projectWorkerGeneralDtos.Add(projectWorkerGeneralDto); } return(projectWorkerGeneralDtos); }
private IResult CheckIfProjectWorkerCapacityMin(ProjectDetailDto getProject) { if (getProject.MinWorkerCount == getProject.ActiveWorkerCount) { return(new ErrorResult(Messages.ProjectWorkerCapacityMinimum)); } return(new SuccessResult()); }
public async Task Create_DescriptionMoreThanMaximumProjectDetail_ShouldThrowValidationException() { // Arrange var projectDetail = new ProjectDetailDto { Id = 10, ProjectId = 20, OptimisticIteration = 5, PessimisticIteration = 5, Descriptions = new string('*', 501) }; Should.Throw <AbpValidationException>(async() => await projectDetailsAppService.Create(projectDetail).ConfigureAwait(false)) .ValidationErrors.ShouldContain(vr => vr.ErrorMessage == ProjectDetailDto.MaximumDescriptionValidationMsg); }
public async Task Create_PestimistigGTOptemistic_ShouldThrowValidationException() { // Arrange var projectDetail = new ProjectDetailDto { Id = 10, ProjectId = 20, Scope = 7, OptimisticIteration = 2, PessimisticIteration = 5 }; Should.Throw <AbpValidationException>(async() => await projectDetailsAppService.Create(projectDetail).ConfigureAwait(false)) .ValidationErrors.ShouldContain(vr => vr.ErrorMessage == ProjectDetailDto.PessimisticOptemisticValidationMsg); }
public async Task Create_PullFromDateGTPullToDateProjectDetail_ShouldThrowValidationException() { // Arrange var projectDetail = new ProjectDetailDto { Id = 10, ProjectId = 20, OptimisticIteration = 5, PessimisticIteration = 5, PullDataFromDate = DateTime.Now, PullDataToDate = DateTime.Now.AddDays(-1) }; Should.Throw <AbpValidationException>(async() => await projectDetailsAppService.Create(projectDetail).ConfigureAwait(false)) .ValidationErrors.ShouldContain(vr => vr.ErrorMessage == ProjectDetailDto.PullFromDateGTPullToDateValidationMsg); }