예제 #1
0
        public void Insert(MateriaPrima materiaprima)
        {
            ValidarMateriaPrima(materiaprima);

            if (this.VerificarDuplicidade(materiaprima) == true)
            {
                throw new Exception("a materia já se encontra cadastrada");
            }

            this.Dados.Insert(materiaprima);
        }
예제 #2
0
 public Retorno Excluir(MateriaPrima Entity)
 {
     try
     {
         return(new DataMateriaPrima().Excluir(Entity));
     }
     catch (Exception ex)
     {
         return(Retorno.CriarRetornoExcecao(ex));
     }
 }
예제 #3
0
        public void Delete(MateriaPrima materiaprima)
        {
            ValidarMateriaPrimaId(materiaprima);

            if (this.VerificarDuplicidade(materiaprima) == false)
            {
                throw new Exception("A materia prima não esta cadastrado");
            }

            this.Dados.Delete(materiaprima);
        }
예제 #4
0
 public Retorno Salvar(Produto Entity, MateriaPrima materiaPrima)
 {
     try
     {
         return(new DataProduto().Incluir(Entity, materiaPrima));
     }
     catch (Exception ex)
     {
         return(Retorno.CriarRetornoExcecao(ex));
     }
 }
예제 #5
0
 private Retorno VerificarExistencia(MateriaPrima Entity)
 {
     try
     {
         return(new DataMateriaPrima().VerificarExistencia(Entity));
     }
     catch (Exception ex)
     {
         return(Retorno.CriarRetornoExcecao(ex));
     }
 }
예제 #6
0
 public Retorno Pesquisar(MateriaPrima Entity, int Pagina, int QntPagina)
 {
     try
     {
         return(new DataMateriaPrima().Pesquisar(Entity, Pagina, QntPagina));
     }
     catch (Exception ex)
     {
         return(Retorno.CriarRetornoExcecao(ex));
     }
 }
예제 #7
0
        public void FinalizarProcesoInvalido()
        {
            //ARRAGE
            Arrabio arrabio   = new Arrabio(3, "Distribucion", "Arrabio", "Ushuahia", 1000, "Excelente", "Azul");
            bool    respuesta = false;

            //ACT
            respuesta = MateriaPrima.Finalizar(arrabio);
            //ASSERT
            Assert.IsFalse(respuesta);
        }
        public async Task <IActionResult> Create([Bind("Id,Descripcion,UnidadMedida")] MateriaPrima materiaPrima)
        {
            if (ModelState.IsValid)
            {
                _context.Add(materiaPrima);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(materiaPrima));
        }
예제 #9
0
        public void ValidarValidade(MateriaPrima materiaprima)
        {
            if (materiaprima.Validade == null)
            {
                throw new Exception("Informar a validade da materia prima");
            }

            if (materiaprima.Validade < DateTime.Now)
            {
                throw new Exception("Data da validade da materia prima não pode ser anterior ao agora");
            }
        }
예제 #10
0
        public Retorno Salvar(MateriaPrima Entity)
        {
            try
            {
                Retorno retorno = PreenchimentoObrigatorio(Entity);

                if (retorno.IsValido)
                {
                    retorno = VerificarExistencia(Entity);
                    if (retorno.IsValido)
                    {
                        using (var transaction = new TransactionScope())
                        {
                            if (Entity.Codigo == 0)
                            {
                                retorno = new DataMateriaPrima().Incluir(Entity);
                            }
                            else
                            {
                                retorno = new DataMateriaPrima().Consultar(Entity);

                                if (retorno.IsValido)
                                {
                                    var materiaPrimaAtual = retorno.Entity as MateriaPrima;

                                    if (materiaPrimaAtual.Valor != Entity.Valor)
                                    {
                                        retorno = new DataMateriaPrima().AlterarValor(materiaPrimaAtual);

                                        if (retorno.IsValido)
                                        {
                                            retorno = new DataMateriaPrima().IncluirValor(Entity);
                                        }
                                    }

                                    retorno = new DataMateriaPrima().Alterar(Entity);
                                }
                            }

                            if (retorno.IsValido)
                            {
                                transaction.Complete();
                            }
                        }
                    }
                }
                return(retorno);
            }
            catch (Exception ex)
            {
                return(Retorno.CriarRetornoExcecao(ex));
            }
        }
