public async Task <IActionResult> UpdateProject([FromBody] Models.DTO.Project upProj, long id) { if (ModelState.IsValid) { var project = await DbContext.Projects.FirstOrDefaultAsync(x => x.Id == id); if (project == null) { return(StatusCode(StatusCodes.Status404NotFound, string.Format("Project with ID = {0} not found", 0))); } var version = await DbContext.Versions.FirstOrDefaultAsync(x => x.Name == upProj.Version); if (version == null) { version = new Models.Version { Name = upProj.Version }; await DbContext.Versions.AddAsync(version); await DbContext.SaveChangesAsync(); } project.Name = upProj.Name; project.Version = version; DbContext.Projects.Update(project); await DbContext.SaveChangesAsync(); return(Ok(project)); } return(BadRequest(ModelState)); }
public async Task <IActionResult> AddProject([FromBody] Models.DTO.Project newProject) { if (ModelState.IsValid) { var version = await DbContext.Versions.FirstOrDefaultAsync(x => x.Name == newProject.Version); if (version == null) { version = new Models.Version { Name = newProject.Version }; await DbContext.Versions.AddAsync(version); await DbContext.SaveChangesAsync(); } var project = new Models.Project { Name = newProject.Name, Version = version }; await DbContext.Projects.AddAsync(project); await DbContext.SaveChangesAsync(); return(Ok(project)); } return(BadRequest(ModelState)); }