示例#1
0
        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);
                }
            }
        }
示例#2
0
        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!";
            }
        }
示例#3
0
        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.";
            }
        }