예제 #11
0
        public void ConfiguracaoInicial()
        {
            Produto = Expectativa.Produto;
            if (MateriaPrima.Equals("Refugo"))
            {
                MasterLote = "";
                Fornecedor = "";
                MPLote     = "Refugo";
            }

            GerarCodigo();
        }
        public List <MateriaPrima> Select(MateriaPrima filtro)
        {
            List <MateriaPrima> retorno = new List <MateriaPrima>();

            try
            {
                this.Conectar();
                string sql = "SELECT ID ,Validade, EstoqueAtual, Lote, Nome, Descricao ";
                sql += " FROM MateriaPrima where ID = ID ";

                if (filtro.Nome != null && filtro.Nome.Trim().Equals("") == false)
                {
                    sql += " and Nome like @Nome ";
                }
                if (filtro.Descricao != null && filtro.Descricao.Trim().Equals("") == false)
                {
                    sql += " and Descricao like @Descricao ";
                }
                SqlCommand cmd = new SqlCommand(sql, sqlcon);

                if (filtro.Nome != null && filtro.Nome.Trim().Equals("") == false)
                {
                    cmd.Parameters.Add("@Nome", SqlDbType.VarChar);
                    cmd.Parameters["@Nome"].Value = "%" + filtro.Nome + "%";
                }
                if (filtro.Descricao != null && filtro.Descricao.Trim().Equals("") == false)
                {
                    cmd.Parameters.Add("@Descricao", SqlDbType.VarChar);
                    cmd.Parameters["@Descricao"].Value = "%" + filtro.Descricao + "%";
                }
                SqlDataReader DbReader = cmd.ExecuteReader();
                while (DbReader.Read())
                {
                    MateriaPrima materiaprima = new MateriaPrima();
                    materiaprima.Id           = DbReader.GetInt32(DbReader.GetOrdinal("Id"));
                    materiaprima.Validade     = DbReader.GetDateTime(DbReader.GetOrdinal("Validade"));
                    materiaprima.EstoqueAtual = DbReader.GetInt32(DbReader.GetOrdinal("EstoqueAtual"));
                    materiaprima.Lote         = DbReader.GetString(DbReader.GetOrdinal("lote"));
                    materiaprima.Nome         = DbReader.GetString(DbReader.GetOrdinal("Nome"));
                    materiaprima.Descricao    = DbReader.GetString(DbReader.GetOrdinal("Descricao"));
                    retorno.Add(materiaprima);
                }

                DbReader.Close();
                cmd.Dispose();
                this.Desconectar();
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao conecar e selecionar " + ex.Message);
            }
            return(retorno);
        }
