Beispiel #1
0
 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);
     }
 }
Beispiel #2
0
        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);
        }