public async Task <DirectorPutDTO> PutDirector(int id, DirectorPutDTO directorPutDTO) { if (directorPutDTO == null) { throw new ArgumentNullException(nameof(directorPutDTO)); } // DTO objects don't exist in the context class and won't be recognized by EF so the code below will not work!!! //_context.Entry(address).State = EntityState.Modified; try { Director director = await _context.Directors.FirstOrDefaultAsync(a => a.Id == id).ConfigureAwait(false); director.Name = directorPutDTO.Name; director.DateOfBirth = directorPutDTO.DateOfBirth; await _context.SaveChangesAsync().ConfigureAwait(false); } catch (DbUpdateConcurrencyException) { if (!DirectorExists(id)) { return(null); } else { throw; } } return(directorPutDTO); }
public async Task <DirectorPutDTO> PostDirector(DirectorPutDTO directorsPostDTO) { if (directorsPostDTO == null) { throw new ArgumentNullException(nameof(directorsPostDTO)); } var directorResult = _context.Directors.Add(new Director() { Name = directorsPostDTO.Name, DateOfBirth = directorsPostDTO.DateOfBirth }); await _context.SaveChangesAsync().ConfigureAwait(false); directorsPostDTO.Id = directorResult.Entity.Id; return(directorsPostDTO); }
public async Task <IActionResult> PutDirector(int id, DirectorPutDTO directorPutDTO) { if (directorPutDTO == null) { throw new ArgumentNullException(nameof(directorPutDTO)); } if (id != directorPutDTO.Id) { return(BadRequest()); } var directorResult = await _directorRepository.PutDirector(id, directorPutDTO).ConfigureAwait(false); if (directorResult == null) { return(NotFound()); } return(NoContent()); }
public async Task <ActionResult <DirectorDTO> > PostDirector(DirectorPutDTO directorPutDTO) { var directorResult = await _directorRepository.PostDirector(directorPutDTO).ConfigureAwait(false); return(CreatedAtAction("GetDirector", new { id = directorResult.Id }, directorResult)); }