예제 #13
0
    protected void btnSalvar_Click(object sender, EventArgs e)
    {
        //variavel verificar falso verdadeiro
        bool iscadastrar = false;

        //WebSite1.Classes.Login login = new WebSite1.Classes.Login();
        MateriaPrima materia = new MateriaPrima();

        materia.Nome = txtNome.Text;
        //materia.Quantidade = Convert.ToDouble(txtQuantidade.Text);
        materia.Quantidade = 0;
        materia.Descricao  = txtDescricao.Text;
        materia.Status     = ddlStatus.Text;
        MateriaPrimaBD bd = new MateriaPrimaBD();

        //buscando email do BD
        System.Data.IDbConnection objConexao;
        System.Data.IDbCommand    objCommand;
        System.Data.IDataReader   objDataReader;
        objConexao    = Mapped.Connection();
        objCommand    = Mapped.Command("SELECT mat_nome FROM mat_materiaprima ", objConexao);
        objDataReader = objCommand.ExecuteReader();

        //laço repetição
        while (objDataReader.Read())
        {
            //se o campo for igual do BD
            // if (txtNome.Text == objDataReader["mat_nome"].ToString())
            if (string.Equals(txtNome.Text, objDataReader["mat_nome"].ToString(), StringComparison.OrdinalIgnoreCase))
            {
                Page.ClientScript.RegisterStartupScript(this.GetType(), "MyKey", "erro('A matéria prima já existe!');", true);
                iscadastrar = true;
                break;
            }
        }

        if (iscadastrar == false)
        {
            if (bd.Insert(materia))
            {
                Page.ClientScript.RegisterStartupScript(this.GetType(), "MyKey", "sucesso();", true);
                txtNome.Text = "";
                // txtQuantidade.Text = "";
                txtDescricao.Text = "";
                txtNome.Focus();
                LimparCampos();
            }
            else
            {
                Page.ClientScript.RegisterStartupScript(this.GetType(), "MyKey", "erro('Erro ao salvar! Contate o suporte!');", true);
            }
        }
    }
        public MateriaPrima CalcularPlacaModelo()
        {
            MateriaPrima m = new MateriaPrima();

            Piece = DataManager.calculaPiece(Module.GetValorPropiedadMin("h1", _elAnillo.PerfilLateral.Propiedades, true), Module.GetValorPropiedadMax("h1", _elAnillo.PerfilLateral.Propiedades, true), Module.GetValorPropiedad("CLOSING STRESS", _elAnillo.PerfilOD.Propiedades), FreeGap, _elAnillo);

            char ban        = calcula_materia_prima();
            bool mayor_a_15 = false;

            while ((ban == '3') && mayor_a_15 == false)
            {
                if (Math.Round(FreeGap + .001, 3) <= Math.Round(_elAnillo.FreeGap.Valor + 0.015, 3))
                {
                    FreeGap = Math.Round(FreeGap + .001, 3);
                    Piece   = DataManager.calculaPiece(Module.GetValorPropiedadMin("h1", _elAnillo.PerfilLateral.Propiedades, true), Module.GetValorPropiedadMax("h1", _elAnillo.PerfilLateral.Propiedades, true), Module.GetValorPropiedad("CLOSING STRESS", _elAnillo.PerfilOD.Propiedades), FreeGap, _elAnillo);
                    ban     = calcula_materia_prima();
                }
                else
                {
                    mayor_a_15 = true;
                }
            }

            FreeGap = _elAnillo.FreeGap.Valor;
            bool mayor_a_10 = false;

            while ((ban == '3') && (mayor_a_10 == false))
            {
                if (Math.Round(FreeGap - .001, 3) >= _elAnillo.FreeGap.Valor - .01)
                {
                    FreeGap = Math.Round(FreeGap - .001, 3);
                    Piece   = DataManager.calculaPiece(Module.GetValorPropiedadMin("h1", _elAnillo.PerfilLateral.Propiedades, true), Module.GetValorPropiedadMax("h1", _elAnillo.PerfilLateral.Propiedades, true), Module.GetValorPropiedad("CLOSING STRESS", _elAnillo.PerfilOD.Propiedades), FreeGap, _elAnillo);
                    ban     = calcula_materia_prima();
                }
                else
                {
                    mayor_a_10 = true;
                }
            }

            FreeGap = _elAnillo.FreeGap.Valor;
            Piece   = DataManager.calculaPiece(Module.GetValorPropiedadMin("h1", _elAnillo.PerfilLateral.Propiedades, true), Module.GetValorPropiedadMax("h1", _elAnillo.PerfilLateral.Propiedades, true), Module.GetValorPropiedad("CLOSING STRESS", _elAnillo.PerfilOD.Propiedades), FreeGap, _elAnillo);
            if (ban == '3')
            {
                codigoPlacaModelo = "CODIFICAR";
            }
            m.Especificacion = _elAnillo.MaterialBase.Especificacion;
            m.Codigo         = codigoPlacaModelo;
            m.Activo         = true;

            return(m);
        }
