private void BtnAnular_Click(object sender, EventArgs e) { if (MessageBox.Show("¿Seguro que desea anular la guia de transporte Nro: " + TxtNumGuiatransporte.Text + ".?", "Guia de remisión", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { CL_GuiaRemision objCL_GuiaRemision = new CL_GuiaRemision(); bool Valor; Valor = objCL_GuiaRemision.UpdateGuiaRemisionEstado(TxtGuia.Text, 10, "T", AppSettings.UserID, AppSettings.SedeID); } }
private void BtnAnular_Click(object sender, EventArgs e) { if (MessageBox.Show("¿Seguro que desea anular la guia de remisión Nro: " + TxtNumGuiaRemision.Text + ".?", "Guia de remisión", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { //****************************** anular guia ***************************************** #region Crear Tablas //tabla para actualizar el nuevo stock (agregar productos recepcionados) DataTable DtActuStockLocal = new DataTable(); DtActuStockLocal.TableName = "StockAlmacen"; DtActuStockLocal.Columns.Add("NumRequerimiento", typeof(string)); DtActuStockLocal.Columns.Add("AlmacenID", typeof(string)); DtActuStockLocal.Columns.Add("ProductoID", typeof(string)); DtActuStockLocal.Columns.Add("StockAdicion", typeof(decimal)); #endregion //actualizar datos del requerimiento CL_Requerimientos ObjCL_Requerimientos = new CL_Requerimientos(); CL_GuiaRemision ObjCL_GuiaRemision = new CL_GuiaRemision(); foreach (DataRow Row2 in DtDetalle.Rows) { #region Actualizar Estado Requerimientos string NumRequerimiento; decimal CantidadTransito; string ProductoID; NumRequerimiento = Row2["NumRequerimiento"].ToString(); ProductoID = Row2["ProductoID"].ToString(); CantidadTransito = Convert.ToDecimal(Row2["CantidadEnviada"]); bool Valor; Valor = ObjCL_Requerimientos.UpdateDetalleRequerimientoAnulado(NumRequerimiento, CantidadTransito, ProductoID, AppSettings.UserID, AppSettings.SedeID); if (Valor == false) { MessageBox.Show("ocurrio un error al intentar actualizar el requerimiento: \r\nNumRequerimiento: " + NumRequerimiento + "ProductoID: " + ProductoID + "\r\nCantidadTransito: " + CantidadTransito, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } Valor = ObjCL_GuiaRemision.UpdateGuiaRemisionEstado(TxtGuia.Text, 10, "A", AppSettings.UserID, AppSettings.SedeID); #endregion #region llenar tabla para actualizar el stock local DataRow DrR = DtActuStockLocal.NewRow(); DrR["NumRequerimiento"] = Row2["NumRequerimiento"]; DrR["AlmacenID"] = AppSettings.EmpresaID + AppSettings.SedeID + "000"; DrR["ProductoID"] = Row2["ProductoID"]; DrR["StockAdicion"] = Row2["CantidadEnviada"]; DtActuStockLocal.Rows.Add(DrR); #endregion } #region agrupar para actualizar el stock local //Agrupar los productos apra almacenarlos DataTable DtProducto = new DataTable(); DataTable DtActuStockLocal2 = new DataTable(); DtActuStockLocal2.TableName = "StockAlmacen"; DtActuStockLocal2.Columns.Add("NumRequerimiento", typeof(string)); DtActuStockLocal2.Columns.Add("AlmacenID", typeof(string)); DtActuStockLocal2.Columns.Add("ProductoID", typeof(string)); DtActuStockLocal2.Columns.Add("StockAdicion", typeof(decimal)); DtProducto = new BaseFunctions().SelectDistinct(DtActuStockLocal, "ProductoID", "AlmacenID"); foreach (DataRow RowP in DtProducto.Rows) { DataView Dv = new DataView(DtActuStockLocal); Dv.RowFilter = "ProductoID = '" + RowP["ProductoID"] + "' and AlmacenID = '" + RowP["AlmacenID"] + "'"; decimal Suma = 0; string NumRequerimiento = ""; foreach (DataRowView Drv in Dv) //sumar las cantidades por producto { Suma += Convert.ToDecimal(Drv["StockAdicion"]); NumRequerimiento = Drv["NumRequerimiento"].ToString(); } DataRow DrR = DtActuStockLocal2.NewRow(); DrR["NumRequerimiento"] = NumRequerimiento; DrR["AlmacenID"] = RowP["AlmacenID"]; DrR["ProductoID"] = RowP["ProductoID"]; DrR["StockAdicion"] = Suma; DtActuStockLocal2.Rows.Add(DrR); } #endregion #region Actualizar el stock CL_Almacen ObjCL_Almacen = new CL_Almacen(); foreach (DataRow R in DtActuStockLocal2.Rows) { ObjCL_Almacen.UpdateStockAdidion(R["AlmacenID"].ToString(), R["ProductoID"].ToString(), Convert.ToDecimal(R["StockAdicion"]), R["NumRequerimiento"].ToString(), "R"); } #endregion } MessageBox.Show("Se termino de anular la guía", "Guia remitente", MessageBoxButtons.OK, MessageBoxIcon.Information); }