Exemplo n.º 1
0
        public ActionResult <PagedObject <Project> > AddProjectPerson(
            [FromRoute]
            [Required(ErrorMessage = "DataAnnotationRequired")]
            [Guid(ErrorMessage = "DataAnnotationGuid")]
            string projectId,
            [FromRoute]
            [Required(ErrorMessage = "DataAnnotationRequired")]
            [Guid(ErrorMessage = "DataAnnotationGuid")]
            string personId)
        {
            var projectGuid = Guid.Parse(projectId);
            var project     = _projectService.GetProject(projectGuid);

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

            var personGuid = Guid.Parse(personId);
            var person     = _personService.GetPerson(personGuid);

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

            _projectService.AddProjectPerson(projectGuid, personGuid);

            return(new OkResult());
        }
Exemplo n.º 2
0
        public ActionResult <PagedObject <Group> > AddGroupPerson(
            [FromRoute]
            [Required(ErrorMessage = "DataAnnotationRequired")]
            [Guid(ErrorMessage = "DataAnnotationGuid")]
            string groupId,
            [FromRoute]
            [Required(ErrorMessage = "DataAnnotationRequired")]
            [Guid(ErrorMessage = "DataAnnotationGuid")]
            string personId,
            [FromBody]
            GroupPersonAddRequest request)
        {
            var groupGuid = Guid.Parse(groupId);
            var group     = _groupService.GetGroup(groupGuid);

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

            var personGuid = Guid.Parse(personId);
            var person     = _personService.GetPerson(personGuid);

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

            _groupService.AddGroupPerson(groupGuid, personGuid, request.PositionType);

            return(new OkResult());
        }
Exemplo n.º 3
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));
        }
Exemplo n.º 4
0
        public ActionResult <Group> GetGroup(
            [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());
            }

            return(_mapper.Map <Domain.Entities.Group, Group>(entity));
        }
Exemplo n.º 5
0
        public ActionResult <WorkType> GetWorkType(
            [FromRoute]
            [Required(ErrorMessage = "DataAnnotationRequired")]
            [Guid(ErrorMessage = "DataAnnotationGuid")]
            string workTypeId)
        {
            var workTypeGuid = Guid.Parse(workTypeId);
            var entity       = _workTypeService.GetWorkType(workTypeGuid);

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

            return(_mapper.Map <Domain.Entities.WorkType, WorkType>(entity));
        }
Exemplo n.º 6
0
        public ActionResult <Project> GetProject(
            [FromRoute]
            [Required(ErrorMessage = "DataAnnotationRequired")]
            [Guid(ErrorMessage = "DataAnnotationGuid")]
            string projectId)
        {
            var projectGuid = Guid.Parse(projectId);
            var entity      = _projectService.GetProject(projectGuid);

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

            return(_mapper.Map <Domain.Entities.Project, Project>(entity));
        }
Exemplo n.º 7
0
        public ActionResult DeleteWorkType(
            [FromRoute]
            [Required(ErrorMessage = "DataAnnotationRequired")]
            [Guid(ErrorMessage = "DataAnnotationGuid")]
            string workTypeId)
        {
            var workTypeGuid = Guid.Parse(workTypeId);
            var entity       = _workTypeService.GetWorkType(workTypeGuid);

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

            _workTypeService.DeleteWorkType(workTypeGuid);
            return(new OkResult());
        }
Exemplo n.º 8
0
        public ActionResult DeletePerson(
            [FromRoute]
            [Required(ErrorMessage = "DataAnnotationRequired")]
            [Guid(ErrorMessage = "DataAnnotationGuid")]
            string personId)
        {
            var personGuid = Guid.Parse(personId);
            var entity     = _personService.GetPerson(personGuid);

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

            _personService.DeletePerson(personGuid);
            return(new OkResult());
        }
Exemplo n.º 9
0
        /// <summary>
        /// アプリケーション構成処理。
        /// </summary>
        /// <param name="app"><see cref="IApplicationBuilder"/></param>
        /// <param name="env"><see cref="IWebHostEnvironment"/></param>
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            app.UseStatusCodePages(async context =>
            {
                var options = context.HttpContext.RequestServices.GetService <IOptions <JsonOptions> >();
                string json;

                if (context.HttpContext.Response.StatusCode == 404)
                {
                    json = JsonSerializer.Serialize(ErrorObjectResultFactory.NotFound().Value, options.Value.JsonSerializerOptions);
                }
                else
                {
                    return;
                }

                context.HttpContext.Response.ContentType = "application/json";
                await context.HttpContext.Response.WriteAsync(json);
            });

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseHttpsRedirection();
            app.UseSwagger();
            app.UseSwaggerUI(options =>
            {
                options.RoutePrefix = string.Empty;
                options.SwaggerEndpoint("/swagger/v1/swagger.json", "WaterTrans.Scheduler.WebApi v1");
            });
            app.UseRouting();
            app.UseCors();
            app.UseAuthentication();
            app.UseAuthorization();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapRazorPages();
                endpoints.MapDefaultControllerRoute();
                endpoints.MapControllers();
            });
        }
Exemplo n.º 10
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));
        }
Exemplo n.º 11
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));
        }
Exemplo n.º 12
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));
        }
Exemplo n.º 13
0
        public ActionResult <PagedObject <Group> > RemoveGroupPerson(
            [FromRoute]
            [Required(ErrorMessage = "DataAnnotationRequired")]
            [Guid(ErrorMessage = "DataAnnotationGuid")]
            string groupId,
            [FromRoute]
            [Required(ErrorMessage = "DataAnnotationRequired")]
            [Guid(ErrorMessage = "DataAnnotationGuid")]
            string personId)
        {
            var groupGuid  = Guid.Parse(groupId);
            var personGuid = Guid.Parse(personId);

            if (!_groupService.ContainsGroupPerson(groupGuid, personGuid))
            {
                return(ErrorObjectResultFactory.NotFound());
            }

            _groupService.RemoveGroupPerson(groupGuid, personGuid);

            return(new OkResult());
        }
Exemplo n.º 14
0
        public ActionResult <PagedObject <Project> > RemoveProjectPerson(
            [FromRoute]
            [Required(ErrorMessage = "DataAnnotationRequired")]
            [Guid(ErrorMessage = "DataAnnotationGuid")]
            string projectId,
            [FromRoute]
            [Required(ErrorMessage = "DataAnnotationRequired")]
            [Guid(ErrorMessage = "DataAnnotationGuid")]
            string personId)
        {
            var projectGuid = Guid.Parse(projectId);
            var personGuid  = Guid.Parse(personId);

            if (!_projectService.ContainsProjectPerson(projectGuid, personGuid))
            {
                return(ErrorObjectResultFactory.NotFound());
            }

            _projectService.RemoveProjectPerson(projectGuid, personGuid);

            return(new OkResult());
        }
Exemplo n.º 15
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());
        }