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)); }