예제 #15
0
        public List <MateriaPrima> SelectFormula(Produto filtro)
        {
            List <MateriaPrima> retorno = new List <MateriaPrima>();

            try
            {
                this.Conectar();
                string sql = "SELECT MateriaPrima.Id AS IdMateriaPrima, MateriaPrima.Nome AS NomeMateriaPrima, ";
                sql += " Produto.Id AS IdProduto, Produto.Nome AS NomeProduto FROM Compoe ";
                sql += " INNER JOIN MateriaPrima ON Compoe.Id_MateriaPrima = MateriaPrima.Id ";
                sql += " INNER JOIN Produto ON Compoe.Id_Produto = Produto.Id ";
                sql += " where compoe.Id_Produto = compoe.Id_Produto";

                if (filtro.Id > 0)
                {
                    sql += " and compoe.Id_Produto = @Id_Produto ";
                }

                SqlCommand cmd = new SqlCommand(sql, sqlcon);

                if (filtro.Id > 0)
                {
                    cmd.Parameters.Add("@Id_Produto", SqlDbType.Int);
                    cmd.Parameters["@Id_Produto"].Value = filtro.Id;
                }

                SqlDataReader DbReader = cmd.ExecuteReader();

                while (DbReader.Read())
                {
                    MateriaPrima materiaPrima = new MateriaPrima();
                    materiaPrima.Produto = new List <Produto>();
                    Produto produto = new Produto();

                    materiaPrima.Id   = DbReader.GetInt32(DbReader.GetOrdinal("IdMateriaPrima"));
                    materiaPrima.Nome = DbReader.GetString(DbReader.GetOrdinal("NomeMateriaPrima"));
                    produto.Id        = DbReader.GetInt32(DbReader.GetOrdinal("IdProduto"));
                    produto.Nome      = DbReader.GetString(DbReader.GetOrdinal("NomeProduto"));
                    materiaPrima.Produto.Add(produto);
                    retorno.Add(materiaPrima);
                }

                DbReader.Close();
                cmd.Dispose();
                this.Desconectar();
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao conecar e selecionar " + ex.Message);
            }
            return(retorno);
        }
        public void ModificarMaterial(MateriaPrima nuevoMaterial)
        {
            AccesoDatos datos = new AccesoDatos();

            datos.Setear("update MateriaPrima set Descripcion=@DESCRIPCION ,Stock=@STOCK  where Id=@ID");
            datos.Agregar("@ID", nuevoMaterial.Id);
            datos.Agregar("@DESCRIPCION", nuevoMaterial.Descripcion);
            datos.Agregar("@STOCK", nuevoMaterial.Stock);


            datos.Query();
            datos.Cerrar();
        }
        public void AgregarMaterial(MateriaPrima nuevoMaterial)
        {
            AccesoDatos datos = new AccesoDatos();

            datos.Setear("INSERT INTO MateriaPrima (Descripcion,Stock) VALUES (@DESCRIPCION, @STOCK)");

            datos.Agregar("@DESCRIPCION", nuevoMaterial.Descripcion);
            datos.Agregar("@STOCK", nuevoMaterial.Stock);


            datos.Query();
            datos.Cerrar();
        }
