Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
 private IResult CheckIfProjectWorkerCapacityMin(ProjectDetailDto getProject)
 {
     if (getProject.MinWorkerCount == getProject.ActiveWorkerCount)
     {
         return(new ErrorResult(Messages.ProjectWorkerCapacityMinimum));
     }
     return(new SuccessResult());
 }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        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);
        }