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."); } } }
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); } }