コード例 #1
0
        private void btn_RegistrarPlanta_Click(object sender, EventArgs e)
        {
            TratamientosEspeciales tratamiento = new TratamientosEspeciales();
            Es_Producto            _ep         = new Es_Producto();
            Es_ProductoCompuesto   _epc        = new Es_ProductoCompuesto();

            if (tratamiento.validar(this.Controls) == TratamientosEspeciales.Validacion.correcta)
            {
                if (chk_TipoProductos.CheckedItems.Count > 2)
                {
                    MessageBox.Show("Seleccione solamente 2 productos para la composicion");
                    return;
                }
                if (chk_TipoProductos.CheckedItems.Count < 2 && cmb_TipoProducto.SelectedValue.ToString() == "4")
                {
                    MessageBox.Show("Seleccione  2 productos para la composicion");
                    return;
                }
                if (chk_TipoProductos.CheckedItems.Count > 0 && cmb_TipoProducto.SelectedValue.ToString() != "4")
                {
                    MessageBox.Show("Seleccione tipo compuesto para registrar un producto compuesto");
                    return;
                }

                if (cmb_TipoProducto.SelectedValue.ToString() == "4")
                {
                    var       items = chk_TipoProductos.CheckedItems.Count;
                    DataTable tabla = new DataTable();
                    _epc.ID    = producto.NuevoIdComposicion();
                    _ep.Codigo = producto.NuevoId();

                    for (int i = 0; i <= items; i++)
                    {
                        _ep.Composicion = producto.NuevoIdComposicion();
                        _ep.Nombre      = txt_NombreProducto.Text;
                        _ep.Tipo        = cmb_TipoProducto.SelectedValue.ToString();
                        _ep.Stock       = txt_StockProducto.Text;
                        _ep.Costo       = txt_CostoProd.Text;
                        _ep.Precio      = txt_PrecioProducto.Text;
                        _ep.Estado      = cmb_EstadoProd.SelectedValue.ToString();
                        string prod_compuesto = chk_TipoProductos.CheckedItems[i].ToString();
                        _epc.Cod_Prod_Compuesto = producto.Recuperar_id(prod_compuesto).ToString();
                        string prod_componente = chk_TipoProductos.CheckedItems[i + 1].ToString();
                        _epc.Cod_Prod_Componente = producto.Recuperar_id(prod_componente).ToString();
                        _epc.Cant_Compuesto      = txt_CantProdComp1.Text;
                        _epc.Cant_Componente     = txt_CantProdComp2.Text;

                        producto.InsertarCompuesto(_epc);
                        producto.Insertar(_ep);
                        break;
                    }
                    MessageBox.Show("Producto registrado correctamente");
                    this.Close();
                }
                else
                {
                    _ep.Codigo      = producto.NuevoId();
                    _ep.Nombre      = txt_NombreProducto.Text;
                    _ep.Tipo        = cmb_TipoProducto.SelectedValue.ToString();
                    _ep.Stock       = txt_StockProducto.Text;
                    _ep.Costo       = txt_CostoProd.Text;
                    _ep.Composicion = 0.ToString();
                    _ep.Precio      = txt_PrecioProducto.Text;
                    _ep.Estado      = cmb_EstadoProd.SelectedValue.ToString();

                    producto.Insertar(_ep);
                    MessageBox.Show("Producto registrado correctamente");
                    this.Close();
                }
            }
        }