Exemplo n.º 1
0
        // 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);
        }
Exemplo n.º 2
0
        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);
        }