protected void RecuperarDatosFacturas() { int.TryParse(Request.QueryString["idflujo"], out IdFlujo); LiquidacionICRL.TipoTraerLiquidacion001Factura facturas = LiquidacionICRL.TraerLiquidacion001Factura(IdFlujo); bool operacionExitosa = facturas.correcto; DataSet facturasDataset = facturas.dsFacturas; if (operacionExitosa) { if (facturasDataset.Tables[0].Rows.Count > 0) { GridViewDatosFactura.DataSource = facturasDataset; GridViewDatosFactura.DataBind(); object tc = null; #region Ocultar la factura 0 (factura de ajuste) for (int i = 0; i < GridViewDatosFactura.Rows.Count; i++) { if (GridViewDatosFactura.Rows[i].FindControl("lblNumeroFactura") == null) { continue; } string numeroFactura = ((Label)GridViewDatosFactura.Rows[i].FindControl("lblNumeroFactura")).Text.Trim(); if (numeroFactura == "0") { GridViewDatosFactura.Rows[i].Visible = false; } else { tc = facturasDataset.Tables[0].Rows[i]["tipo_cambio"]; } } #endregion string valorTC = ""; if (tc != null) { valorTC = tc.ToString(); } txbTipoCambio.Text = valorTC.ToString(); } else { facturasDataset.Tables[0].Rows.Add(facturasDataset.Tables[0].NewRow()); GridViewDatosFactura.DataSource = facturasDataset; GridViewDatosFactura.DataBind(); } LabelMensaje.Visible = false; } else { LabelMensaje.Visible = true; LabelMensaje.Text = "Error en la recuperación de los datos facturas!"; } }
private void ActualizarAjusteMenor(string monto) { LiquidacionICRL.TipoTraerLiquidacion001Factura facturas = LiquidacionICRL.TraerLiquidacion001Factura(IdFlujo); LiquidacionICRL.TipoLiquidacion001Factura registroAjusteMenor = facturas.Facturas.Find(x => x.numero_factura == 0); double monto_ = Convert.ToDouble(monto); if (registroAjusteMenor == null) {//Se crea el registro de AJUSTE MENOR registroAjusteMenor = new LiquidacionICRL.TipoLiquidacion001Factura(); registroAjusteMenor.id_flujo = IdFlujo; registroAjusteMenor.monto = monto_; registroAjusteMenor.observaciones = "(ajuste menor)"; registroAjusteMenor.asociada = true; LiquidacionICRL.RegistrarLiquidacion001Factura(registroAjusteMenor); } else {//Se actualiza el registro de AJUSTE MENOR registroAjusteMenor.monto = monto_; LiquidacionICRL.ActualizarLiquidacion001Factura(registroAjusteMenor); } }
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."; } }