Esempio n. 1
0
 private void AttachItem(Modelo.Classes.Manutencao.Manutencao manutencao, EFContext Context)
 {
     if (!Context.Manutencoes.Local.Contains(manutencao))
     {
         Context.Manutencoes.Attach(manutencao);
     }
 }
Esempio n. 2
0
 public void RemoverManutencaoPorId(long?id)
 {
     try
     {
         using EFContext Context = new EFContext();
         Modelo.Classes.Manutencao.Manutencao manutencao = ObterManutencaoPorId(id);
         AttachItem(manutencao, Context);
         Context.PecasManutencao.RemoveRange(Context.PecasManutencao.Where(pm => pm.ManutencaoId == manutencao.ManutencaoId));
         Context.Manutencoes.Remove(manutencao);
         Context.SaveChanges();
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Esempio n. 3
0
        public void AdicionarManutencao(Modelo.Classes.Manutencao.Manutencao manutencao, IList <PecasManutencao> pecas)
        {
            try
            {
                using EFContext Context    = new EFContext();
                manutencao.PecasUtilizadas = new ObservableCollection <PecasManutencao>();

                Context.Manutencoes.Add(manutencao);

                Context.SaveChanges();

                AdicionarPecaManutencao(manutencao, pecas);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 4
0
 private void AdicionarPecaManutencao(Modelo.Classes.Manutencao.Manutencao manutencao, IList <PecasManutencao> pecas)
 {
     try
     {
         using EFContext Context = new EFContext();
         AttachItem(manutencao, Context);
         foreach (PecasManutencao pm in pecas)
         {
             pm.Peca       = null;
             pm.Manutencao = null;
             manutencao.PecasUtilizadas.Add(pm);
         }
         Context.SaveChanges();
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Esempio n. 5
0
        public void AlterarManutencao(Modelo.Classes.Manutencao.Manutencao manutencao, IList <PecasManutencao> pecas)
        {
            try
            {
                using EFContext Context = new EFContext();
                AttachItem(manutencao, Context);
                var item = Context.Entry(manutencao);

                item.State = EntityState.Modified;

                Context.PecasManutencao.RemoveRange(manutencao.PecasUtilizadas.Where(p => !pecas.Contains(p)));

                foreach (PecasManutencao p in pecas)
                {
                    PecasManutencao PecaPRemover   = Context.PecasManutencao.Where(pm => pm.PecaManutencaoId == p.PecaManutencaoId).FirstOrDefault();
                    PecasManutencao PecaPAdicionar = new PecasManutencao();
                    if (PecaPRemover != null)
                    {
                        PecaPAdicionar.ManutencaoId = PecaPRemover.ManutencaoId;
                        PecaPAdicionar.PecaId       = PecaPRemover.PecaId;
                        PecaPAdicionar.QuantidadePecasUtilizadas = PecaPRemover.QuantidadePecasUtilizadas;
                        Context.PecasManutencao.Remove(PecaPRemover);
                        Context.PecasManutencao.Add(PecaPAdicionar);
                    }
                    else
                    {
                        p.Peca         = null;
                        p.Manutencao   = null;
                        p.ManutencaoId = manutencao.ManutencaoId;
                        Context.PecasManutencao.Add(p);
                    }
                }
                Context.SaveChanges();
                RemoverValoresNulos();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }