internal void GuardarInformacion(TextBox txtClave, TextBox txtClaveProveedor, TextBox txtDescripcion, System.Windows.Forms.ComboBox cmbMarca, GroupBox groupClasificacion, GroupBox groupCantidades, GroupBox groupCompra, GroupBox groupPrecios, RichTextBox richDescripcion)
        {
            #region GuardarInformacion
            try
            {
                #region Registro de datos del articulo
                operacion._articulo.ArticuloID     = txtClave.Text.Trim().ToUpper();
                operacion._articulo.ClaveProveedor = txtClaveProveedor.Text.Trim().ToUpper();
                operacion._articulo.Usuario        = DatosUsuario.Usuario;
                operacion._articulo.Actualizado    = System.DateTime.Now;
                operacion._articulo.Descripcion    = txtDescripcion.Text.Trim().ToUpper();
                operacion._articulo.MarcaID        = Convert.ToInt32(cmbMarca.SelectedValue.ToString());
                foreach (Control control in groupClasificacion.Controls)
                {
                    if (control is System.Windows.Forms.ComboBox)
                    {
                        System.Windows.Forms.ComboBox cmbControl = (System.Windows.Forms.ComboBox)control;
                        if (cmbControl.Name.Equals("cmbProveedor") && cmbControl.SelectedValue != null)
                        {
                            operacion._articulo.ProveedorID = Convert.ToInt32(cmbControl.SelectedValue.ToString());
                        }
                        if (cmbControl.Name.Equals("cmbCategoria"))
                        {
                            operacion._articulo.CategoriaID = Convert.ToInt32(cmbControl.SelectedValue.ToString());
                        }
                        if (cmbControl.Name.Equals("cmbDepartamento"))
                        {
                            operacion._articulo.DepartamentoID = Convert.ToInt32(cmbControl.SelectedValue.ToString());
                        }
                    }
                }
                foreach (Control control in groupCompra.Controls)
                {
                    if (control is TextBox)
                    {
                        TextBox txtControl = (TextBox)control;
                        if (txtControl.Name.Equals("txtCompraGeneral"))
                        {
                            operacion._articulo.PrecioCompra = Convert.ToDecimal(txtControl.Text.Trim());
                        }
                    }
                    if (control is Panel)
                    {
                        foreach (Control subcontrol in control.Controls)
                        {
                            if (subcontrol is TextBox)
                            {
                                TextBox txtControl = (TextBox)subcontrol;
                                if (txtControl.Name.Equals("txtUnidadUno"))
                                {
                                    operacion._articulo.PrecioVentaUno = Convert.ToDecimal(txtControl.Text.Trim());
                                }
                                if (txtControl.Name.Equals("txtUnidadDos"))
                                {
                                    operacion._articulo.PrecioVentaDos = Convert.ToDecimal(txtControl.Text.Trim());
                                }
                            }
                        }
                    }
                }
                #endregion

                #region Registro de datos de canntidades de articulos
                operacion._cantidadesArt.ArticuloID = txtClave.Text.Trim().ToUpper();
                foreach (Control control in groupCantidades.Controls)
                {
                    if (control is System.Windows.Forms.ComboBox)
                    {
                        System.Windows.Forms.ComboBox cmbControl = (System.Windows.Forms.ComboBox)control;
                        if (cmbControl.Name.Equals("cmbPasillo"))
                        {
                            operacion._articulo.PasilloID = Convert.ToInt32(cmbControl.SelectedValue.ToString());
                        }
                        if (cmbControl.Name.Equals("cmbMueble"))
                        {
                            operacion._articulo.MuebleID = Convert.ToInt32(cmbControl.SelectedValue.ToString());
                        }
                        if (cmbControl.Name.Equals("cmbUnidadCompra"))
                        {
                            operacion._cantidadesArt.UnidadCompra = Convert.ToInt32(cmbControl.SelectedValue.ToString());
                        }
                        if (cmbControl.Name.Equals("cmbUnidadVenta"))
                        {
                            operacion._cantidadesArt.UnidadVenta = Convert.ToInt32(cmbControl.SelectedValue.ToString());
                        }
                    }
                    if (control is NumericUpDown)
                    {
                        NumericUpDown numControl = (NumericUpDown)control;
                        if (numControl.Name.Equals("numericMin"))
                        {
                            operacion._cantidadesArt.InventarioMin = numControl.Value;
                        }
                        if (numControl.Name.Equals("numericMax"))
                        {
                            operacion._cantidadesArt.InventarioMax = numControl.Value;
                        }
                    }
                    if (control is TextBox)
                    {
                        TextBox txtControl = (TextBox)control;
                        if (txtControl.Name.Equals("txtFactor"))
                        {
                            operacion._cantidadesArt.Factor = Convert.ToDecimal(txtControl.Text.Trim());
                        }
                    }
                }
                #endregion


                //Registro de precios del articulo
                operacion._precioArticulo.ArticuloID = txtClave.Text.Trim().ToUpper();
                #region Seccion de precions
                foreach (Control control in groupPrecios.Controls)
                {
                    if (control is TextBox)
                    {
                        TextBox txtControl = (TextBox)control;
                        //Precios de tipo Uno
                        if (txtControl.Name.Equals("txtMargenUno") && !string.IsNullOrEmpty(txtControl.Text))
                        {
                            operacion._precioArticulo.MargenUtilidadUno = Convert.ToDecimal(txtControl.Text.Trim());
                        }
                        if (txtControl.Name.Equals("txtDesctoUno") && !string.IsNullOrEmpty(txtControl.Text))
                        {
                            operacion._precioArticulo.PorcentajeDescuentoUno = 0;
                        }
                        if (txtControl.Name.Equals("txtVentaUno") && !string.IsNullOrEmpty(txtControl.Text))
                        {
                            operacion._precioArticulo.PrecioUno = Convert.ToDouble(txtControl.Text.Trim());
                        }
                        //Precios de tipo Dos
                        if (txtControl.Name.Equals("txtMargenDos") && !string.IsNullOrEmpty(txtControl.Text))
                        {
                            operacion._precioArticulo.MargenUtilidadDos = Convert.ToDecimal(txtControl.Text.Trim());
                        }
                        if (txtControl.Name.Equals("txtDesctoDos") && !string.IsNullOrEmpty(txtControl.Text))
                        {
                            operacion._precioArticulo.PorcentajeDescuentoDos = (txtControl.Text == String.Empty)?0:Convert.ToDecimal(txtControl.Text);
                        }
                        if (txtControl.Name.Equals("txtVentaDos") && !string.IsNullOrEmpty(txtControl.Text))
                        {
                            operacion._precioArticulo.PrecioDos = Convert.ToDouble(txtControl.Text.Trim());
                        }
                    }
                    if (control is System.Windows.Forms.ComboBox)
                    {
                        System.Windows.Forms.ComboBox cmbControl = (System.Windows.Forms.ComboBox)control;
                        if (cmbControl.Name.Equals("cmbDesctoUno"))
                        {
                            operacion._precioArticulo.TipoDescuentoUno = cmbControl.Text;
                        }
                        if (cmbControl.Name.Equals("cmbDesctoDos"))
                        {
                            operacion._precioArticulo.TipoDescuentoDos = cmbControl.Text;
                        }
                    }
                }
                #endregion

                #region Registro de caracteristicas del articulos
                operacion._caracteristicas.ArticuloID  = txtClave.Text.Trim().ToUpper();
                operacion._caracteristicas.Descripcion = (!string.IsNullOrEmpty(richDescripcion.Text.Trim())) ? richDescripcion.Text.ToUpper().Trim() : String.Empty;
                #endregion
                //Envio de objetos para guardar en la base de datos
                if (!Acciones.MODO_CONSULTA)
                {
                    operacion.GuardarInformacionBLL();
                }
                else
                {
                    operacion.ActualizarInformacionBLL();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            #endregion
        }