コード例 #1
0
        public ActionResult <Project> UpdateProject(
            [FromRoute]
            [Required(ErrorMessage = "DataAnnotationRequired")]
            [Guid(ErrorMessage = "DataAnnotationGuid")]
            string projectId,
            [FromBody] ProjectUpdateRequest request)
        {
            var projectGuid = Guid.Parse(projectId);
            var project     = _projectService.GetProject(projectGuid);

            if (project == null)
            {
                return(ErrorObjectResultFactory.NotFound());
            }

            if (request.ProjectCode != null &&
                request.ProjectCode != project.ProjectCode &&
                _projectQueryService.ExistsProjectCode(request.ProjectCode))
            {
                return(ErrorObjectResultFactory.ValidationErrorDetail(
                           string.Format(ErrorMessages.ValidationDuplicated, ErrorMessages.DisplayProjectProjectCode),
                           "projectCode"));
            }

            var dto = _mapper.Map <ProjectUpdateRequest, ProjectUpdateDto>(request);

            dto.ProjectId = projectGuid;
            var entity = _projectService.UpdateProject(dto);

            return(_mapper.Map <Domain.Entities.Project, Project>(entity));
        }
コード例 #2
0
        public ActionResult <Project> CreateProject([FromBody] ProjectCreateRequest request)
        {
            if (_projectQueryService.ExistsProjectCode(request.ProjectCode))
            {
                return(ErrorObjectResultFactory.ValidationErrorDetail(
                           string.Format(ErrorMessages.ValidationDuplicated, ErrorMessages.DisplayProjectProjectCode),
                           "projectCode"));
            }

            var dto    = _mapper.Map <ProjectCreateRequest, ProjectCreateDto>(request);
            var entity = _projectService.CreateProject(dto);

            return(_mapper.Map <Domain.Entities.Project, Project>(entity));
        }
コード例 #3
0
        public ActionResult <Group> CreateGroup([FromBody] GroupCreateRequest request)
        {
            if (_groupQueryService.ExistsGroupCode(request.GroupCode))
            {
                return(ErrorObjectResultFactory.ValidationErrorDetail(
                           string.Format(ErrorMessages.ValidationDuplicated, ErrorMessages.DisplayGroupGroupCode),
                           "groupCode"));
            }

            if (_groupQueryService.ExistsGroupTree(request.GroupTree))
            {
                return(ErrorObjectResultFactory.ValidationErrorDetail(
                           string.Format(ErrorMessages.ValidationDuplicated, ErrorMessages.DisplayGroupGroupTree),
                           "groupTree"));
            }

            var dto    = _mapper.Map <GroupCreateRequest, GroupCreateDto>(request);
            var entity = _groupService.CreateGroup(dto);

            return(_mapper.Map <Domain.Entities.Group, Group>(entity));
        }
コード例 #4
0
        public ActionResult <WorkType> CreateWorkType([FromBody] WorkTypeCreateRequest request)
        {
            if (_workTypeQueryService.ExistsWorkTypeCode(request.WorkTypeCode))
            {
                return(ErrorObjectResultFactory.ValidationErrorDetail(
                           string.Format(ErrorMessages.ValidationDuplicated, ErrorMessages.DisplayWorkTypeWorkTypeCode),
                           "workTypeCode"));
            }

            if (_workTypeQueryService.ExistsWorkTypeTree(request.WorkTypeTree))
            {
                return(ErrorObjectResultFactory.ValidationErrorDetail(
                           string.Format(ErrorMessages.ValidationDuplicated, ErrorMessages.DisplayWorkTypeWorkTypeTree),
                           "workTypeTree"));
            }

            var dto    = _mapper.Map <WorkTypeCreateRequest, WorkTypeCreateDto>(request);
            var entity = _workTypeService.CreateWorkType(dto);

            return(_mapper.Map <Domain.Entities.WorkType, WorkType>(entity));
        }
コード例 #5
0
        public ActionResult <Person> CreatePerson([FromBody] PersonCreateRequest request)
        {
            if (_personQueryService.ExistsPersonCode(request.PersonCode))
            {
                return(ErrorObjectResultFactory.ValidationErrorDetail(
                           string.Format(ErrorMessages.ValidationDuplicated, ErrorMessages.DisplayPersonPersonCode),
                           "personCode"));
            }

            if (_personQueryService.ExistsLoginId(request.LoginId))
            {
                return(ErrorObjectResultFactory.ValidationErrorDetail(
                           string.Format(ErrorMessages.ValidationDuplicated, ErrorMessages.DisplayPersonLoginId),
                           "loginId"));
            }

            var dto    = _mapper.Map <PersonCreateRequest, PersonCreateDto>(request);
            var entity = _personService.CreatePerson(dto);

            return(_mapper.Map <Domain.Entities.Person, Person>(entity));
        }
