public static void PrintReportCuentaCorriente(mz.erp.businessrules.comprobantes.CuentaCorriente _ctaCte, Form parent, string _process, bool soloPendientes, bool SoloFacturas, bool SoloNotasDeCreditos) { FrmPreviewReport frmpr = new FrmPreviewReport(); string ComprobantesCtaCte = Variables.GetValueString("Momentos." + _process + ".Comprobantes"); ArrayList FacturasList = new ArrayList(); ArrayList NotasDeCreditosList = new ArrayList(); if (SoloFacturas) { string Facturas = Variables.GetValueString("Comprobantes.TiposDeComprobantes.Facturas"); FacturasList = mz.erp.systemframework.Util.Parse(Facturas, ","); string FacturasDV = Variables.GetValueString("Comprobantes.TiposDeComprobantes.Facturas DV"); FacturasList.AddRange(mz.erp.systemframework.Util.Parse(FacturasDV, ",")); } if (SoloNotasDeCreditos) { string NotasDeCreditos = Variables.GetValueString("Comprobantes.TiposDeComprobantes.Notas de Crédito"); NotasDeCreditosList = mz.erp.systemframework.Util.Parse(NotasDeCreditos, ","); string NotasDeCreditosDV = Variables.GetValueString("Comprobantes.TiposDeComprobantes.Notas de Crédito DV"); FacturasList.AddRange(mz.erp.systemframework.Util.Parse(NotasDeCreditosDV, ",")); } //string ComprobantesCtaCte = Variables.GetValueString("Cuentas.CuentaCorriente.Comprobantes"); /* * table = mz.erp.businessrules.reportes.StatementSQLFactory.GetSQLForCuentaCorrienteReport(_ctaCte.FechaDesde, _ctaCte.FechaHasta, _ctaCte.IdCuenta, ComprobantesCtaCte, _ctaCte.OrderBy); * frmpr.ShowReport(table, "ReportCuentaCorriente.RPX", parent, new object []{}); */ ArrayList aux = new ArrayList(); foreach (DetalleCuentaCorriente dcc in _ctaCte.Detalle) { bool cond1 = !SoloNotasDeCreditos && !SoloFacturas; bool cond2 = SoloFacturas && FacturasList.Contains(dcc.IdTipoDeComprobante); bool cond3 = SoloNotasDeCreditos && NotasDeCreditosList.Contains(dcc.IdTipoDeComprobante); if (cond1 || cond2 || cond3) { DetalleCuentaCorrienteView dccw = new DetalleCuentaCorrienteView(dcc, _ctaCte.SaldoAnterior, _ctaCte.SaldoPosterior, soloPendientes, _ctaCte.Cuenta, _ctaCte.FechaDesde, _ctaCte.FechaHasta); aux.Add(dccw); } } DataTable table = (new mz.erp.commontypes.DataTableConverter()).GetDataTable(aux); FrmPreviewReport frmpr1 = new FrmPreviewReport(); frmpr1.ShowReport(table, "ReportCuentaCorriente.RPX", parent, new object [] {}); }
public static ComprobanteDePago GetComprobanteDePago(string IdComprobante, decimal total, decimal Pago, CuentaCorriente ctaCte) { ComprobanteDePago cdp = new ComprobanteDePago(); cdp.IdComprobante = IdComprobante; cdp.FechaComprobante = mz.erp.businessrules.Sistema.DateTime.Now; cdp.DatasetComprobante = new tsa_ComprobantesExDataset(); cdp.AplicacionesDePagos = Factory.getAplicacionesDePagos(cdp); cdp.CondicionDeVenta = new CondicionDeVenta("NEW", cdp, Variables.GetValueString("Comprobantes.FormaDePago.Contado")); cdp.Total = total; cdp.TotalPago = Pago; cdp.CuentaCorriente = ctaCte; cdp.Valores = Factory.GetValores(cdp.DatasetComprobante); return(cdp); }
public static ComprobanteDePago GetComprobanteDePago(string IdComprobante, decimal total, decimal Pago, CuentaCorriente ctaCte, string IdCondicionDeVenta) { ComprobanteDePago cdp = new ComprobanteDePago(); cdp.IdComprobante = IdComprobante; cdp.CuentaCorriente = ctaCte; cdp.FechaComprobante = mz.erp.businessrules.Sistema.DateTime.Now; cdp.DatasetComprobante = new tsa_ComprobantesExDataset(); cdp.AplicacionesDePagos = Factory.getAplicacionesDePagos(cdp); cdp.CondicionDeVenta = new CondicionDeVenta("NEW", cdp, IdCondicionDeVenta); cdp.Total = total; cdp.TotalPago = Pago; cdp.CompDetalleDePagos = Factory.GetComprobantesDetalleDePagos(cdp); string IdMoneda = Variables.GetValueString("Contabilidad.MonedaReferencia"); cdp.IdMonedaCierre = IdMoneda; cdp.Valores = Factory.GetValores(cdp, cdp.DatasetComprobante); return(cdp); }
//Esta sobrecarga recibe como parametro el IdComprobante del comprobante //que esta imputado o no con un comprobante de pago //Esta sobrecarga debe recuperar primero el comprobante de pago public static ComprobanteDePago GetComprobanteDePago(string IdComprobanteDeVenta, string IdCondicionDeVenta) { ComprobanteDePago cdp; CuentaCorriente ctacte = Factory.GetCuentaCorriente(); string IdComprobanteDePago = ""; tsa_ComprobanteValoresVarAuxDataset.tsa_ComprobanteValoresVarAuxRow rowVarAux = mz.erp.businessrules.tsa_ComprobanteValoresVarAux.GetByPk(IdComprobanteDeVenta, "11"); if (rowVarAux != null) { IdComprobanteDePago = rowVarAux.Valor; } //mz.erp.businessrules.tsa_ComprobanteValoresVarAux.GetByPk(IdComprobanteDeVenta,"11").Valor; } //se chequea que exista un comprobante de pago asociado, puesto que puede que no se haya generado comprobante de pago //No se generan comprobantes de pagos si no se han ingresado valores if (IdComprobanteDePago != null && !IdComprobanteDePago.Equals(string.Empty)) { System.Data.DataRow rowComprobanteDePago = mz.erp.businessrules.tsa_Comprobantes.GetByPk(IdComprobanteDePago); System.Data.DataRow rowDetalleDeudaComprobanteDePago = mz.erp.businessrules.tsa_ComprobanteDetalleDeuda.GetByPk(IdComprobanteDePago, 1); System.Data.DataSet dataDetalleDeudaComprobanteDeVenta = mz.erp.businessrules.tsa_ComprobanteDetalleDeuda.GetList(IdComprobanteDeVenta, null, null); if (ComprobantesRules.Comprobantes_CondicionDeVenta_Permite_Imputar(IdCondicionDeVenta)) { //DetalleCuentaCorriente dccComprobanteDePago = Factory.GetDetalleCuentaCorriente(rowDetalleDeudaComprobanteDePago); //DetalleCuentaCorriente dccComprobanteDeVenta = Factory.GetDetalleCuentaCorriente(rowDetalleDeudaComprobanteDeVenta); //ctacte.Detalle.Add(dccComprobanteDePago); //ctacte.Detalle.Add(dccComprobanteDeVenta); foreach (System.Data.DataRow rowDetalleDeudaComprobanteDeVenta in dataDetalleDeudaComprobanteDeVenta.Tables[0].Rows) { DetalleCuentaCorriente dccComprobanteDeVenta = Factory.GetDetalleCuentaCorriente(rowDetalleDeudaComprobanteDeVenta); ctacte.Detalle.Add(dccComprobanteDeVenta); } decimal total = (decimal)rowComprobanteDePago["Total"]; decimal pago = total - (decimal)rowDetalleDeudaComprobanteDePago["Saldo"]; cdp = Factory.GetComprobanteDePago(IdComprobanteDePago, total, pago, ctacte, IdCondicionDeVenta); } else { //decimal total = (decimal) rowComprobanteDePago["Total"]; //decimal pago = total - (decimal) rowDetalleDeudaComprobanteDePago["Saldo"]; cdp = Factory.GetComprobanteDePago(IdComprobanteDePago, 0, 0, ctacte, IdCondicionDeVenta); cdp.Total = (decimal)rowComprobanteDePago["Total"]; cdp.Saldo = (decimal)rowDetalleDeudaComprobanteDePago["Saldo"]; cdp.TotalPago = cdp.Total - cdp.Saldo; } cdp.Anular = true; cdp.TipoComprobanteDestino = (string)rowComprobanteDePago["IdTipoDeComprobante"]; } else { cdp = Factory.GetComprobanteDePago(); } return(cdp); }
public void Update(CuentaCorriente ctaCte) { ComprobanteDePago cdp = (ComprobanteDePago)this.Comprobante; bool aplicacionDePago = false; tsa_ComprobantesExDataset data = cdp.DatasetComprobante; foreach (DetalleCuentaCorriente dcc in ctaCte.Detalle) { if (dcc.Pago > 0) { //Pues es un comprobante de Pago que tiene Pago > 0 //Esto implica que estamos ante una Aplicacion de Pago de un comprobante de pago //en la Cuenta Corriente if (dcc.Signo == 1) { aplicacionDePago = true; } //Si dcc.Signo == 1 significa que es un recibo que ya esta en la cuenta corriente y que a su //vez tiene pago >0, osea que estamos ante una situacion de Aplicacion de Pago string IdComprobate = dcc.IdComprobante; short Cuota = (short)dcc.Cuota; /* * if(cdp.ComprobanteDeVenta != null) * { * System.Data.DataRow row = cdp.ComprobanteDeVenta.DatasetComprobante.tsa_ComprobanteDetalleDeuda.FindByIdComprobanteCuota(IdComprobate, Cuota); * int signo =Convert.ToInt32( tsy_TiposDeComprobantes.GetByPk((string) row["IdTipoDeComprobante"]).signo); * row["saldo"] = (decimal )row["saldo"] * signo; * row["Saldo"] =(decimal) row["Saldo"] - dcc.Pago; * row["Saldo"] = (decimal) row["Saldo"] * signo; * //data.tsa_ComprobanteDetalleDeuda.ImportRow(row); * //data.tsa_ComprobanteDetalleDeuda.LoadDataRow(row.ItemArray,true); * * * } * * else * { */ try { System.Data.DataRow row = data.tsa_ComprobanteDetalleDeuda.FindByIdComprobanteCuota(IdComprobate, Cuota); int signo = Convert.ToInt32(tsy_TiposDeComprobantes.GetByPk((string)row["IdTipoDeComprobante"]).signo); row["saldo"] = (decimal )row["saldo"] * signo; row["Saldo"] = (decimal)row["Saldo"] - dcc.Pago; row["Saldo"] = (decimal)row["Saldo"] * signo; } catch (Exception e) { tsa_ComprobanteDetalleDeudaDataset.tsa_ComprobanteDetalleDeudaRow row = mz.erp.businessrules.tsa_ComprobanteDetalleDeuda.GetByPk(IdComprobate, Cuota); if (row != null) { int signo = Convert.ToInt32(tsy_TiposDeComprobantes.GetByPk((string)row["IdTipoDeComprobante"]).signo); row["saldo"] = (decimal )row["saldo"] * signo; row["Saldo"] = (decimal)row["Saldo"] - dcc.Pago; row["Saldo"] = (decimal)row["Saldo"] * signo; } // pues si es un recibo ya fue agregado en la tabla de Comprobantes // Para cualquier otro comprobante que tenga signo == -1 y que tenga Pago > 0 hay que agreagrlo a la tabla // tsa_Comprobantes para que no de error de Foreing Key cuando intenetmos guardar los registros // en tsa_ComprobanteDetalleDeuda /* if (signo == -1) * { * System.Data.DataRow rowComprobanteCabecera = mz.erp.businessrules.tsa_Comprobantes.GetByPk((string ) row["IdComprobante"]); * data.tsa_Comprobantes.ImportRow((System.Data.DataRow)rowComprobanteCabecera); * }*/ data.tsa_ComprobanteDetalleDeuda.ImportRow((System.Data.DataRow)row); } //} } } //En este caso el recibo, se esta creando, por ende no esta en la cuenta corriente, osea que //hay que actualizar el detalle de deuda de este recibo que ya fue creado if (!aplicacionDePago) { System.Data.DataRow row = data.tsa_ComprobanteDetalleDeuda.FindByIdComprobanteCuota(cdp.IdComprobante, 1); int signo = Convert.ToInt32(tsy_TiposDeComprobantes.GetByPk((string)row["IdTipoDeComprobante"]).signo); row["Saldo"] = cdp.Saldo * cdp.Signo; } }
/// <summary> ///Fuerza la escritura de los datos en memoria al dataset del comprobante para poder ser enviados a almacenar en el RDBM /// </summary> /// public void CommitWF() { ComprobanteDePago cdp = this.Parent; tsa_ComprobantesExDataset data = cdp.DatasetComprobante; CuentaCorriente cc = this._parent.CuentaCorriente; bool masNegativos = cc.CantPagosNegativos >= cc.CantPagosPositivos; ArrayList negativos = cc.GetDetallePagos(-1); ArrayList positivos = cc.GetDetallePagos(1); DetalleCuentaCorriente dccSingle = null; if (masNegativos) { #region Inserta Comporbantes con Signo Negativo dccSingle = (DetalleCuentaCorriente)positivos[0]; DataRow rowComp = data.tsa_Comprobantes.FindByIdComprobante(dccSingle.IdComprobante); if (rowComp == null) { rowComp = mz.erp.businessrules.tsa_Comprobantes.GetByPk(dccSingle.IdComprobante); } data.tsa_Comprobantes.ImportRow(rowComp); foreach (DetalleCuentaCorriente dcc in negativos) { tsa_ComprobantesExDataset.tsa_AplicacionPagosRow row = data.tsa_AplicacionPagos.Newtsa_AplicacionPagosRow(); row.IdComprobanteOrigen = dcc.IdComprobante; row.CuotaOrigen = (short)dcc.Cuota; row.IdComprobanteDestino = dccSingle.IdComprobante; row.IdTipoComprobanteOrigen = dcc.IdTipoDeComprobante; row.Importe = dcc.Pago; row.IdTipoDeComprobanteDestino = dccSingle.IdTipoDeComprobante; row.CuotaDestino = 1; row.IdEmpresa = Security.IdEmpresa; row.IdSucursal = Security.IdSucursal; row.FechaCreacion = mz.erp.businessrules.Sistema.DateTime.Now; row.IdConexionCreacion = Security.IdConexion; row.IdConexionUltimaModificacion = Security.IdConexion; row.IdReservado = 0; row.RowId = Guid.Empty; System.Data.DataRow rowComprobanteImputado = data.tsa_Comprobantes.FindByIdComprobante(dcc.IdComprobante); if (rowComprobanteImputado == null) { rowComprobanteImputado = mz.erp.businessrules.tsa_Comprobantes.GetByPk(dcc.IdComprobante); } data.tsa_Comprobantes.ImportRow(rowComprobanteImputado); data.tsa_AplicacionPagos.Addtsa_AplicacionPagosRow(row); try { System.Data.DataRow row1 = data.tsa_ComprobanteDetalleDeuda.FindByIdComprobanteCuota(dcc.IdComprobante, Convert.ToInt16(dcc.Cuota)); int signo = Convert.ToInt32(tsy_TiposDeComprobantes.GetByPk((string)row1["IdTipoDeComprobante"]).signo); row1["saldo"] = (decimal )row1["saldo"] * signo; row1["Saldo"] = (decimal)row1["Saldo"] - dcc.Pago; row1["Saldo"] = (decimal)row1["Saldo"] * signo; } catch (Exception e) { tsa_ComprobanteDetalleDeudaDataset.tsa_ComprobanteDetalleDeudaRow row2 = mz.erp.businessrules.tsa_ComprobanteDetalleDeuda.GetByPk(dcc.IdComprobante, Convert.ToInt16(dcc.Cuota)); if (row2 != null) { int signo = Convert.ToInt32(tsy_TiposDeComprobantes.GetByPk((string)row2["IdTipoDeComprobante"]).signo); row2["saldo"] = (decimal )row2["saldo"] * signo; row2["Saldo"] = (decimal)row2["Saldo"] - dcc.Pago; row2["Saldo"] = (decimal)row2["Saldo"] * signo; data.tsa_ComprobanteDetalleDeuda.ImportRow((System.Data.DataRow)row2); } } } try { System.Data.DataRow row3 = data.tsa_ComprobanteDetalleDeuda.FindByIdComprobanteCuota(dccSingle.IdComprobante, Convert.ToInt16(dccSingle.Cuota)); int signo = Convert.ToInt32(tsy_TiposDeComprobantes.GetByPk((string)row3["IdTipoDeComprobante"]).signo); row3["saldo"] = (decimal )row3["saldo"] * signo; row3["Saldo"] = (decimal)row3["Saldo"] - dccSingle.Pago; row3["Saldo"] = (decimal)row3["Saldo"] * signo; } catch (Exception e) { tsa_ComprobanteDetalleDeudaDataset.tsa_ComprobanteDetalleDeudaRow row4 = mz.erp.businessrules.tsa_ComprobanteDetalleDeuda.GetByPk(dccSingle.IdComprobante, Convert.ToInt16(dccSingle.Cuota)); if (row4 != null) { int signo = Convert.ToInt32(tsy_TiposDeComprobantes.GetByPk((string)row4["IdTipoDeComprobante"]).signo); row4["saldo"] = (decimal )row4["saldo"] * signo; row4["Saldo"] = (decimal)row4["Saldo"] - dccSingle.Pago; row4["Saldo"] = (decimal)row4["Saldo"] * signo; data.tsa_ComprobanteDetalleDeuda.ImportRow((System.Data.DataRow)row4); } } #endregion } else { #region Inserta Comporbantes con Signo Positivos dccSingle = (DetalleCuentaCorriente)negativos[0]; DataRow rowComp = data.tsa_Comprobantes.FindByIdComprobante(dccSingle.IdComprobante); if (rowComp == null) { rowComp = mz.erp.businessrules.tsa_Comprobantes.GetByPk(dccSingle.IdComprobante); } data.tsa_Comprobantes.ImportRow(rowComp); foreach (DetalleCuentaCorriente dcc in positivos) { tsa_ComprobantesExDataset.tsa_AplicacionPagosRow row = data.tsa_AplicacionPagos.Newtsa_AplicacionPagosRow(); row.IdComprobanteOrigen = dccSingle.IdComprobante; row.CuotaOrigen = 1; row.IdComprobanteDestino = dcc.IdComprobante; row.IdTipoComprobanteOrigen = dccSingle.IdTipoDeComprobante; row.Importe = dcc.Pago; row.IdTipoDeComprobanteDestino = dcc.IdTipoDeComprobante; row.CuotaDestino = (short)dcc.Cuota; row.IdEmpresa = Security.IdEmpresa; row.IdSucursal = Security.IdSucursal; row.FechaCreacion = mz.erp.businessrules.Sistema.DateTime.Now; row.IdConexionCreacion = Security.IdConexion; row.IdConexionUltimaModificacion = Security.IdConexion; row.IdReservado = 0; row.RowId = Guid.Empty; System.Data.DataRow rowComprobanteImputado = data.tsa_Comprobantes.FindByIdComprobante(dcc.IdComprobante); if (rowComprobanteImputado == null) { rowComprobanteImputado = mz.erp.businessrules.tsa_Comprobantes.GetByPk(dcc.IdComprobante); } data.tsa_Comprobantes.ImportRow(rowComprobanteImputado); data.tsa_AplicacionPagos.Addtsa_AplicacionPagosRow(row); try { System.Data.DataRow row1 = data.tsa_ComprobanteDetalleDeuda.FindByIdComprobanteCuota(dcc.IdComprobante, Convert.ToInt16(dcc.Cuota)); int signo = Convert.ToInt32(tsy_TiposDeComprobantes.GetByPk((string)row1["IdTipoDeComprobante"]).signo); row1["saldo"] = (decimal )row1["saldo"] * signo; row1["Saldo"] = (decimal)row1["Saldo"] - dcc.Pago; row1["Saldo"] = (decimal)row1["Saldo"] * signo; } catch (Exception e) { tsa_ComprobanteDetalleDeudaDataset.tsa_ComprobanteDetalleDeudaRow row2 = mz.erp.businessrules.tsa_ComprobanteDetalleDeuda.GetByPk(dcc.IdComprobante, Convert.ToInt16(dcc.Cuota)); if (row2 != null) { int signo = Convert.ToInt32(tsy_TiposDeComprobantes.GetByPk((string)row2["IdTipoDeComprobante"]).signo); row2["saldo"] = (decimal )row2["saldo"] * signo; row2["Saldo"] = (decimal)row2["Saldo"] - dcc.Pago; row2["Saldo"] = (decimal)row2["Saldo"] * signo; data.tsa_ComprobanteDetalleDeuda.ImportRow((System.Data.DataRow)row2); } } } try { System.Data.DataRow row3 = data.tsa_ComprobanteDetalleDeuda.FindByIdComprobanteCuota(dccSingle.IdComprobante, Convert.ToInt16(dccSingle.Cuota)); int signo = Convert.ToInt32(tsy_TiposDeComprobantes.GetByPk((string)row3["IdTipoDeComprobante"]).signo); row3["saldo"] = (decimal )row3["saldo"] * signo; row3["Saldo"] = (decimal)row3["Saldo"] - dccSingle.Pago; row3["Saldo"] = (decimal)row3["Saldo"] * signo; } catch (Exception e) { tsa_ComprobanteDetalleDeudaDataset.tsa_ComprobanteDetalleDeudaRow row4 = mz.erp.businessrules.tsa_ComprobanteDetalleDeuda.GetByPk(dccSingle.IdComprobante, Convert.ToInt16(dccSingle.Cuota)); if (row4 != null) { int signo = Convert.ToInt32(tsy_TiposDeComprobantes.GetByPk((string)row4["IdTipoDeComprobante"]).signo); row4["saldo"] = (decimal )row4["saldo"] * signo; row4["Saldo"] = (decimal)row4["Saldo"] - dccSingle.Pago; row4["Saldo"] = (decimal)row4["Saldo"] * signo; data.tsa_ComprobanteDetalleDeuda.ImportRow((System.Data.DataRow)row4); } } #endregion } }
public ArrayList GetAsociaciones(CuentaCorriente cc, string ProcessName) { ArrayList resul = new ArrayList(); tsa_AplicacionPagosDataset data = new tsa_AplicacionPagosDataset(); CuentaCorriente ccClone = Factory.GetCuentaCorriente(cc.IdCuenta, DateTime.MinValue, DateTime.MaxValue, null); ArrayList dccs = ccClone.GetDetalleCuentaCorriente(ProcessName); //Es un comprobante origen en la tabla tsa_AplicacionesDePago (Factura, Nota de Debito, etc...) if (this.Signo == -1) { data = mz.erp.businessrules.tsa_AplicacionPagos.GetList(this.IdComprobante, Convert.ToInt16(this.Cuota), decimal.MinValue, null, null, short.MinValue); //Busco lo s recibos asociados a la factura foreach (DetalleCuentaCorriente dcc in dccs) { foreach (tsa_AplicacionPagosDataset.tsa_AplicacionPagosRow row in data.tsa_AplicacionPagos.Rows) { //Los recibos estan en la columna IdComprobanteDestino en la tabla tsa_AplicacionPagos if (dcc.IdComprobante.Equals(Convert.ToString(row["IdComprobanteDestino"])) && (dcc.Cuota == ((short)row["CuotaDestino"]))) { DetalleCuentaCorriente dccClone = (DetalleCuentaCorriente)dcc.MemberwiseClone(); //truco para engañar al setter de Pago decimal saldo = dccClone.Saldo; dccClone.Saldo = row.Importe * dccClone.Signo; dccClone.Pago = row.Importe; dccClone.Saldo = saldo; dccClone.FechaPago = row.FechaCreacion; resul.Add(dccClone); } } } } //Es un comprobante destino en la tabla tsa_AplicacionesDePago (Recibos, Notas de Creditos, etc...) else { data = mz.erp.businessrules.tsa_AplicacionPagos.GetList(null, short.MinValue, decimal.MinValue, this.IdTipoDeComprobante, this.IdComprobante, Convert.ToInt16(this.Cuota)); //Busco las facturas asociadas al recibo //Las facturas estan en la columna IdComprobanteOrigen en la tabla tsa_AplicacionPagos foreach (DetalleCuentaCorriente dcc in dccs) { foreach (tsa_AplicacionPagosDataset.tsa_AplicacionPagosRow row in data.tsa_AplicacionPagos.Rows) { if (dcc.IdComprobante.Equals((string)row["IdComprobanteOrigen"]) && (dcc.Cuota == ((short)row["CuotaOrigen"]))) { DetalleCuentaCorriente dccClone = (DetalleCuentaCorriente)dcc.MemberwiseClone(); //truco para engañar al setter de Pago decimal saldo = dccClone.Saldo; dccClone.Saldo = row.Importe * dccClone.Signo; dccClone.Pago = row.Importe; dccClone.Saldo = saldo; dccClone.FechaPago = row.FechaCreacion; resul.Add(dccClone); } } } } return(resul); }