// 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 IList <Models.Aluguel> Get() { List <Models.Aluguel> retorno = new List <Models.Aluguel>(); using (var context = new Locadora_Modelo()) { var cliente = context.Aluguel.ToList(); foreach (var item in cliente) { Models.Aluguel aluguel = new Models.Aluguel(); aluguel.ID = item.ID; aluguel.ID_Cliente = item.ID_Cliente; aluguel.Retirada = item.Retirada; aluguel.Devolucao = item.Devolucao; aluguel.Cliente.Nome = item.Cliente.Nome; foreach (var aluguelMidia in item.Aluguel_Midia) { Models.Midia midia = new Models.Midia(); midia.Copias = aluguelMidia.Midia.Copias; midia.ID = aluguelMidia.Midia.ID; midia.Titulo = aluguelMidia.Midia.Titulo; //Models.Aluguel_Midia Aluguel_Midia = new Models.Aluguel_Midia(); //Aluguel_Midia.Midia = midia; aluguel.Midias.Add(midia); } retorno.Add(aluguel); } return(retorno); } }
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); }
// GET api/values public IList <Models.Aluguel> Get(int IdCliente) { List <Models.Aluguel> retorno = new List <Models.Aluguel>(); using (var context = new Locadora_Modelo()) { var cliente = context.Aluguel.Where(s => s.ID_Cliente == IdCliente).ToList(); foreach (var item in cliente) { Models.Aluguel aluguel = new Models.Aluguel(); aluguel.ID = item.ID; aluguel.ID_Cliente = item.ID_Cliente; aluguel.Retirada = item.Retirada; aluguel.Devolucao = item.Devolucao; retorno.Add(aluguel); } return(retorno); } }