コード例 #6
0
        public ActionResult <Group> UpdateGroup(
            [FromRoute]
            [Required(ErrorMessage = "DataAnnotationRequired")]
            [Guid(ErrorMessage = "DataAnnotationGuid")]
            string groupId,
            [FromBody] GroupUpdateRequest request)
        {
            var groupGuid = Guid.Parse(groupId);
            var group     = _groupService.GetGroup(groupGuid);

            if (group == null)
            {
                return(ErrorObjectResultFactory.NotFound());
            }

            if (request.GroupCode != null &&
                request.GroupCode != group.GroupCode &&
                _groupQueryService.ExistsGroupCode(request.GroupCode))
            {
                return(ErrorObjectResultFactory.ValidationErrorDetail(
                           string.Format(ErrorMessages.ValidationDuplicated, ErrorMessages.DisplayGroupGroupCode),
                           "groupCode"));
            }

            if (request.GroupTree != null &&
                request.GroupTree != group.GroupTree &&
                _groupQueryService.ExistsGroupTree(request.GroupTree))
            {
                return(ErrorObjectResultFactory.ValidationErrorDetail(
                           string.Format(ErrorMessages.ValidationDuplicated, ErrorMessages.DisplayGroupGroupTree),
                           "groupTree"));
            }

            var dto = _mapper.Map <GroupUpdateRequest, GroupUpdateDto>(request);

            dto.GroupId = groupGuid;
            var entity = _groupService.UpdateGroup(dto);

            return(_mapper.Map <Domain.Entities.Group, Group>(entity));
        }
コード例 #7
0
        public ActionResult <WorkType> UpdateWorkType(
            [FromRoute]
            [Required(ErrorMessage = "DataAnnotationRequired")]
            [Guid(ErrorMessage = "DataAnnotationGuid")]
            string workTypeId,
            [FromBody] WorkTypeUpdateRequest request)
        {
            var workTypeGuid = Guid.Parse(workTypeId);
            var workType     = _workTypeService.GetWorkType(workTypeGuid);

            if (workType == null)
            {
                return(ErrorObjectResultFactory.NotFound());
            }

            if (request.WorkTypeCode != null &&
                request.WorkTypeCode != workType.WorkTypeCode &&
                _workTypeQueryService.ExistsWorkTypeCode(request.WorkTypeCode))
            {
                return(ErrorObjectResultFactory.ValidationErrorDetail(
                           string.Format(ErrorMessages.ValidationDuplicated, ErrorMessages.DisplayWorkTypeWorkTypeCode),
                           "workTypeCode"));
            }

            if (request.WorkTypeTree != null &&
                request.WorkTypeTree != workType.WorkTypeTree &&
                _workTypeQueryService.ExistsWorkTypeTree(request.WorkTypeTree))
            {
                return(ErrorObjectResultFactory.ValidationErrorDetail(
                           string.Format(ErrorMessages.ValidationDuplicated, ErrorMessages.DisplayWorkTypeWorkTypeTree),
                           "workTypeTree"));
            }

            var dto = _mapper.Map <WorkTypeUpdateRequest, WorkTypeUpdateDto>(request);

            dto.WorkTypeId = workTypeGuid;
            var entity = _workTypeService.UpdateWorkType(dto);

            return(_mapper.Map <Domain.Entities.WorkType, WorkType>(entity));
        }
コード例 #8
0
        public ActionResult <Person> UpdatePerson(
            [FromRoute]
            [Required(ErrorMessage = "DataAnnotationRequired")]
            [Guid(ErrorMessage = "DataAnnotationGuid")]
            string personId,
            [FromBody] PersonUpdateRequest request)
        {
            var personGuid = Guid.Parse(personId);
            var person     = _personService.GetPerson(personGuid);

            if (person == null)
            {
                return(ErrorObjectResultFactory.NotFound());
            }

            if (request.PersonCode != null &&
                request.PersonCode != person.PersonCode &&
                _personQueryService.ExistsPersonCode(request.PersonCode))
            {
                return(ErrorObjectResultFactory.ValidationErrorDetail(
                           string.Format(ErrorMessages.ValidationDuplicated, ErrorMessages.DisplayPersonPersonCode),
                           "personCode"));
            }

            if (request.LoginId != null &&
                request.LoginId != person.LoginId &&
                _personQueryService.ExistsLoginId(request.LoginId))
            {
                return(ErrorObjectResultFactory.ValidationErrorDetail(
                           string.Format(ErrorMessages.ValidationDuplicated, ErrorMessages.DisplayPersonLoginId),
                           "loginId"));
            }

            var dto = _mapper.Map <PersonUpdateRequest, PersonUpdateDto>(request);

            dto.PersonId = personGuid;
            var entity = _personService.UpdatePerson(dto);

            return(_mapper.Map <Domain.Entities.Person, Person>(entity));
        }
コード例 #9
0
        public ActionResult DeleteGroup(
            [FromRoute]
            [Required(ErrorMessage = "DataAnnotationRequired")]
            [Guid(ErrorMessage = "DataAnnotationGuid")]
            string groupId)
        {
            var groupGuid = Guid.Parse(groupId);
            var entity    = _groupService.GetGroup(groupGuid);

            if (entity == null)
            {
                return(ErrorObjectResultFactory.NotFound());
            }

            if (entity.Persons.Count > 0)
            {
                return(ErrorObjectResultFactory.ValidationErrorDetail(
                           string.Format(ErrorMessages.ValidationHasChildren, ErrorMessages.DisplayPerson),
                           "groupId"));
            }

            _groupService.DeleteGroup(groupGuid);
            return(new OkResult());
        }