예제 #18
0
        public void ConfigFormMateriaPrima(int id = 0)
        {
            _mpDAL.ResetContext();

            if (id == 0)
            {
                mp = new MateriaPrima();
            }
            else
            {
                mp = _mpDAL.GetObjtById(id);
            }
        }
        protected void btnAgregar_Click(object sender, EventArgs e)
        {
            MateriaPrima nuevoMaterial = new MateriaPrima();
            Negocio      newArt        = new Negocio();

            nuevoMaterial.Descripcion = txtDescripcion.Text;
            nuevoMaterial.Stock       = Convert.ToInt32(txtStock.Text);


            newArt.AgregarMaterial(nuevoMaterial);

            Response.Write("<script LANGUAGE='JavaScript' >alert('Se cargo correctamente la Materia Prima')</script>");
        }
 public FormCadastroMateriaPrima(MateriaPrima m)
 {
     InitializeComponent();
     textBoxNome.Text             = m.nome;
     textBoxDescricao.Text        = m.descricao;
     textBoxLote.Text             = m.lote;
     dateTimePickerValidade.Value = m.validade;
     textBoxEstoqueAtual.Text     = Convert.ToString(m.estoqueAtual);
     this.filtro   = m.id;
     this.operacao = 1;
     buttonCadastrarMateriaPrima.Text = "Atualizar";
     this.Text = "Atualização da materia prima";
 }
    protected void btnSalvar_Click(object sender, EventArgs e)
    {
        //variavel verificar falso verdadeiro
        bool iscadastrar = false;

        //WebSite1.Classes.Login login = new WebSite1.Classes.Login();
        MateriaPrima materia = new MateriaPrima();

        materia.Nome       = txtNome.Text;
        materia.Quantidade = Convert.ToDouble(txtQuantidade.Text);
        materia.Descricao  = txtDescricao.Text;
        materia.Status     = ddlStatus.Text;
        MateriaPrimaBD bd = new MateriaPrimaBD();

        //buscando email do BD
        System.Data.IDbConnection objConexao;
        System.Data.IDbCommand    objCommand;
        System.Data.IDataReader   objDataReader;
        objConexao    = Mapped.Connection();
        objCommand    = Mapped.Command("SELECT mat_nome FROM mat_materiaprima ", objConexao);
        objDataReader = objCommand.ExecuteReader();

        //laço repetição
        while (objDataReader.Read())
        {
            //se o campo for igual do BD
            if (txtNome.Text == objDataReader["mat_nome"].ToString())
            {
                lblMensagem.Text = "Matéria Prima já existente";
                iscadastrar      = true;
                break;
            }
        }

        if (iscadastrar == false)
        {
            if (bd.Insert(materia))
            {
                lblMensagem.Text   = "Matéria Prima cadastrada com sucesso";
                txtNome.Text       = "";
                txtQuantidade.Text = "";
                txtDescricao.Text  = "";
                txtNome.Focus();
                LimparCampos();
            }
            else
            {
                lblMensagem.Text = "Erro ao salvar.";
            }
        }
    }
        public IHttpActionResult DeleteMateriaPrima(Guid id)
        {
            MateriaPrima materiaPrima = db.MateriaPrimas.Find(id);

            if (materiaPrima == null)
            {
                return(NotFound());
            }

            db.MateriaPrimas.Remove(materiaPrima);
            db.SaveChanges();

            return(Ok(materiaPrima));
        }
        public bool VerificarDuplicidade(MateriaPrima materiaprima)
        {
            bool retorno = false;

            try
            {
                this.Conectar();
                string sql = "SELECT ID ,Validade, EstoqueAtual, Lote, Nome, Descricao ";
                sql += " FROM MateriaPrima where ";

                if (materiaprima.Id != 0)
                {
                    sql += " ID = @ID ";
                }
                else
                {
                    sql += " Nome = @Nome";
                }

                SqlCommand cmd = new SqlCommand(sql, sqlcon);

                if (materiaprima.Id != 0)
                {
                    cmd.Parameters.Add("@ID", SqlDbType.Int);
                    cmd.Parameters["@ID"].Value = materiaprima.Id;
                }
                else
                {
                    cmd.Parameters.Add("@Nome", SqlDbType.VarChar);
                    cmd.Parameters["@Nome"].Value = materiaprima.Nome;
                }

                SqlDataReader DbReader = cmd.ExecuteReader();

                while (DbReader.Read())
                {
                    retorno = true;
                    break;
                }

                DbReader.Close();
                cmd.Dispose();
                this.Desconectar();
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao conecar e selecionar " + ex.Message);
            }
            return(retorno);
        }
예제 #24
0
        private void Menu_KeyUp(object sender, KeyEventArgs e)
        {
            //CTRL+E
            if (Convert.ToInt32(e.KeyData) == Convert.ToInt32(Keys.Control) + Convert.ToInt32(Keys.E))
            {
                Empleados em = new Empleados();
                em.Show();
                //this.Close();
            }

            //CTRL+M
            if (Convert.ToInt32(e.KeyData) == Convert.ToInt32(Keys.Control) + Convert.ToInt32(Keys.M))
            {
                MateriaPrima mp = new MateriaPrima();
                mp.Show();
                //this.Close();
            }

            //CTRL+N
            if (Convert.ToInt32(e.KeyData) == Convert.ToInt32(Keys.Control) + Convert.ToInt32(Keys.N))
            {
                ProductoFinal cp = new ProductoFinal();
                cp.Show();
                //this.Close();
            }

            //CTRL+B
            if (Convert.ToInt32(e.KeyData) == Convert.ToInt32(Keys.Control) + Convert.ToInt32(Keys.B))
            {
                Compra p = new Compra();
                p.Show();
                //this.Close();
            }

            //CTRL+L
            if (Convert.ToInt32(e.KeyData) == Convert.ToInt32(Keys.Control) + Convert.ToInt32(Keys.L))
            {
                Venta v = new Venta();
                v.Show();
                //this.Close();
            }

            //CTRL+K
            if (Convert.ToInt32(e.KeyData) == Convert.ToInt32(Keys.Control) + Convert.ToInt32(Keys.K))
            {
                Pedidos p = new Pedidos();
                p.Show();
                //this.Close();
            }
        }
