コード例 #1
0
 private void BtnAgregar_Click(object sender, EventArgs e)
 {
     Errp.Clear();
     //validar
     if (CboAlmacen.SelectedIndex != -1 & CboProducto.SelectedIndex != -1 & TxtCantidad.Text != "" & TxtCostoUnitario.Text != "")
     {
         //agregar registro a la tabla del kardex
         DataRow DR = DtKardex.NewRow();
         DR["AlmacenID"]     = CboAlmacen.Columns["AlmacenID"].Value.ToString();
         DR["ProductoID"]    = CboProducto.SelectedValue.ToString();
         DR["Producto"]      = CboProducto.Columns["Alias"].Value.ToString();
         DR["Cantidad"]      = Convert.ToDecimal(TxtCantidad.Text);
         DR["CostoUnitario"] = Convert.ToDecimal(TxtCostoUnitario.Text);
         DR["Almacen"]       = CboAlmacen.Columns["Descripcion"].Value.ToString();
         DtKardex.Rows.Add(DR);
     }
     else
     {
         if (CboAlmacen.SelectedIndex == -1)
         {
             Errp.SetError(CboAlmacen, "Seleccione un almacen.");
         }
         if (CboProducto.SelectedIndex == -1)
         {
             Errp.SetError(CboProducto, "Seleccione una producto.");
         }
         if (TxtCantidad.Text == "")
         {
             Errp.SetError(TxtCantidad, "Ingrese una cantidad valida.");
         }
         if (TxtCostoUnitario.Text == "")
         {
             Errp.SetError(TxtCostoUnitario, "Ingrese un costo valido.");
         }
     }
 }
