// POST api/values public Models.Aluguel Post([FromBody] Models.Aluguel dto) { using (var context = new Locadora_Modelo()) { var aluguel = new Aluguel(); aluguel.ID_Cliente = dto.ID_Cliente; aluguel.Retirada = dto.Retirada; aluguel.Devolucao = dto.Devolucao; foreach (var midiaId in dto.CodigosMidias) { Aluguel_Midia almid = new Aluguel_Midia(); almid.Aluguel = aluguel; var midia = context.Midia.First(s => s.ID == midiaId); almid.Midia = midia; aluguel.Aluguel_Midia.Add(almid); } context.Aluguel.Add(aluguel); context.SaveChanges(); dto.ID = aluguel.ID; } return(dto); }
public Models.Aluguel Put([FromBody] Models.Aluguel dto) { using (var context = new Locadora_Modelo()) { var aluguel = context.Aluguel.First(s => s.ID == dto.ID); var id_midiasDb = aluguel.Aluguel_Midia.Select(s => s.ID_Midia).ToList(); var codigosRemover = id_midiasDb.Where(s => !dto.CodigosMidias.Contains(s)).ToList(); foreach (var item in codigosRemover) { var vinculoExcluir = context.Aluguel_Midia.First(s => s.ID_Midia == item); // aluguel.Aluguel_Midia.FirstOrDefault(s => item==s.ID_Midia); //vinculoExcluir.ID_Midia = null; context.Aluguel_Midia.Remove(vinculoExcluir); //aluguel.Aluguel_Midia.Remove(vinculoExcluir); } aluguel.ID_Cliente = dto.ID_Cliente; aluguel.Retirada = dto.Retirada; aluguel.Devolucao = dto.Devolucao; //var LerMidiaExist = aluguel.Aluguel_Midia.Select(s => s.ID_Midia).ToList(); var NewMidia = dto.CodigosMidias.Where(s => !id_midiasDb.Contains(s)).ToList(); foreach (var item in NewMidia) { Aluguel_Midia almid = new Aluguel_Midia(); almid.Aluguel = aluguel; var midia = context.Midia.First(s => s.ID == item); almid.Midia = midia; aluguel.Aluguel_Midia.Add(almid); } context.SaveChanges(); dto.ID = aluguel.ID; } return(dto); }