private void ActualizarDatosOrden(string numeroFactura) { int.TryParse(Request.QueryString["idflujo"], out IdFlujo); LiquidacionICRL.TipoTraerLiquidacion001 ordenes = LiquidacionICRL.TraerLiquidacion001(IdFlujo); foreach (LiquidacionICRL.TipoLiquidacion001 orden in ordenes.Liquidaciones001) { if (numeroFactura.Trim() == orden.num_factura.Trim()) { LiquidacionICRL.TipoLiquidacion001 ordenModificada = orden; ordenModificada.liquidacion = false; ordenModificada.num_factura = ""; ordenModificada.fecha_liquidacion = new DateTime(2000, 1, 1); LiquidacionICRL.ModificarLiquidacion001(ordenModificada); } } }
protected void RecuperarDatosOrdenes() { int.TryParse(Request.QueryString["idflujo"], out IdFlujo); LiquidacionICRL.TipoTraerLiquidacion001 ordenes = LiquidacionICRL.TraerLiquidacion001(IdFlujo); bool operacionExitosa = ordenes.correcto; DataSet ordenesDataset = ordenes.dsLiquidacion001; if (operacionExitosa) { GridViewDatosOrden.DataSource = ordenesDataset; GridViewDatosOrden.DataBind(); LabelMensaje.Visible = false; } else { LabelMensaje.Visible = true; LabelMensaje.Text = "Error en la recuperacion de los datos ordenes!"; } }
protected void btnLiquidacionTotal_Click(object sender, EventArgs e) { int.TryParse(Request.QueryString["idflujo"], out IdFlujo); LiquidacionICRL.TipoTraerLiquidacion001 ordenes = LiquidacionICRL.TraerLiquidacion001(IdFlujo); LiquidacionICRL.TipoTraerLiquidacion001Factura facturas = LiquidacionICRL.TraerLiquidacion001Factura(IdFlujo); double totalCotizado = 0.0; double totalFacturado = 0.0; List <LiquidacionICRL.TipoLiquidacion001> ordenesActualizadas = new List <LiquidacionICRL.TipoLiquidacion001>(); foreach (LiquidacionICRL.TipoLiquidacion001 orden in ordenes.Liquidaciones001) { if (orden.liquidacion && !string.IsNullOrWhiteSpace(orden.num_factura)) { totalCotizado += orden.preciobs; orden.id_estado = EstadoFlujo; ordenesActualizadas.Add(orden); } } foreach (LiquidacionICRL.TipoLiquidacion001Factura factura in facturas.Facturas) { if (factura.asociada) { totalFacturado += factura.monto; } } if (totalCotizado != 0 && totalCotizado == totalFacturado) { bool operacionExitosaFlujo = LiquidacionICRL.ActualizarFlujo(IdFlujo, EstadoFlujo); foreach (LiquidacionICRL.TipoLiquidacion001 ordenActualizada in ordenesActualizadas) { bool operacionExitosaOrden = LiquidacionICRL.ModificarLiquidacion001(ordenActualizada); if (!operacionExitosaOrden) { break; } } if (operacionExitosaFlujo) { LabelMensaje.Visible = true; LabelMensaje.Text = "LIQUIDACIÓN TOTAL realiza exitosamente!"; BloquearControlesLiquidacion(true); } else { LabelMensaje.Visible = true; LabelMensaje.Text = "Error en el proceso de liquidación total!"; } } else { LabelMensaje.Visible = true; LabelMensaje.Text = "Para proceder con la LIQUIDACIÓN TOTAL, los montos de TOTAL COTIZADO y TOTAL PAGADO deben ser iguales."; } }