public async Task <ActorPutDTO> PutActor(int id, ActorPutDTO actorPutDTO) { if (actorPutDTO == null) { throw new ArgumentNullException(nameof(actorPutDTO)); } try { Actor actor = await _context.Actors.FirstOrDefaultAsync(a => a.Id == id).ConfigureAwait(false); actor.Name = actorPutDTO.Name; actor.DateOfBirth = actorPutDTO.DateOfBirth; actor.gender = actorPutDTO.gender; actor.Avatar = actorPutDTO.Avatar; await _context.SaveChangesAsync().ConfigureAwait(false); } catch (DbUpdateConcurrencyException) { if (!ActorExists(id)) { return(null); } else { throw; } } return(actorPutDTO); }
public async Task <ActorPutDTO> PutActor(int id, ActorPutDTO actorPutDTO) { if (actorPutDTO == null) { throw new ArgumentNullException(nameof(actorPutDTO)); } try { Actor actor = await _context.Actors.Include(a => a.MovieActors) .FirstOrDefaultAsync(a => a.Id == id).ConfigureAwait(false); actor.FullName = actorPutDTO.FullName; actor.Birthday = actorPutDTO.Birthday; actor.Biography = actorPutDTO.Biography; actor.Website = actorPutDTO.Website; actor.Image = actorPutDTO.Image; _context.MovieActors.RemoveRange(actor.MovieActors); foreach (MovieActorDTO movieActorDTO in actorPutDTO.MovieActorDTOs) { Movie movie = _context.Movies.Find(movieActorDTO.MovieId); actor.MovieActors.Add(new MovieActor() { MovieId = movie.Id, Movie = movie, ActorId = actor.Id, Actor = actor }); } await _context.SaveChangesAsync().ConfigureAwait(false); } catch (DbUpdateConcurrencyException) { if (!ActorExists(id)) { return(null); } else { throw; } } return(actorPutDTO); }
public async Task <IActionResult> PutActor(int id, ActorPutDTO actorPutDTO) { if (actorPutDTO == null) { throw new ArgumentNullException(nameof(actorPutDTO)); } if (id != actorPutDTO.Id) { return(BadRequest()); } var actorResult = await _actorRepository.PutActor(id, actorPutDTO).ConfigureAwait(false); if (actorResult == null) { return(NotFound()); } return(NoContent()); }
public async Task <ActorPutDTO> PostActor(ActorPutDTO actorPostDTO) { if (actorPostDTO == null) { throw new ArgumentNullException(nameof(actorPostDTO)); } var actorResult = _context.Actors.Add(new Actor() { Name = actorPostDTO.Name, DateOfBirth = actorPostDTO.DateOfBirth, gender = actorPostDTO.gender, Avatar = actorPostDTO.Avatar }); await _context.SaveChangesAsync().ConfigureAwait(false); actorPostDTO.Id = actorResult.Entity.Id; return(actorPostDTO); }
public async Task <ActionResult <Actor> > PostActor(ActorPutDTO actorPutDTO) { var actorResult = await _actorRepository.PostActor(actorPutDTO).ConfigureAwait(false); return(CreatedAtAction("GetActor", new { id = actorResult.Id }, actorResult)); }