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")); }