示例#1
0
        private void carga_saldos(int ln_modo1)
        {
            if (ln_modo1 == 1)
            {
                // borra todas las filas que puedan existir antes de volver a cargarlas desde el dataview original de saldos ///
                saldos_formas_pagos.Rows.Clear();
            }

            // llena las filas del datatable de los saldos, si no se han cargado //
            if (saldos_formas_pagos.Rows.Count <= 0 || ln_modo1 == 1)
            {
                switch (ln_modo)
                {
                case 1:      // Modo INSERTAR
                    // carga datos al DATATABLE de saldos desde la VISTA de saldos pendientes //
                    foreach (ViewRecord item_vsaldos_formas_pagos in vsaldos_formas_pagos)
                    {
                        IEnumerable <Fundraising_PTDM.FUNDRAISING_PT.Depositos_Bancarios_Det> depaux  = depositos_bancarios_det.Where <Fundraising_PTDM.FUNDRAISING_PT.Depositos_Bancarios_Det>(det_dep => (det_dep.deposito_bancario.status.Equals(1) | det_dep.deposito_bancario.status.Equals(4)) & det_dep.forma_pago.oid.Equals((Guid)item_vsaldos_formas_pagos["oid_forma_pago"]) & det_dep.recaudador.oid.Equals((Guid)item_vsaldos_formas_pagos["oid_recaudador"]));
                        IEnumerable <Fundraising_PTDM.FUNDRAISING_PT.Depositos_Bancarios_Det> depaux1 = new DevExpress.Xpo.XPCollection <Fundraising_PTDM.FUNDRAISING_PT.Depositos_Bancarios_Det>(DevExpress.Xpo.XpoDefault.Session).Where <Fundraising_PTDM.FUNDRAISING_PT.Depositos_Bancarios_Det>(det_dep1 => (det_dep1.deposito_bancario.status.Equals(1) | det_dep1.deposito_bancario.status.Equals(4)) & det_dep1.forma_pago.oid.Equals((Guid)item_vsaldos_formas_pagos["oid_forma_pago"]) & det_dep1.recaudador.oid.Equals((Guid)item_vsaldos_formas_pagos["oid_recaudador"]));
                        ln_monto_aux            = depaux.Sum(det_dep => det_dep.monto);
                        ln_monto_precargado_aux = depaux1.Sum(det_dep1 => det_dep1.monto);
                        //
                        saldos_formas_pagos.Rows.Add(
                            (Guid)item_vsaldos_formas_pagos["oid_forma_pago"],
                            (Guid)item_vsaldos_formas_pagos["oid_recaudador"],
                            (string)item_vsaldos_formas_pagos["cod_forma_pago"],
                            (string)item_vsaldos_formas_pagos["recaudador"],
                            (string)item_vsaldos_formas_pagos["forma_pago"],
                            ln_monto_precargado_aux,
                            ln_monto_aux,
                            //(ln_status_deposito == 0 ? 0 : ln_monto_aux),
                            (decimal)item_vsaldos_formas_pagos["saldo"]
                            );
                    }
                    break;

                case 2:      // Modo EDITAR
                    // carga datos al DATATABLE de saldos desde la VISTA de saldos pendientes //
                    foreach (ViewRecord item_vsaldos_formas_pagos in vsaldos_formas_pagos)
                    {
                        //IEnumerable<Fundraising_PTDM.FUNDRAISING_PT.Depositos_Bancarios_Det> depaux = depositos_bancarios_det.Where<Fundraising_PTDM.FUNDRAISING_PT.Depositos_Bancarios_Det>(det_dep => det_dep.forma_pago.oid.Equals((Guid)item_vsaldos_formas_pagos["oid_forma_pago"]) & det_dep.recaudador.oid.Equals((Guid)item_vsaldos_formas_pagos["oid_recaudador"]));
                        IEnumerable <Fundraising_PTDM.FUNDRAISING_PT.Depositos_Bancarios_Det> depaux  = depositos_bancarios_det.Where <Fundraising_PTDM.FUNDRAISING_PT.Depositos_Bancarios_Det>(det_dep => (det_dep.deposito_bancario.status.Equals(1) | det_dep.deposito_bancario.status.Equals(4)) & det_dep.forma_pago.oid.Equals((Guid)item_vsaldos_formas_pagos["oid_forma_pago"]) & det_dep.recaudador.oid.Equals((Guid)item_vsaldos_formas_pagos["oid_recaudador"]));
                        IEnumerable <Fundraising_PTDM.FUNDRAISING_PT.Depositos_Bancarios_Det> depaux1 = new DevExpress.Xpo.XPCollection <Fundraising_PTDM.FUNDRAISING_PT.Depositos_Bancarios_Det>(DevExpress.Xpo.XpoDefault.Session).Where <Fundraising_PTDM.FUNDRAISING_PT.Depositos_Bancarios_Det>(det_dep1 => (det_dep1.deposito_bancario.status.Equals(1) | det_dep1.deposito_bancario.status.Equals(4)) & det_dep1.forma_pago.oid.Equals((Guid)item_vsaldos_formas_pagos["oid_forma_pago"]) & det_dep1.recaudador.oid.Equals((Guid)item_vsaldos_formas_pagos["oid_recaudador"]));
                        ln_monto_aux            = depaux.Sum(det_dep => det_dep.monto);
                        ln_monto_precargado_aux = depaux1.Sum(det_dep1 => det_dep1.monto);
                        ln_monto_precargado_aux = ln_monto_precargado_aux - ln_monto_aux;
                        //
                        saldos_formas_pagos.Rows.Add(
                            (Guid)item_vsaldos_formas_pagos["oid_forma_pago"],
                            (Guid)item_vsaldos_formas_pagos["oid_recaudador"],
                            (string)item_vsaldos_formas_pagos["cod_forma_pago"],
                            (string)item_vsaldos_formas_pagos["recaudador"],
                            (string)item_vsaldos_formas_pagos["forma_pago"],
                            ln_monto_precargado_aux,
                            ln_monto_aux,
                            //(ln_status_deposito == 0 ? 0 : ln_monto_aux),
                            (decimal)item_vsaldos_formas_pagos["saldo"]
                            );
                    }
                    break;

                default:      // Navegando Consultando
                    // carga datos al DATATABLE de saldos desde el COLLECTION del detalle del deposito //
                    foreach (var item_depositos_bancarios_det in depositos_bancarios_det)
                    {
                        saldos_formas_pagos.Rows.Add(
                            item_depositos_bancarios_det.forma_pago.oid,
                            item_depositos_bancarios_det.recaudador.oid,
                            item_depositos_bancarios_det.forma_pago.codigo,
                            item_depositos_bancarios_det.recaudador.usuario,
                            item_depositos_bancarios_det.forma_pago.nombre,
                            item_depositos_bancarios_det.monto_precargado,
                            item_depositos_bancarios_det.monto,
                            item_depositos_bancarios_det.saldo
                            );
                    }
                    break;
                } // Final del switch (ln_modo) //
            }     // Final del if (saldos_formas_pagos.Rows.Count <= 0 || ln_modo1 == 1) //
            //
            if (ln_modo1 == 1)
            {
                ln_total_monto_precargado_ini = saldos_formas_pagos.AsEnumerable().Sum((tot_monto_precargado_ini) => tot_monto_precargado_ini.Field <decimal>("monto_precargado"));
                ln_total_monto_ini            = saldos_formas_pagos.AsEnumerable().Sum((tot_monto_ini) => tot_monto_ini.Field <decimal>("monto"));
                ln_total_saldo_ini            = saldos_formas_pagos.AsEnumerable().Sum((tot_saldo_ini) => tot_saldo_ini.Field <decimal>("saldo"));
            }
            ln_total_monto_precargado = saldos_formas_pagos.AsEnumerable().Sum((tot_monto_precargado_ini) => tot_monto_precargado_ini.Field <decimal>("monto_precargado"));
            ln_total_monto            = saldos_formas_pagos.AsEnumerable().Sum((tot_monto_ini) => tot_monto_ini.Field <decimal>("monto"));
            ln_total_saldo            = saldos_formas_pagos.AsEnumerable().Sum((tot_saldo_ini) => tot_saldo_ini.Field <decimal>("saldo"));
        }