Beispiel #1
0
        private void loadSubfamilias(object sender, EventArgs e)
        {
            try
            {
                ponerFamiliasEnBlanco();
                ponerSubfamiliasEnBlanco();
                Button b = (Button)sender;
                b.BackColor = Color.LightBlue;
                Familia f = (Familia)b.Tag;
                productos = Modulo.miNegocio.getProductosFamilia(f.CodFamilia);
                dgvProductos.DataSource = productos;

                for (int i = gboSubfamilia.Controls.Count - 1, j = 0; i >= 0; i--, j++)
                {
                    gboSubfamilia.Controls[i].Visible = false;
                    if (j <= f.SubFamilias.Count - 1)
                    {
                        SubFamilia s = f.SubFamilias[j];
                        gboSubfamilia.Controls[i].Tag             = s;
                        gboSubfamilia.Controls[i].BackgroundImage = !s.Imagen.Equals("") && File.Exists(s.Imagen) ? Image.FromFile(s.Imagen) : null;
                        gboSubfamilia.Controls[i].Text            = s.CodSubFamilia;
                        gboSubfamilia.Controls[i].Click          += new EventHandler(loadProductosSubfam);
                        gboSubfamilia.Controls[i].Visible         = true;
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Ha ocurrido un error: " + ex.Message, "ATENCIÓN", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Beispiel #2
0
        private void cargarSubfamilias(object sender, EventArgs e)
        {
            ponerFamiliasEnBlanco();

            Button b = (Button)sender;

            b.BackColor = Color.LightBlue;

            Familia f = (Familia)b.Tag;

            for (int i = 0, j = 0; i < gboSubfamilia.Controls.Count; i++, j++)
            {
                gboSubfamilia.Controls[i].BackColor = Color.White;

                if (j < f.SubFamilias.Count)
                {
                    gboSubfamilia.Controls[i].Show();
                    SubFamilia s = f.SubFamilias[j];
                    gboSubfamilia.Controls[i].Tag             = s;
                    gboSubfamilia.Controls[i].BackgroundImage = !s.Imagen.Equals("") && File.Exists(s.Imagen) ? Image.FromFile(s.Imagen) : null;
                    gboSubfamilia.Controls[i].Text            = s.Nombre;
                    gboSubfamilia.Controls[i].Click          += new EventHandler(cargarProductosSubfam);
                }
                else
                {
                    gboSubfamilia.Controls[i].Hide();
                }
            }
        }
Beispiel #3
0
        private void cargarProductosSubfam(object sender, EventArgs e)
        {
            ponerSubfamiliasEnBlanco();

            Button b = (Button)sender;

            b.BackColor = Color.LightBlue;
            SubFamilia s = (SubFamilia)b.Tag;

            Familia f = familias.Where((fam) => fam.CodFamilia.ToLower().Equals(s.CodFamilia.ToLower())).SingleOrDefault();

            if (chb.Checked)
            {
                cargarProductos(s);
            }
            else
            {
                if (!chb.Checked)
                {
                    try
                    {
                        string id = Modulo.miNegocio.getSiguienteID(s.CodFamilia, s.CodSubFamilia);
                        codBarrasProductoSeleccionado = "2231014" + f.NumCodigo.ToString() + s.NumeroCodigo.ToString() + id;
                        lblCodArticulo.Text           = s.CodFamilia.ToString() + s.CodSubFamilia.ToString() + id;
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("Ha ocurrido un error: " + ex.Message, "ATENCIÓN", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
        }
Beispiel #4
0
        private void SubFamButtonClick(object sender, EventArgs e)
        {
            Button subFamButton = sender as Button;

            if (subFamButton.Tag != null)
            {
                foreach (Control btn in grpSubFamilias.Controls)
                {
                    btn.BackColor = Color.Transparent;
                }
                subFamButton.BackColor = Color.Aqua;
                subFamActual           = (SubFamilia)subFamButton.Tag;
                List <Articulo> articulosSubFam = articulos.FindAll(x => x.idSubFamilia == subFamActual.idSubFamilia);
                dgvProductos.DataSource = articulosSubFam.Select(o => new
                {
                    Codigo          = o.codigoArticulo,
                    Descripción     = o.descripcion,
                    Precio          = o.precio,
                    Cantidad        = o.stock,
                    TallaPesoLitros = o.tallaPesoLitros,
                    Localizacion    = o.localizacion
                }).ToList();
                if (dgvProductos.Rows.Count > 0)
                {
                    dgvProductos.Rows[0].Selected = true;
                }
            }
        }
Beispiel #5
0
        public List <Articulo> DevolverArticulosPorSubFamilia(SubFamilia subFam)
        {
            var articulos = from drArt in dsShop.Articulo
                            where drArt.idSubFamilia == subFam.idSubFamilia
                            select new Articulo(drArt.codigoArticulo, drArt.descripcion, drArt.tallaPesoLitros, drArt.stock,
                                                drArt.numeroRecogida, drArt.numeroPedido, drArt.precio, drArt.localizacion,
                                                drArt.idFamilia, drArt.idSubFamilia);

            return(articulos.ToList());
        }
Beispiel #6
0
 private void cargarProductos(SubFamilia s)
 {
     try
     {
         productos = Modulo.miNegocio.getProductos(s.CodFamilia, s.CodSubFamilia);
         if (productos != null)
         {
             dgvProductos.DataSource = productos.Select((p) => new { CodigoArticulo = p.CodigoArticulo, Descripcion = p.Descripcion, Coste = p.Coste, Unidades = p.Stock }).ToList();
         }
     } catch (Exception ex)
     {
         MessageBox.Show("Ha ocurrido un error: " + ex.Message, "ATENCIÓN", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
Beispiel #7
0
 private void btnAñadirSubFamilia_Click(object sender, EventArgs e)
 {
     try
     {
         SubFamilia subFam = new SubFamilia(txtCodFamiliaParaSub.Text, txtCodigoSubFamilia.Text, txtNombreSubFamila.Text, txtImagenSubFamilia.Text, int.Parse(txtIVASub.Text), int.Parse(txtNumSub.Text));
         Modulo.miNegocio.InsertarSubFamilia(subFam);
         MessageBox.Show("Familia insertada correctamente");
         btnCancelarSubFamilia_Click(sender, e);
     }
     catch (Exception ex)
     {
         MessageBox.Show("Ha ocurrido un error: " + ex.Message, "ATENCIÓN", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
Beispiel #8
0
        private void loadProductosSubfam(object sender, EventArgs e)
        {
            try
            {
                ponerSubfamiliasEnBlanco();
                Button b = (Button)sender;
                b.BackColor = Color.LightBlue;
                SubFamilia s = (SubFamilia)b.Tag;

                productos = Modulo.miNegocio.getProductos(s.CodFamilia, s.CodSubFamilia);
                if (productos != null)
                {
                    dgvProductos.DataSource = productos;
                }
                else
                {
                    MessageBox.Show("Ha ocurrido un error.", "ATENCIÓN", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Ha ocurrido un error: " + ex.Message, "ATENCIÓN", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Beispiel #9
0
        public List <SubFamilia> BuscarSubFamilias(int codFamilia)
        {
            List <SubFamilia> subfamilias = new List <SubFamilia>();

            try
            {
                using (MySqlConnection connection = new MySqlConnection())
                {
                    connection.ConnectionString = STRINGCONECT;
                    connection.Open();
                    MySqlCommand mycomand = new MySqlCommand("select * from subfamilia where familia_codFamilia=@code", connection);
                    mycomand.Parameters.AddWithValue("@code", codFamilia);
                    MySqlDataReader reader = mycomand.ExecuteReader();
                    if (reader.HasRows)
                    {
                        while (reader.Read())
                        {
                            string     name        = reader["idCaracter"].ToString();
                            string     description = reader["descripcion"].ToString();
                            int        id          = reader.GetInt32(0);
                            int        idFamilia   = reader.GetInt32(3);
                            SubFamilia subfamilia  = new SubFamilia(id, name, description, idFamilia);
                            subfamilias.Add(subfamilia);
                            //var kk = (DateTime)reader["fecha"];
                            //var kdfjakd = (int)reader.GetInt32(0);
                        }
                        return(subfamilias);
                    }
                }
            }
            catch (Exception e)
            {
                return(null);
            }
            return(null);
        }
Beispiel #10
0
        /// <summary>
        /// Método que actualiza los campos de un registro
        /// </summary>
        /// <param name="id_compania_emisor">Actualiza el campo que identifica a una compañia</param>
        /// <param name="descripcion">Actualiza el campo que describe una actividad de mantenimiento</param>
        /// <param name="id_familia">Actualiza el campo del identificador de familia (suspensión, dirección,cabina)</param>
        /// <param name="id_sub_familia">Actualiza el campo del identificador de subfamilia (acorde a id_familia)</param>
        /// <param name="id_tipo_unidad">Actualiza el campo de tipo de unidad (dolly, caja, tractor, etc.)</param>
        /// <param name="id_sub_tipo_unidad">Actualiz el campo sub tipo de unidad dependiendo del tipo de unidad</param>
        /// <param name="id_requisicion">Actualiza el campo del identificador de una requisición</param>
        /// <param name="id_usuario">Actualiza el campo con el identificador del usuario que realizo acciones sobre el registro</param>
        /// <param name="habilitar">Actualiza el campo de habilitar con el estado de habilitacion del registro(Habilitado / deshabilitado)</param>
        /// <returns></returns>
        private RetornoOperacion editaActividad(int id_compania_emisor, string descripcion, Familia id_familia, SubFamilia id_sub_familia,
                                                int id_tipo_unidad, int id_sub_tipo_unidad, int id_requisicion, int id_usuario, bool habilitar)
        {
            //Crea el objeto retorno
            RetornoOperacion retorno = new RetornoOperacion();

            //Creacion del arreglo param
            object[] param = { 2, this._id_actividad, id_compania_emisor, descripcion, (byte)id_familia, (byte)id_sub_familia, id_tipo_unidad, id_sub_tipo_unidad, id_requisicion, id_usuario, habilitar, "", "" };
            //Asigan valores al objeto retorno
            retorno = CapaDatos.m_capaDeDatos.EjecutaProcAlmacenadoObjeto(nom_sp, param);
            //Retorna el resultado al método
            return(retorno);
        }
Beispiel #11
0
        public List <Articulo> BuscarArticuloEspecifico(string descripcion, Familia familia, SubFamilia subFamilia, int numeroRecogida, int numeroPedido, int numeroVenta, Iva iva, int estanteria, int estante, int altura)
        {
            string cadCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=TPVdb1.accdb";

            List <Articulo> result = new List <Articulo>();

            string query = "";
            bool   first = true;

            if (descripcion != "")
            {
                first  = false;
                query += " descripcion = '" + descripcion + "'";
            }

            if (familia.idFamilia != "" && subFamilia.idSubFamilia == "")
            {
                if (first)
                {
                    first  = false;
                    query += " idFamilia = '" + familia.idFamilia + "'";
                }
                else
                {
                    query += " and idFamilia = '" + familia.idFamilia + "'";
                }
            }

            if (subFamilia.idSubFamilia != "")
            {
                if (first)
                {
                    first  = false;
                    query += " idFamilia = '" + subFamilia.idFamilia + "' and idSubFamilia = '" + subFamilia.idSubFamilia + "'";
                }
                else
                {
                    query += " and idFamilia = '" + subFamilia.idFamilia + "' and idSubFamilia = '" + subFamilia.idSubFamilia + "'";
                }
            }

            if (numeroRecogida != -1)
            {
                if (first)
                {
                    first  = false;
                    query += " numeroRecogida = " + numeroRecogida;
                }
                else
                {
                    query += " and numeroRecogida = " + numeroRecogida;
                }
            }

            if (numeroPedido != -1)
            {
                if (first)
                {
                    first  = false;
                    query += " numeroPedido = " + numeroPedido;
                }
                else
                {
                    query += " and numeroPedido = " + numeroPedido;
                }
            }

            if (numeroVenta != -1)
            {
                if (first)
                {
                    first  = false;
                    query += " numeroVenta = " + numeroVenta;
                }
                else
                {
                    query += " and numeroVenta = " + numeroVenta;
                }
            }

            if (iva.idIva != -1)
            {
                if (first)
                {
                    first  = false;
                    query += " idIva = " + iva.idIva;
                }
                else
                {
                    query += " and idIva = " + iva.idIva;
                }
            }

            if (estanteria != -1)
            {
                if (estante != -1)
                {
                    if (altura != -1)
                    {
                        if (first)
                        {
                            first  = false;
                            query += " localizacion = '" + estanteria + "." + estante + "." + altura + "'";
                        }
                        else
                        {
                            query += " and localizacion = '" + estanteria + "." + estante + "." + altura + "'";
                        }
                    }
                    else
                    {
                        if (first)
                        {
                            first  = false;
                            query += " localizacion like '" + estanteria + "." + estante + ".%'";
                        }
                        else
                        {
                            query += " and localizacion like '" + estanteria + "." + estante + ".%'";
                        }
                    }
                }
                else if (altura != -1)
                {
                    if (first)
                    {
                        first  = false;
                        query += " localizacion like '" + estanteria + ".%." + altura + "'";
                    }
                    else
                    {
                        query += " and localizacion like '" + estanteria + ".%." + altura + "'";
                    }
                }
                else
                {
                    if (first)
                    {
                        first  = false;
                        query += " localizacion like '" + estanteria + ".%.%'";
                    }
                    else
                    {
                        query += " and localizacion like '" + estanteria + ".%.%'";
                    }
                }
            }
            else if (estante != -1)
            {
                if (altura != -1)
                {
                    if (first)
                    {
                        first  = false;
                        query += " localizacion like '%." + estante + "." + altura + "'";
                    }
                    else
                    {
                        query += " and localizacion like '%." + estante + "." + altura + "'";
                    }
                }
                else
                {
                    if (first)
                    {
                        first  = false;
                        query += " localizacion like '%." + estante + ".%'";
                    }
                    else
                    {
                        query += " and localizacion like '%." + estante + ".%'";
                    }
                }
            }
            else if (altura != -1)
            {
                if (first)
                {
                    first  = false;
                    query += " localizacion like '%.%." + altura + "'";
                }
                else
                {
                    query += " and localizacion like '%.%." + altura + "'";
                }
            }

            string          sql         = "select * from Articulo where" + query;
            OleDbConnection conArticulo = new OleDbConnection(cadCon);
            OleDbCommand    cmd         = new OleDbCommand(sql, conArticulo);

            try
            {
                conArticulo.Open();
                OleDbDataReader dr = cmd.ExecuteReader();
                if (!dr.HasRows)
                {
                    return(null);
                }

                while (dr.Read())
                {
                    result.Add(new Articulo((string)dr["codigoArticulo"], (string)dr["descripcion"], (string)dr["tallaPesoLitros"], Int32.Parse(dr["stock"].ToString()), Int32.Parse(dr["numeroRecogida"].ToString()), Int32.Parse(dr["numeroPedido"].ToString()), Decimal.Parse(dr["precio"].ToString()), (string)dr["localizacion"], (string)dr["idFamilia"], (string)dr["idSubFamilia"]));
                }
            }
            catch
            {
                return(null);
            }

            return(result);
        }
Beispiel #12
0
        public String RegistroNuevoArticulo(string codigoArticulo, string descripcion, string tallaPesoLitros, int stock,
                                            int numeroRecogida, int numeroPedido, int numeroVenta, decimal precio, String localizacion, Familia familia, SubFamilia subfamilia)
        {
            var articulo = dsShop.Articulo.FindBycodigoArticulo(codigoArticulo);

            Articulo art = new Articulo(codigoArticulo, descripcion, tallaPesoLitros, stock, numeroRecogida,
                                        numeroPedido, precio, localizacion, familia.idFamilia, subfamilia.idSubFamilia);

            if (articulo == null)
            {
                dsCuaShop.ArticuloRow drArticulo = dsShop.Articulo.NewArticuloRow();
                drArticulo.codigoArticulo  = art.codigoArticulo;
                drArticulo.descripcion     = art.descripcion;
                drArticulo.tallaPesoLitros = art.tallaPesoLitros;
                drArticulo.numeroRecogida  = art.numeroRecogida;
                drArticulo.numeroPedido    = art.numeroPedido;
                drArticulo.precio          = art.precio;
                drArticulo.stock           = (short)art.stock;
                drArticulo.localizacion    = art.localizacion;
                drArticulo.idFamilia       = art.idFamilia;
                drArticulo.idSubFamilia    = art.idSubFamilia;
                dsShop.Articulo.AddArticuloRow(drArticulo);
                daArticulo.Update(drArticulo);
                return("Insertado");
            }
            else
            {
                ActualizarStockArticulo(art.codigoArticulo, art.stock);
                return("Actualizado stock");
            }
        }
Beispiel #13
0
        /*
         *	Page_PreLoad()
         */
        protected void Page_PreLoad()
        {
            mensaje.Text = ("");
            // Cargar recursos
            try{
                opcion = Convert.ToString(Request.QueryString["op"]);
                string[] path  = url.Split('/');
                string   vista = (path[path.Length - 1]);
                view = vista.Split('.');

                switch (view[0])
                {
                // Peticiones de Vista "Producto.aspx"
                case "producto":
                    if (IsPostBack)
                    {
                        // ¡¡Registrar nuevo producto!!
                        errores = ValidarNuevoProducto();
                        if (errores.Count > 0)
                        {
                            ImprimirErrores();
                        }
                        else
                        {
                            p = RegistrarProducto();
                        }
                    }
                    else
                    {
                        // Cargar Elementos de Vista
                        tipo.Items.Clear();
                        familiaDP.Items.Clear();
                        subFamiliaDP.Items.Clear();

                        f        = new Familia();
                        familias = f.FindAllFamilias();

                        sf          = new SubFamilia();
                        subfamilias = sf.FindAllSubFamily();
                    }
                    break;

                // Peticiones de Vista "Productos.aspx"
                case "productos":


                    break;

                // Peticiones de Vista "Familias.aspx"
                case "familias":
                    // Guardar Familia
                    if (IsPostBack)
                    {
                        switch (opcion)
                        {
                        case "familia":
                            // Guardar Nueva Familia
                            break;

                        case "subFamilia":
                            // Guardar Nueva Sub-Familia
                            break;
                        }
                    }
                    else
                    {
                        f        = new Familia();
                        familias = f.FindAllFamilias();

                        sf          = new SubFamilia();
                        subfamilias = sf.FindAllSubFamily();
                    }
                    break;
                }
            }catch (Exception ex) {
                mensaje.Text += ("Error :" + ex.ToString() + "");
            }
        }
Beispiel #14
0
 /// <summary>
 /// Método que actualiza los campos de un registro
 /// </summary>
 /// <param name="id_compania_emisor">Actualiza el campo que identifica a una compañia</param>
 /// <param name="descripcion">Actualiza el campo que describe una actividad de mantenimiento</param>
 /// <param name="id_familia">Actualiza el campo del identificador de familia (suspensión, dirección,cabina)</param>
 /// <param name="id_sub_familia">Actualiza el campo del identificador de subfamilia (acorde a id_familia)</param>
 /// <param name="id_tipo_unidad">Actualiza el campo de tipo de unidad (dolly, caja, tractor, etc.)</param>
 /// <param name="id_sub_tipo_unidad">Actualiz el campo sub tipo de unidad dependiendo del tipo de unidad</param>
 /// <param name="id_requisicion">Actualiza el campo del identificador de una requisición</param>
 /// <param name="id_usuario">Actualiza el campo con el identificador del usuario que realizo acciones sobre el registro</param>
 /// <returns></returns>
 public RetornoOperacion EditarActividad(int id_compania_emisor, string descripcion, Familia id_familia, SubFamilia id_sub_familia,
                                         int id_tipo_unidad, int id_sub_tipo_unidad, int id_requisicion, int id_usuario)
 {
     //Retorna el resultado del método editarActividad
     return(editaActividad(id_compania_emisor, descripcion, id_familia, id_sub_familia, id_tipo_unidad, id_sub_tipo_unidad, id_requisicion, id_usuario, this._habilitar));
 }
Beispiel #15
0
 public List <Articulo> BuscarArticuloEspecifico(string descripcion, Familia familia, SubFamilia subFamilia, int numeroRecogida, int numeroPedido, int numeroVenta, Iva iva, int estanteria, int estante, int altura)
 {
     return(_datos.BuscarArticuloEspecifico(descripcion, familia, subFamilia, numeroRecogida, numeroPedido, numeroVenta, iva, estanteria, estante, altura));
 }
Beispiel #16
0
 public string RegistroNuevoArticulo(string codigoArticulo, string descripcion, string tallaPesoLitros, int cantidad,
                                     int numeroRecogida, int numeroPedido, int numeroVenta, decimal precio, String localizacion, Familia familia, SubFamilia subfamilia)
 {
     return(_datos.RegistroNuevoArticulo(codigoArticulo, descripcion, tallaPesoLitros, cantidad,
                                         numeroRecogida, numeroPedido, numeroVenta, precio, localizacion, familia, subfamilia));
 }
Beispiel #17
0
 public void InsertarSubFamilia(SubFamilia subFam)
 {
     datos.insertarSubFamilia(subFam);
 }
Beispiel #18
0
 public List <Articulo> DevolverArticulosPorSubFamilia(SubFamilia subFam)
 {
     return(_datos.DevolverArticulosPorSubFamilia(subFam));
 }
Beispiel #19
0
        /// <summary>
        /// Método que realiza la inserción de registro de actividad.
        /// </summary>
        /// <param name="id_compania_emisor">Inserta el identificador de una compañia</param>
        /// <param name="descripcion">Inserta la descripción de una actividad</param>
        /// <param name="id_familia">Inserta el identificador de familia (suspensión, dirección,cabina)</param>
        /// <param name="id_sub_familia">Inserta el identificador de subfamilia (acorde a id_familia)</param>
        /// <param name="id_tipo_unidad">Inserta el tipo de unidad (caja, tractor, dolly)</param>
        /// <param name="id_sub_tipo_unidad">Inserta el subtipo de unidad acorde al tipo de unidad</param>
        /// <param name="id_requisicion">Inserta el identificador de una requisición</param>
        /// <param name="id_usuario">Inserta el identificador del usuario que realizó acciones sobre el registro</param>
        /// <returns></returns>
        public static RetornoOperacion InsertarActividad(int id_compania_emisor, string descripcion, Familia id_familia, SubFamilia id_sub_familia,
                                                         int id_tipo_unidad, int id_sub_tipo_unidad, int id_requisicion, int id_usuario)
        {
            //Creación del objeto retorno
            RetornoOperacion retorno = new RetornoOperacion();

            //Creación del arreglo param
            object[] param = { 1, 0, id_compania_emisor, descripcion, (byte)id_familia, (byte)id_sub_familia, id_tipo_unidad, id_sub_tipo_unidad, id_requisicion, id_usuario, true, "", "" };
            //Asigna valores al objeto retorno
            retorno = CapaDatos.m_capaDeDatos.EjecutaProcAlmacenadoObjeto(nom_sp, param);
            //Retorno el resultado al objeto retorno
            return(retorno);
        }
Beispiel #20
0
        private void btnBuscar_Click(object sender, EventArgs e)
        {
            int        estanteria;
            int        estante;
            int        altura;
            Familia    familia;
            SubFamilia subFamilia;
            Iva        iva;
            Int32      recogida;
            Int32      numPedido;
            Int32      venta;

            Int32.TryParse(txtEstanteria.Text, out estanteria);
            Int32.TryParse(txtEstante.Text, out estante);
            Int32.TryParse(txtAltura.Text, out altura);

            if ((Familia)cmbFamilia.SelectedItem == null)
            {
                familia = new Familia("", "", "", "");
            }
            else
            {
                familia = (Familia)cmbFamilia.SelectedItem;
            }

            if ((SubFamilia)cmbSubFamilia.SelectedItem == null)
            {
                subFamilia = new SubFamilia("", "", "", -1, "");
            }
            else
            {
                subFamilia = (SubFamilia)cmbSubFamilia.SelectedItem;
            }

            if ((Iva)cmbIVA.SelectedItem == null)
            {
                iva = new Iva(-1, "");
            }
            else
            {
                iva = (Iva)cmbIVA.SelectedItem;
            }

            if (txtNumRecogida.Text == "")
            {
                recogida = -1;
            }
            else
            {
                recogida = Int32.Parse(txtNumRecogida.Text);
            }

            if (txtNumPedido.Text == "")
            {
                numPedido = -1;
            }
            else
            {
                numPedido = Int32.Parse(txtNumPedido.Text);
            }

            if (txtNumVenta.Text == "")
            {
                venta = -1;
            }
            else
            {
                venta = Int32.Parse(txtNumVenta.Text);
            }

            if (estanteria == 0)
            {
                estanteria = -1;
            }

            if (estante == 0)
            {
                estante = -1;
            }

            if (altura == 0)
            {
                altura = -1;
            }

            List <Articulo> articulos = _negocio.BuscarArticuloEspecifico(txtDescripcion.Text, familia, subFamilia, recogida, numPedido, venta, iva, estanteria, estante, altura);

            dgvArticulos.DataSource = articulos;
        }