예제 #25
0
 public int Guardar(MateriaPrima materiaPrima)
 {
     using (var Comando = _connection.CreateCommand())
     {
         Comando.CommandText = "INSERT INTO MateriaPrima (codigomateria, nombre, precio, fechaalmacenamiento, codigocategoria, cantidadtotal) VALUES" +
                               "(codigomateriaprima.NEXTVAL, :nombre, :precio, :fechaalmacenamiento, :codigocategoria, :cantidadtotal)";
         Comando.Parameters.Add("Nombre", OracleDbType.Varchar2).Value = materiaPrima.Nombre;
         Comando.Parameters.Add("precio", OracleDbType.Double).Value   = materiaPrima.Precio;
         Comando.Parameters.Add("fechaalmacenamiento", OracleDbType.Varchar2).Value = materiaPrima.FechaAlmacenamiento;
         Comando.Parameters.Add("codigocategoria", OracleDbType.Varchar2).Value     = materiaPrima.Categoria.CodigoCategoria;
         Comando.Parameters.Add("cantidadtotal", OracleDbType.Int32).Value          = materiaPrima.CantidadTotal;
         var filas = Comando.ExecuteNonQuery();
         return(filas);
     }
 }
예제 #26
0
        public bool Edit(MateriaPrima MateriaPrima)
        {
            var MateriaPrimaDAL = new MateriaPrimaDAL();

            try
            {
                MateriaPrimaDAL.Update(MateriaPrima);
                return(true);
            }
            catch
            {
                Console.WriteLine("Error al editar el elemento");
                return(false);
            }
        }
        private void btnGuardar_Click(object sender, RoutedEventArgs e)
        {
            if (this.entidad == null)
            {
                this.entidad = new MateriaPrima();
            }

            this.entidad.Descripcion  = this.txtDescripcion.Text;
            this.entidad.Unidad       = (Unidad)this.cmbUnidad.SelectedItem;
            this.entidad.CodigoUnidad = this.entidad.Unidad.Codigo;

            this.materiaPrimaBiz.Agregar(this.entidad);

            this.Close();
        }
예제 #28
0
        private void tsbSalvarCadastroMateriaPrima_Click(object sender, EventArgs e)
        {
            var materiaPrima = new MateriaPrima();

            materiaPrima.Nome      = txtNomeCadastro.Text;
            materiaPrima.Marca     = txtMarcaCadastro.Text;
            materiaPrima.Descricao = txtDescricaoCadastro.Text;

            materiaPrima.CadastrarMateriaPrima();

            txtNomeCadastro.Enabled               = false;
            txtMarcaCadastro.Enabled              = false;
            txtDescricaoCadastro.Enabled          = false;
            btnAdicionarFotoCadastro.Enabled      = false;
            tsbSalvarCadastroMateriaPrima.Enabled = false;
        }
예제 #29
0
        private void bPdfMateria_Click(object sender, RoutedEventArgs e)
        {
            /*for (var vis = sender as Visual; vis != null; vis = VisualTreeHelper.GetParent(vis) as Visual)
             *  if (vis is DataGridRow)
             *  {
             *      var row = (DataGridRow)vis;
             *      row.DetailsVisibility =
             *      row.DetailsVisibility == Visibility.Visible ? Visibility.Collapsed : Visibility.Visible;
             *      break;
             *  }*/
            MateriaPrima materiaPrima = (sender as Button).DataContext as MateriaPrima;

            InformePDF informe = new InformePDF(Properties.Settings.Default.DirectorioInformes);

            System.Diagnostics.Process.Start(informe.GenerarInformeMateriaPrima(trazabilidad.MateriaPrima(materiaPrima.Codigo)));
        }
예제 #30
0
        private void buttonAdicionarMateriaPrima_Click(object sender, EventArgs e)
        {
            MateriaPrima ma    = new MateriaPrima();
            int          index = comboBoxMateriaPrima.SelectedIndex;

            if (index < 0)
            {
                MessageBox.Show("Selecionar a matéria prima");
                comboBoxMateriaPrima.Focus();
                return;
            }
            ma = listaComboMateria.ElementAt(index);
            this.listaMateria.Add(ma);
            ListarMateria();
            comboBoxMateriaPrima.SelectedIndex = -1;
        }