コード例 #2
0
        private void BtnIngresar_Click(object sender, EventArgs e)
        {
            //ingresar movimiento del producto
            try
            {
                Errp.Clear();
                //validar
                if (CboAlmacen.SelectedIndex != -1 & CboMovimiento.SelectedIndex != -1 & CboOperacion.SelectedIndex != -1 &
                    CboProducto.SelectedIndex != -1 & CboSede.SelectedIndex != -1 & CboTipoDocumento.SelectedIndex != -1 &
                    TxtCantidad.Text != "" & TxtCostoUnitario.Text != "" & TxtNumero.Text != "" & TxtSerie.Text != "" &
                    TxtSerie.Text.Length == 3 & DtKardex.Rows.Count > 0)
                {
                    //2da validacion
                    if (Convert.ToDecimal(TxtCantidad.Text) != 0 & Convert.ToInt32(TxtNumero.Text) != 0)
                    {
                        int       KardexID     = 0;
                        CL_Kardex ObjCL_Kardex = new CL_Kardex();
                        E_Kardex  ObjE_Kardex  = new E_Kardex();
                        ObjE_Kardex.AlmacenID       = DtKardex.Rows[0]["AlmacenID"].ToString();
                        ObjE_Kardex.ProductoID      = DtKardex.Rows[0]["ProductoID"].ToString();
                        ObjE_Kardex.MovimientoID    = Convert.ToInt32(CboMovimiento.SelectedValue);
                        ObjE_Kardex.TipoComprobante = CboTipoDocumento.SelectedValue.ToString();
                        ObjE_Kardex.Cantidad        = Convert.ToDecimal(DtKardex.Rows[0]["Cantidad"]);
                        ObjE_Kardex.Serie           = TxtSerie.Text;
                        ObjE_Kardex.Numero          = Convert.ToInt32(TxtNumero.Text);
                        ObjE_Kardex.TipoOperacion   = CboOperacion.SelectedValue.ToString();
                        ObjE_Kardex.CostoUnitario   = Convert.ToDecimal(DtKardex.Rows[0]["CostoUnitario"]);
                        ObjE_Kardex.Ingreso         = "M";
                        ObjE_Kardex.UsuarioID       = AppSettings.UserID;
                        ObjE_Kardex.AudCrea         = Convert.ToDateTime(DtFecha.Value.ToShortDateString());
                        //verificar si existe el movimiento, si no existe se ingresa, en caso de existir pregunta al usuario
                        bool existe = true;
                        existe = ObjCL_Kardex.Existekardex(ObjE_Kardex);
                        if (existe == false)
                        {
                            if (DtKardex.Rows.Count == 1)
                            {
                                KardexID = ObjCL_Kardex.InsertKardex(ObjE_Kardex, null, "U");
                            }
                            else
                            {
                                KardexID = ObjCL_Kardex.InsertKardex(ObjE_Kardex, DtKardex, "M");
                            }
                        }
                        else
                        {
                            if (MessageBox.Show("El movimiento ya existe.\n\n¿Desea ingresarlo de todos modos?", "Aviso", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                            {
                                if (DtKardex.Rows.Count == 1)
                                {
                                    KardexID = ObjCL_Kardex.InsertKardex(ObjE_Kardex, null, "U");
                                }
                                else
                                {
                                    KardexID = ObjCL_Kardex.InsertKardex(ObjE_Kardex, DtKardex, "M");
                                }
                                existe = false;
                            }
                            else
                            {
                                return;
                            }
                        }
                        ObjE_Kardex.KardexID = KardexID;
                        if (DtKardex.Rows.Count == 1)
                        {
                            #region Agregar a la tabla temp del formulario Re_Kardex
                            if (Rep_Kardex.DtTemp.Rows.Count > 0 & existe == false)
                            {
                                DataRow DR = Rep_Kardex.DtTemp.NewRow();
                                DR["KardexID"]           = ObjE_Kardex.KardexID;
                                DR["Tabla"]              = "K";
                                DR["AudCrea"]            = ObjE_Kardex.AudCrea;
                                DR["ProductoID"]         = ObjE_Kardex.ProductoID;
                                DR["Producto"]           = CboProducto.Columns["Alias"].Value.ToString();
                                DR["UMContabilidad"]     = "";
                                DR["UnidadMedidaID"]     = CboProducto.Columns["UnidadMedidaID"].Value.ToString();
                                DR["Cantidad"]           = ObjE_Kardex.Cantidad;
                                DR["CantidadReal"]       = ObjE_Kardex.Cantidad;
                                DR["TipoContabilidad"]   = ObjE_Kardex.TipoComprobante;
                                DR["Serie"]              = ObjE_Kardex.Serie;
                                DR["Numero"]             = ObjE_Kardex.Numero;
                                DR["TipoOperacion"]      = ObjE_Kardex.TipoOperacion;
                                DR["Tipo"]               = CboMovimiento.Columns["Tipo"].Value.ToString();
                                DR["PrecioUnitario"]     = ObjE_Kardex.CostoUnitario;
                                DR["NomMovimiento"]      = CboMovimiento.Columns["NomMovimiento"].Value.ToString();
                                DR["TipoExistencia"]     = "ACTUALIZAR PARA VISUALIZAR";
                                DR["FactorConversion"]   = 0;
                                DR["Unidades"]           = 0;
                                DR["MovimientoID"]       = ObjE_Kardex.MovimientoID;
                                DR["UnidadMedidaIDReal"] = CboProducto.Columns["UnidadMedidaID"].Value;
                                DR["PresentacionReal"]   = "ACTUALIZAR PARA VISUALIZAR";
                                DR["Establecimiento"]    = 9999;
                                DR["Orden"]              = 0;
                                Rep_Kardex.DtTemp.Rows.Add(DR);
                            }
                            #endregion
                            MessageBox.Show("Se almaceno correctamente el movimiento.\r\nEl ID generado es: " + KardexID.ToString(), "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                        else
                        {
                            MessageBox.Show("Se almaceno correctamente el movimiento.\r\nEl ID generado es: " + KardexID.ToString() + ".\r\nEn este caso por ser insercion masiva debe\nvolver a consultra los datos para\npoder ver la actualización.", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }

                        DtKardex.Rows.Clear();
                    }
                    else
                    {
                        if (Convert.ToDecimal(TxtCantidad.Text) == 0)
                        {
                            Errp.SetError(TxtCantidad, "Ingrese una cantidad valida diferente de cero.");
                        }
                        //if (Convert.ToDecimal(TxtCostoUnitario.Text) == 0) Errp.SetError(TxtCostoUnitario, "Ingrese un costo valido diferente de cero.");
                        if (Convert.ToInt32(TxtNumero.Text) == 0)
                        {
                            Errp.SetError(TxtNumero, "Ingrese un número valido diferente de cero.");
                        }
                    }
                }
                else
                {
                    if (CboAlmacen.SelectedIndex == -1)
                    {
                        Errp.SetError(CboAlmacen, "Seleccione un almacen.");
                    }
                    if (CboMovimiento.SelectedIndex == -1)
                    {
                        Errp.SetError(CboMovimiento, "Seleccione un movimiento.");
                    }
                    if (CboOperacion.SelectedIndex == -1)
                    {
                        Errp.SetError(CboOperacion, "Seleccione una operacion.");
                    }
                    if (CboProducto.SelectedIndex == -1)
                    {
                        Errp.SetError(CboProducto, "Seleccione una producto.");
                    }
                    if (CboSede.SelectedIndex == -1)
                    {
                        Errp.SetError(CboSede, "Seleccione una Sede.");
                    }
                    if (CboTipoDocumento.SelectedIndex == -1)
                    {
                        Errp.SetError(CboTipoDocumento, "Seleccione un tipo de documento.");
                    }
                    if (TxtCantidad.Text == "")
                    {
                        Errp.SetError(TxtCantidad, "Ingrese una cantidad valida.");
                    }
                    if (TxtCostoUnitario.Text == "")
                    {
                        Errp.SetError(TxtCostoUnitario, "Ingrese un costo valido.");
                    }
                    if (TxtNumero.Text == "")
                    {
                        Errp.SetError(TxtNumero, "Ingrese un número valido.");
                    }
                    if (TxtSerie.Text == "" | TxtSerie.Text.Length != 3)
                    {
                        Errp.SetError(TxtSerie, "Ingrese una serie valida.");
                    }
                    if (DtKardex.Rows.Count == 0)
                    {
                        Errp.SetError(TdgProductos, "No ha ingresado ningún producto a la grilla.");
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Metodo Ingresar\n" + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }