/// <summary>
 /// Remove o objeto selecionado do banco de dados.
 /// </summary>
 /// <param name="deletar"></param>
 public void RemoverBanco(Material deletar)
 {
     using (var db = new Contexto())
     {
         db.Materiais.Remove(deletar);
         db.SaveChanges();
     }
 }
 /// <summary>
 /// Função para remover um objeto Armazenamento do banco de dados.
 /// </summary>
 /// <param name="deletar">É o objeto a ser deletado</param>
 public void RemoverBanco(Armazenamento deletar)
 {
     using(var db = new Contexto())
     {
         db.Armazenamentos.Remove(deletar);
         db.SaveChanges();
     }
 }
 /// <summary>
 /// Função para adicionar os valores de um nova classe Armazenamento no banco de dados.
 /// </summary>
 /// <param name="nome">É o nome da nova classe Armazenamento</param>
 /// <param name="categoria">É qual categoria o Armazenamento pertence</param>
 /// <param name="comentario">É o comentário sobre a nova lista a ser criada</param>
 public void AdicionarBanco(string nome, string categoria, string comentario)
 {
     using (var db = new Contexto())
     {
         db.Armazenamentos.Add(new Armazenamento { Nome = nome,
                                                   Categorias = categoria,
                                                   Comentario = comentario,
                                                   DataCriacao = DateTime.Now });
         db.SaveChanges();
     }
 }
 /// <summary>
 /// Recebe os valores e cria um novo objeto no banco de dados do tipo Armazenamento.
 /// </summary>
 /// <param name="armazenamento">É o objeto ao qual o objeto Material pertence na relação de 1 para n</param>
 /// <param name="nome">É o nome do do Material.</param>
 /// <param name="quantidade">É quantos Materiais existe no deposito.</param>
 /// <param name="comentario">É um simples comentário.</param>
 /// <param name="validade">O  prazo mais proximo até a validade do material.</param>
 public void AdicionarBanco(Armazenamento armazenamento ,
                            string nome, 
                            int quantidade, 
                            string comentario, 
                            DateTime validade)
 {
     using(var db = new Contexto())
     {
         db.Materiais.Add(new Material {Nome = nome,
                                        Quantidade = quantidade,
                                        Comentario = comentario,
                                        Validade = validade,
                                        Armazenamentos = armazenamento,
                                        ArmazenamentoId = armazenamento.Id});
         db.SaveChanges();
     }
 }
        /// <summary>
        /// Faz a modificação do banco de dados.
        /// </summary>
        /// <param name="materialModificar">O Material que se deseja modificar.</param>
        /// <param name="quantidade">O novo dado Quantidade a ser adicionado.</param>
        /// <param name="comentario">O novo dado Comentário a ser adicionado.</param>
        /// <param name="validade">O novo dado Validade a ser adicionado.</param>
        public void DBModificarMaterial(Material materialModificar, int quantidade, string comentario, DateTime validade)
        {
            Material valorModificar;
            using (var db = new Contexto())
            {
                valorModificar = db.Materiais.Where(x => x.Id == materialModificar.Id).FirstOrDefault<Material>();
            }

            if(valorModificar != null)
            {
                valorModificar.Quantidade = quantidade;
                valorModificar.Comentario = comentario;
                valorModificar.Validade = validade;
            }

            using (var dbContext = new Contexto())
            {
                dbContext.Entry(valorModificar).State = Microsoft.Data.Entity.EntityState.Modified;
                dbContext.SaveChanges();
            }
        }