public void InserirMaterial(MaterialA material)
        {
            using (Entities db = new Entities())
            {
                try
                {
                    db.MaterialA.Add(material);

                    HistoricoMovimentacao hm = new HistoricoMovimentacao();
                    hm.Id_materialA     = material.Id_material;
                    hm.Destino          = "";
                    hm.Origem           = "";
                    hm.Quantidade       = 0;
                    hm.TipoMovimentacao = TipoMovimentacao.Inserir_material.ToString();

                    db.HistoricoMovimentacao.Add(hm);
                    db.SaveChanges();

                    ModernDialog.ShowMessage("Material cadastrado com sucesso !", Application.Current.MainWindow.Name, MessageBoxButton.OK);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                    return;
                }
            }
        }
        private void Confirmar_Click(object sender, RoutedEventArgs e)
        {
            int id_material = 0;

            try
            {
                id_material = materiais.PegarIdMaterial(AutoCompleteNome.Text);
            }
            catch (Exception)
            {
                MessageBox.Show("Código inexistente !", Application.Current.MainWindow.Name, MessageBoxButton.OK, MessageBoxImage.Error);
                AutoCompleteNome.Focus();
                return;
            }

            HistoricoMovimentacao hm = new HistoricoMovimentacao();

            hm.Id_materialA     = id_material;
            hm.Origem           = TextOrigem.Text;
            hm.Destino          = TextDestino.Text;
            hm.Quantidade       = Convert.ToInt32(TextMovimento.Text);
            hm.TipoMovimentacao = TipoMovimentacao.Saida.ToString();

            materiais.SaidaDeMateriais(hm);
        }
        private void Liberar(MaterialA material)
        {
            using (Entities db = new Entities())
            {
                MaterialA m = db.MaterialA.First(x => x.Id_material == material.Id_material);
                m.Desativado = false;

                HistoricoMovimentacao hm = new HistoricoMovimentacao();
                hm.Id_materialA     = material.Id_material;
                hm.Destino          = "";
                hm.Origem           = "";
                hm.Quantidade       = 0;
                hm.TipoMovimentacao = TipoMovimentacao.Liberar_material.ToString();

                db.SaveChanges();
                ModernDialog.ShowMessage("Material liberado com sucesso !", Application.Current.MainWindow.Name, MessageBoxButton.OK);
            }
        }
        public void EditarMaterial(int id, string codigo, string nome, string unidade)
        {
            using (Entities db = new Entities())
            {
                MaterialA material = db.MaterialA.First(x => x.Id_material == id);
                material.Codigo  = codigo;
                material.Nome    = nome;
                material.Unidade = unidade;

                HistoricoMovimentacao hm = new HistoricoMovimentacao();
                hm.Id_materialA     = material.Id_material;
                hm.Destino          = "";
                hm.Origem           = "";
                hm.Quantidade       = 0;
                hm.TipoMovimentacao = TipoMovimentacao.alterar_material.ToString();

                db.SaveChanges();
                MessageBox.Show("Material alterado com sucesso !", Application.Current.MainWindow.Name, MessageBoxButton.OK, MessageBoxImage.Information);
            }
        }
        public void SaidaDeMateriais(HistoricoMovimentacao historico)
        {
            using (Entities db = new Entities())
            {
                try
                {
                    MaterialA material = db.MaterialA.First(m => m.Id_material == historico.Id_materialA);

                    material.Saldo -= historico.Quantidade;
                    db.HistoricoMovimentacao.Add(historico);

                    db.SaveChanges();

                    ModernDialog.ShowMessage(historico.Quantidade + " itens foram retirados do material " + material.Nome + " !", Application.Current.MainWindow.Name, MessageBoxButton.OK);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                    return;
                }
            }
        }