public static tsa_AplicacionPagosDataset.tsa_AplicacionPagosRow GetByPk(string IdComprobanteOrigen, short CuotaOrigen, string IdComprobanteDestino) { tsa_AplicacionPagosDataset data = new tsa_AplicacionPagosDataset(); SqlCommand cmd = new SqlCommand("Pr_tsa_AplicacionPagos_GetByPk", dbhelper.Connection.GetConnection()); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(new SqlParameter("@IdComprobanteOrigen", SqlDbType.VarChar)); cmd.Parameters["@IdComprobanteOrigen"].Value = IdComprobanteOrigen; cmd.Parameters.Add(new SqlParameter("@CuotaOrigen", SqlDbType.SmallInt)); cmd.Parameters["@CuotaOrigen"].Value = CuotaOrigen; cmd.Parameters.Add(new SqlParameter("@IdComprobanteDestino", SqlDbType.VarChar)); cmd.Parameters["@IdComprobanteDestino"].Value = IdComprobanteDestino; SqlDataAdapter adapter = new SqlDataAdapter(cmd); adapter.TableMappings.Add("Table", "tsa_AplicacionPagos"); adapter.Fill(data); if (data.tsa_AplicacionPagos.Rows.Count == 1) { return((tsa_AplicacionPagosDataset.tsa_AplicacionPagosRow)data.tsa_AplicacionPagos.Rows[0]); } return(null); }
public static void Update(tsa_AplicacionPagosDataset dataAplicacionPago, tsa_ComprobanteDetalleDeudaDataset dataDetalleDeuda) { SqlConnection cnx = dbhelper.Connection.GetConnection();; cnx.Open(); SqlTransaction trx = cnx.BeginTransaction(IsolationLevel.Serializable); try { string IdSentenciaReplicacion = "-1"; mz.erp.dataaccess.tsa_ComprobanteDetalleDeuda.Update(dataDetalleDeuda.tsa_ComprobanteDetalleDeuda, trx); mz.erp.dataaccess.tsa_AplicacionPagos.Update(dataAplicacionPago.tsa_AplicacionPagos, trx); trx.Commit(); } catch { trx.Rollback(); } finally { cnx.Close(); } }
/// <summary> /// Envia los cambios del tsa_AplicacionPagosDataset a la base de datos. /// </summary> public static void Update(tsa_AplicacionPagosDataset dataSet) { ApplicationAssert.Check(dataSet != null, "El argumento dataSet no debe ser nulo.", ApplicationAssert.LineNumber); ApplicationAssert.Check(dataSet.tsa_AplicacionPagos.Rows.Count > 0, "La tabla dataSet.tsa_AplicacionPagosDataTable debe poseer alguna fila.", ApplicationAssert.LineNumber); mz.erp.dataaccess.tsa_AplicacionPagos.Update(dataSet); }
public static DataSet GetList([SearchParameterInfo("IdComprobanteOrigen")] string IdComprobanteOrigen, [SearchParameterInfo("CuotaOrigen")] short CuotaOrigen, [SearchParameterInfo("Importe")] decimal Importe, [SearchParameterInfo("IdTipoDeComprobanteDestino")] string IdTipoDeComprobanteDestino, [SearchParameterInfo("IdComprobanteDestino")] string IdComprobanteDestino, [SearchParameterInfo("CuotaDestino")] short CuotaDestino ) { tsa_AplicacionPagosDataset data = mz.erp.businessrules.tsa_AplicacionPagos.GetList(IdComprobanteOrigen, CuotaOrigen, Importe, IdTipoDeComprobanteDestino, IdComprobanteDestino, CuotaDestino); return(( DataSet )data); }
public static tsa_AplicacionPagosDataset GetList(string IdComprobanteOrigen, short CuotaOrigen, decimal Importe, string IdTipoDeComprobanteDestino, string IdComprobanteDestino, short CuotaDestino) { tsa_AplicacionPagosDataset data = new tsa_AplicacionPagosDataset(); SqlDataAdapter adapter = new SqlDataAdapter(); adapter.TableMappings.Add("Table", "tsa_AplicacionPagos"); SqlCommand cmd = new SqlCommand("Pr_tsa_AplicacionPagos_Search", dbhelper.Connection.GetConnection()); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(new SqlParameter("@IdComprobanteOrigen", SqlDbType.VarChar)); cmd.Parameters["@IdComprobanteOrigen"].Value = IdComprobanteOrigen; cmd.Parameters.Add(new SqlParameter("@CuotaOrigen", SqlDbType.SmallInt)); if (CuotaOrigen == short.MinValue) { cmd.Parameters["@CuotaOrigen"].Value = System.DBNull.Value; } else { cmd.Parameters["@CuotaOrigen"].Value = CuotaOrigen; } cmd.Parameters.Add(new SqlParameter("@Importe", SqlDbType.Decimal)); if (Importe == decimal.MinValue) { cmd.Parameters["@Importe"].Value = System.DBNull.Value; } else { cmd.Parameters["@Importe"].Value = Importe; } cmd.Parameters.Add(new SqlParameter("@IdTipoDeComprobanteDestino", SqlDbType.VarChar)); cmd.Parameters["@IdTipoDeComprobanteDestino"].Value = IdTipoDeComprobanteDestino; cmd.Parameters.Add(new SqlParameter("@IdComprobanteDestino", SqlDbType.VarChar)); cmd.Parameters["@IdComprobanteDestino"].Value = IdComprobanteDestino; cmd.Parameters.Add(new SqlParameter("@CuotaDestino", SqlDbType.SmallInt)); if (CuotaDestino == short.MinValue) { cmd.Parameters["@CuotaDestino"].Value = System.DBNull.Value; } else { cmd.Parameters["@CuotaDestino"].Value = CuotaDestino; } adapter.SelectCommand = cmd; adapter.Fill(data); return(data); }
public bool EstaAnulado(string process) { tsa_AplicacionPagosDataset dataAplicacionDePagos = new tsa_AplicacionPagosDataset(); //Es un recibo o una nota de credito, por ende hay que buscarlo por el campo IdComporbanteDestino // en la tabla tsa_AplicacionPagos string VarCompDeAnulacion = Variables.GetValueString(process, "Anular", "ComprobantesDeAnulacion"); ArrayList comprobantesDeAnulacion = mz.erp.systemframework.Util.Parse(VarCompDeAnulacion, ","); //ArrayList comprobantesDeAnulacion = mz.erp.systemframework.Util.Parse(Constantes.ComprobantesDeAnulacion,","); if (this.Signo == 1) { dataAplicacionDePagos = mz.erp.businessrules.tsa_AplicacionPagos.GetList(null, short.MinValue, decimal.MinValue, this.IdTipoDeComprobante, this.IdComprobante, Convert.ToInt16(this.Cuota)); if (dataAplicacionDePagos.tsa_AplicacionPagos.Rows.Count == 1) { System.Data.DataRow row = dataAplicacionDePagos.tsa_AplicacionPagos.Rows[0]; string IdTipoDeComprobante = (string)row["IdTipoComprobanteOrigen"]; return(comprobantesDeAnulacion.Contains(IdTipoDeComprobante)); } else { return(false); } } //Es una factura o una nota de debito, por ende hay que buscarlo por el campo IdComporbanteOrigen // en la tabla tsa_AplicacionPagos else { dataAplicacionDePagos = mz.erp.businessrules.tsa_AplicacionPagos.GetList(this.IdComprobante, Convert.ToInt16(this.Cuota), decimal.MinValue, null, null, short.MinValue); if (dataAplicacionDePagos.tsa_AplicacionPagos.Rows.Count == 1) { System.Data.DataRow row = dataAplicacionDePagos.tsa_AplicacionPagos.Rows[0]; string IdTipoDeComprobante = (string)row["IdTipoDeComprobanteDestino"]; return(comprobantesDeAnulacion.Contains(IdTipoDeComprobante)); } else { return(false); } } }
public static tsa_AplicacionPagosDataset GetList() { tsa_AplicacionPagosDataset data = new tsa_AplicacionPagosDataset(); return(( tsa_AplicacionPagosDataset )GetList(data)); }
public static void Update(tsa_AplicacionPagosDataset dataSet) { Update(dataSet.tsa_AplicacionPagos); }
public static void Update(tsa_AplicacionPagosDataset dataAplicacionPago, tsa_ComprobanteDetalleDeudaDataset dataDetalleDeuda) { mz.erp.dataaccess.tsa_CuentaCorriente.Update(dataAplicacionPago, dataDetalleDeuda); }
public static void Update(tsa_ComprobantesExDataset data, bool ActualizaNumeracion, ref string IdComprobante, tsa_AplicacionPagosDataset dataAplicacionDePagos, tsa_ComprobanteDetalleDeudaDataset dataDetalleDeuda, tsa_ComprobantesExDataset dataComprobanteCancelacion) { string IdVariable; if (ActualizaNumeracion) { IdVariable = UpdateNumero(data); } else { IdVariable = data.tsa_Comprobantes.Rows[0]["Numero"].ToString(); } SentenciasReplicacion replicacion = GenerateReplicaction(); mz.erp.dataaccess.tsa_ComprobantesEx.Update(data, IdVariable, ref IdComprobante, replicacion, dataAplicacionDePagos, dataDetalleDeuda, dataComprobanteCancelacion); }
public static void UpdateComprobanteDeVentaYComprobanteDePago(tsa_ComprobantesExDataset comprobanteDeVenta, tsa_ComprobantesExDataset comprobanteDePago, bool ActualizaNumeracionVenta, bool ActualizaNumeracionPago, ref string IdComprobanteDeVenta, ref string IdComprobanteDePago, tsa_AplicacionPagosDataset dataAplicacionDePagos, tsa_ComprobanteDetalleDeudaDataset dataDetalleDeuda, tsa_ComprobantesExDataset dataComprobanteCancelacion) { string IdVariableVenta; string IdVariablePago; if (ActualizaNumeracionVenta) { IdVariableVenta = UpdateNumero(comprobanteDeVenta); } else { IdVariableVenta = comprobanteDeVenta.tsa_Comprobantes.Rows[0]["Numero"].ToString(); } if (ActualizaNumeracionPago) { IdVariablePago = UpdateNumero(comprobanteDePago); } else { IdVariablePago = comprobanteDePago.tsa_Comprobantes.Rows[0]["Numero"].ToString(); } SentenciasReplicacion replicacion = GenerateReplicaction(); string ComprobantesDeVentas = Variables.GetValueString("Comprobantes.ComprobantesDeVenta"); mz.erp.dataaccess.tsa_ComprobantesEx.UpdateComprobanteDeVentaYComprobanteDePago(comprobanteDeVenta, comprobanteDePago, IdVariableVenta, IdVariablePago, ref IdComprobanteDeVenta, ref IdComprobanteDePago, replicacion, ComprobantesDeVentas, dataAplicacionDePagos, dataDetalleDeuda, dataComprobanteCancelacion); }
public static void Update(tsa_ComprobantesExDataset data, string IdVariable, ref string IdComprobante, SentenciasReplicacion replicacion, tsa_AplicacionPagosDataset dataAplicacionDePagos, tsa_ComprobanteDetalleDeudaDataset dataDetalleDeuda, tsa_ComprobantesExDataset dataComprobanteCancelacion) { SqlConnection cnx = dbhelper.Connection.GetConnection(); cnx.Open(); SqlTransaction trx = cnx.BeginTransaction(IsolationLevel.Serializable); try { Update(data, IdVariable, ref IdComprobante, trx, replicacion); UpdateDesimputacion(dataDetalleDeuda, dataAplicacionDePagos, trx); UpdateCancelacion(dataComprobanteCancelacion, trx, replicacion); //mz.erp.dataaccess.tsa_ComprobanteValoresVarAux.Update(IdComprobanteDeVenta, "11", IdComprobanteDePago, trx); replicacion.Update(); mz.erp.dataaccess.sy_SentenciasReplicacion.Update(replicacion.Data.sy_SentenciasReplicacion, trx); trx.Commit(); } catch (Exception e) { trx.Rollback(); data.tsa_Comprobantes.Rows[0].SetColumnError("IdComprobante", "No se ha podido realizar la grabación por un error en los datos"); } finally { cnx.Close(); } }
public static void UpdateComprobanteDeVentaYComprobanteDePago(tsa_ComprobantesExDataset comprobantedeVenta, tsa_ComprobantesExDataset comprobantedePago, string IdVariableVenta, string IdVariablePago, ref string IdComprobanteDeVenta, ref string IdComprobanteDePago, SentenciasReplicacion Replicacion, string ComprobantesDeVentas, tsa_AplicacionPagosDataset dataAplicacionDePagos, tsa_ComprobanteDetalleDeudaDataset dataDetalleDeuda, tsa_ComprobantesExDataset dataComprobanteCancelacion) { SqlConnection cnx = dbhelper.Connection.GetConnection(); cnx.Open(); SqlTransaction trx = cnx.BeginTransaction(IsolationLevel.Serializable); try { string IdComprobanteAnt = (string)comprobantedeVenta.tsa_Comprobantes.Rows[0]["IdComprobante"]; Update(comprobantedeVenta, IdVariableVenta, ref IdComprobanteDeVenta, trx, Replicacion); Merge(comprobantedeVenta, comprobantedePago, IdComprobanteAnt, ComprobantesDeVentas); UpdateComprobanteDePago(comprobantedePago, ref IdComprobanteDePago, IdVariablePago, trx, Replicacion); UpdateDesimputacion(dataDetalleDeuda, dataAplicacionDePagos, trx); UpdateCancelacion(dataComprobanteCancelacion, trx, Replicacion); mz.erp.dataaccess.tsa_ComprobanteValoresVarAux.Update(IdComprobanteDeVenta, "11", IdComprobanteDePago, trx); Replicacion.Update(); mz.erp.dataaccess.sy_SentenciasReplicacion.Update(Replicacion.Data.sy_SentenciasReplicacion, trx); trx.Commit(); } catch (System.Exception e) { //Debug.WriteLine(e.Message); trx.Rollback(); } finally { cnx.Close(); } }
public bool DesimputarCliente(ItemCuentaCorriente icc) { _data_tsa_AplicacionPagos.Clear(); _data_tsa_ComprobanteDetalleDeuda.Clear(); decimal pago = 0; if (icc.Signo == 1) { // Es un recibo o una nota de credito, por ende hay que buscarlo por el campo IdComporbanteDestino // en la tabla tsa_AplicacionPagos _data_tsa_AplicacionPagos = mz.erp.businessrules.tsa_AplicacionPagos.GetList(null, short.MinValue, decimal.MinValue, icc.IdTipoDeComprobante, icc.IdComprobante, Convert.ToInt16(icc.Cuota)); foreach (tsa_AplicacionPagosDataset.tsa_AplicacionPagosRow row in _data_tsa_AplicacionPagos.tsa_AplicacionPagos.Rows) { bool getByPk = false; string IdComprobante = (string)row["IdComprobanteOrigen"]; short cuota = (short)row["CuotaOrigen"]; pago = pago + row.Importe; tsa_ComprobanteDetalleDeudaDataset.tsa_ComprobanteDetalleDeudaRow rowDet = _data_tsa_ComprobanteDetalleDeuda.tsa_ComprobanteDetalleDeuda.FindByIdComprobanteCuota(IdComprobante, cuota); if (rowDet == null) { rowDet = mz.erp.businessrules.tsa_ComprobanteDetalleDeuda.GetByPk(IdComprobante, cuota); getByPk = true; } if (rowDet != null) { // tener emn cuenta el signo del saldo. rowDet.Saldo = rowDet.Saldo + (-1) * row.Importe; if (getByPk) { _data_tsa_ComprobanteDetalleDeuda.tsa_ComprobanteDetalleDeuda.ImportRow(rowDet); } row.Delete(); } } tsa_ComprobanteDetalleDeudaDataset.tsa_ComprobanteDetalleDeudaRow rowDetalle1 = mz.erp.businessrules.tsa_ComprobanteDetalleDeuda.GetByPk(icc.IdComprobante, (short)icc.Cuota); //Se multiplica por 1 pues signo de saldo es positivo. Solo para consolidar los signos if (rowDetalle1 != null) { rowDetalle1.Saldo = rowDetalle1.Saldo + 1 * pago; _data_tsa_ComprobanteDetalleDeuda.tsa_ComprobanteDetalleDeuda.ImportRow(rowDetalle1); } } else { // Es una factura o una nota de debito, por ende hay que buscarlo por el campo IdComporbanteOrigen // en la tabla tsa_AplicacionPagos _data_tsa_AplicacionPagos = mz.erp.businessrules.tsa_AplicacionPagos.GetList(icc.IdComprobante, Convert.ToInt16(icc.Cuota), decimal.MinValue, null, null, short.MinValue); foreach (tsa_AplicacionPagosDataset.tsa_AplicacionPagosRow row in _data_tsa_AplicacionPagos.tsa_AplicacionPagos.Rows) { bool getByPk = false; string IdComprobante = (string)row["IdComprobanteDestino"]; short cuota = (short)row["CuotaDestino"]; pago = pago + row.Importe; tsa_ComprobanteDetalleDeudaDataset.tsa_ComprobanteDetalleDeudaRow rowDet = _data_tsa_ComprobanteDetalleDeuda.tsa_ComprobanteDetalleDeuda.FindByIdComprobanteCuota(IdComprobante, cuota); if (rowDet == null) { rowDet = mz.erp.businessrules.tsa_ComprobanteDetalleDeuda.GetByPk(IdComprobante, cuota); getByPk = true; } if (rowDet != null) { // tener en cuenta el signo del saldo. rowDet.Saldo = rowDet.Saldo + (+1) * row.Importe; if (getByPk) { _data_tsa_ComprobanteDetalleDeuda.tsa_ComprobanteDetalleDeuda.ImportRow(rowDet); } row.Delete(); } } tsa_ComprobanteDetalleDeudaDataset.tsa_ComprobanteDetalleDeudaRow rowDetalle2 = mz.erp.businessrules.tsa_ComprobanteDetalleDeuda.GetByPk(icc.IdComprobante, (short)icc.Cuota); // Tener en cuenta el signo. Se multiplica por -1 pues this.Signo = -1 y pues el signo de saldo // es negativo; Consolidacion de signos. if (rowDetalle2 != null) { rowDetalle2.Saldo = rowDetalle2.Saldo + (-1) * pago; _data_tsa_ComprobanteDetalleDeuda.tsa_ComprobanteDetalleDeuda.ImportRow(rowDetalle2); } } // Chequeo que se haya eliminado alguna imputación return(pago > 0); }
//Elimina las asociaciones que hay con este comprobante en la tabla tsa_AplicacionPagos //Actualiza la el detalle de la Cuenta Corriente (tabla tsa_ComporbantesDetalleDeuda) public bool Desimputar() { _dataAplicacionDePagos = new tsa_AplicacionPagosDataset(); _dataDetalleDeuda = new tsa_ComprobanteDetalleDeudaDataset(); decimal pago = 0; //Es un recibo o una nota de credito, por ende hay que buscarlo por el campo IdComporbanteDestino // en la tabla tsa_AplicacionPagos if (this.Signo == 1) { _dataAplicacionDePagos = mz.erp.businessrules.tsa_AplicacionPagos.GetList(null, short.MinValue, decimal.MinValue, this.IdTipoDeComprobante, this.IdComprobante, Convert.ToInt16(this.Cuota)); foreach (tsa_AplicacionPagosDataset.tsa_AplicacionPagosRow row in _dataAplicacionDePagos.tsa_AplicacionPagos.Rows) { string IdComprobante = (string)row["IdComprobanteOrigen"]; short cuota = (short)row["CuotaOrigen"]; pago = pago + row.Importe; try { tsa_ComprobanteDetalleDeudaDataset.tsa_ComprobanteDetalleDeudaRow rowDetalle = mz.erp.businessrules.tsa_ComprobanteDetalleDeuda.GetByPk(IdComprobante, cuota); //tener emn cuenta el signo del saldo rowDetalle.Saldo = rowDetalle.Saldo + (-1) * row.Importe; _dataDetalleDeuda.tsa_ComprobanteDetalleDeuda.ImportRow(rowDetalle); } catch (Exception e) { tsa_ComprobanteDetalleDeudaDataset.tsa_ComprobanteDetalleDeudaRow rowDet; rowDet = _dataDetalleDeuda.tsa_ComprobanteDetalleDeuda.FindByIdComprobanteCuota(IdComprobante, cuota); if (rowDet != null) { rowDet.Saldo = rowDet.Saldo + (-1) * row.Importe; } } row.Delete(); } tsa_ComprobanteDetalleDeudaDataset.tsa_ComprobanteDetalleDeudaRow rowDetalle1 = mz.erp.businessrules.tsa_ComprobanteDetalleDeuda.GetByPk(this.IdComprobante, (short)this.Cuota); //Semultiplica por 1 pues signo de saldo es positivo. Solo para consolidar los signos if (rowDetalle1 != null) { rowDetalle1.Saldo = rowDetalle1.Saldo + 1 * pago; _dataDetalleDeuda.tsa_ComprobanteDetalleDeuda.ImportRow(rowDetalle1); } } //Es una factura o una nota de debito, por ende hay que buscarlo por el campo IdComporbanteOrigen // en la tabla tsa_AplicacionPagos else { _dataAplicacionDePagos = mz.erp.businessrules.tsa_AplicacionPagos.GetList(this.IdComprobante, Convert.ToInt16(this.Cuota), decimal.MinValue, null, null, short.MinValue); foreach (tsa_AplicacionPagosDataset.tsa_AplicacionPagosRow row in _dataAplicacionDePagos.tsa_AplicacionPagos.Rows) { string IdComprobante = (string)row["IdComprobanteDestino"]; short cuota = (short)row["CuotaDestino"]; pago = pago + row.Importe; try { tsa_ComprobanteDetalleDeudaDataset.tsa_ComprobanteDetalleDeudaRow rowDetalle = mz.erp.businessrules.tsa_ComprobanteDetalleDeuda.GetByPk(IdComprobante, cuota); //tener en cuenta el signo del saldo rowDetalle.Saldo = rowDetalle.Saldo + 1 * row.Importe; _dataDetalleDeuda.tsa_ComprobanteDetalleDeuda.ImportRow(rowDetalle); } catch (Exception e) { tsa_ComprobanteDetalleDeudaDataset.tsa_ComprobanteDetalleDeudaRow rowDet; rowDet = _dataDetalleDeuda.tsa_ComprobanteDetalleDeuda.FindByIdComprobanteCuota(IdComprobante, cuota); rowDet.Saldo = rowDet.Saldo + 1 * row.Importe; } row.Delete(); } tsa_ComprobanteDetalleDeudaDataset.tsa_ComprobanteDetalleDeudaRow rowDetalle2 = mz.erp.businessrules.tsa_ComprobanteDetalleDeuda.GetByPk(this.IdComprobante, (short)this.Cuota); //Tener en cuenta el signo. Se multiplica por -1 pues this.Signo = -1 y pues el signo de saldo es negativo //Consolidacion de signos if (rowDetalle2 != null) { rowDetalle2.Saldo = rowDetalle2.Saldo + (-1) * pago; _dataDetalleDeuda.tsa_ComprobanteDetalleDeuda.ImportRow(rowDetalle2); } } //Chequeo que se haya echo alguna desimputacion return(pago > 0); }
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); }