コード例 #1
0
        public async Task <IActionResult> CreateProject([FromBody] CreateProjectDto project)
        {
            if (project == null)
            {
                return(BadRequest());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var projectToCreate = Mapper.Map <Project>(project);

            _projectManagerRepository.AddProjectAsync(projectToCreate);

            if (!await _projectManagerRepository.SaveAsync())
            {
                _logger.LogError("An error occured creating the new project");
                return(StatusCode(500, "A problem happened while handling your request."));
            }

            var createdProjectToReturn = Mapper.Map <ProjectDto>(projectToCreate);

            return(CreatedAtRoute("GetProject", new
            {
                id = createdProjectToReturn.Id,
            },
                                  createdProjectToReturn));
        }