/// <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>
        /// 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();
            }
        }
        /// <summary>
        /// Valida os campos para modificar o objeto no 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 ValidarModificacao(Material materialModificar, int quantidade, string comentario, DateTime validade)
        {
            var teste = Convert.ToString(quantidade);
            if (string.IsNullOrEmpty(teste))
            {
                quantidade = materialModificar.Quantidade;
            } else if(quantidade < 0)
            {
                quantidade = 0;
            } else if (quantidade > 10000)
            {
                quantidade = 10000;
            }

            if(string.IsNullOrEmpty(comentario))
            {
                comentario = materialModificar.Comentario;
            }

            validade = DateTime.Now;
            DBModificarMaterial(materialModificar, quantidade, comentario, validade);
        }
 /// <summary>
 /// Navegação até a página OptionsMaterialPage.
 /// </summary>
 /// <param name="valor">Os dados do objeto Material a ser apresentado na página.</param>
 public void GoOptionsMaterialPage(Material valor)
 {
     NavigationService.Navigate(typeof(Views.OptionsMaterialPage), valor);
 }
 /// <summary>
 /// Metodo que pega o argumento passado na hora da navegação.
 /// </summary>
 /// <param name="e"></param>
 protected override void OnNavigatedTo(NavigationEventArgs e)
 {
     apresentarObjeto.DataContext = e.Parameter;
     materialInteiro = e.Parameter as Material;
 }