Example #1
0
        protected void btnCalcular_Click(object sender, EventArgs e)
        {
            try
            {
                var tempFactura = new FAC_FACTURA();
                tempFactura.NoFactura = Convert.ToInt32(ddlFactura.SelectedValue);
                tempFactura           = objFact.ConsultaPorNumeroDeFactura(tempFactura);
                var SaldoActual    = tempFactura.saldo;
                var listaProductos = new List <PRO_PRODUCTO>();
                var listaDetalles  = new List <DEF_DETALLE_FACTURA>();

                foreach (GridViewRow mRow in gvwDetalleFactura.Rows)
                {
                    CheckBox mCheck = (CheckBox)mRow.FindControl("cbSelect");
                    if (mCheck != null)
                    {
                        if (mCheck.Checked)
                        {
                            var tempProducto        = new PRO_PRODUCTO();
                            var tempCategoria       = new CAT_CATEGORIA();
                            var splitProducto       = mRow.Cells[0].Text.Split(',');
                            var splitNombreProducto = splitProducto[0];

                            tempCategoria.Nombre = splitProducto[1].TrimStart();
                            tempCategoria        = objCat.ConsultarPorNombreDeCategoria(tempCategoria);

                            tempProducto.CodigoNumerico = Convert.ToInt32(mRow.Cells[1].Text);
                            tempProducto.IdCategoria    = tempCategoria.idCategoria;
                            tempProducto.NombreProducto = splitNombreProducto;
                            tempProducto            = objProd.ConsultarProductoPorNombreCodigoCategoria(tempProducto);
                            tempProducto.Inventario = tempProducto.Inventario + 1;
                            SaldoActual             = SaldoActual - tempProducto.Precio;
                            txtSaldoActual.Text     = SaldoActual.ToString();
                            Session["SaldoActual"]  = SaldoActual;
                            var tempDetalleFactura = new DEF_DETALLE_FACTURA();
                            tempDetalleFactura.idFactura        = tempFactura.idFactura;
                            tempDetalleFactura.idProducto       = tempProducto.IdProducto;
                            tempDetalleFactura                  = objDeF.ConsultarPorIdFacturaYIdProducto(tempDetalleFactura);
                            tempDetalleFactura.CantidadDevuelta = tempDetalleFactura.CantidadDevuelta + 1;

                            objProd.Actualizar(tempProducto);
                            objDeF.Actualizar(tempDetalleFactura);
                        }
                    }
                }
                tempFactura.saldo         = SaldoActual;
                tempFactura.estado        = Convert.ToInt32(EstadoFacturas.Cancelada);
                tempFactura.totalDevuelto = tempFactura.saldo - SaldoActual;
                objFact.Actualizar(tempFactura);
                cargarTablaFacturas(tempFactura.NoFactura);
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Factura cancelada con éxito, el monto a pagar es: " + SaldoActual + "')", true);
            }
            catch (Exception ex)
            {
                var err = ex.Message;
                throw ex;
            }
        }