public void Commit() { if (this._origen.Equals("CLIENTES")) { bool masNegativos = _ctaCte.CantPagosNegativos >= _ctaCte.CantPagosPositivos; ArrayList negativos = _ctaCte.GetDetallePagos(-1); ArrayList positivos = _ctaCte.GetDetallePagos(1); ItemCuentaCorriente iccSingle = null; if (masNegativos) { #region Inserta Comporbantes con Signo Negativo iccSingle = (ItemCuentaCorriente)positivos[0]; #region para q sirve? // Para que sirve???? /*if ( this._origen.Equals("CLIENTES") ) * { * tsa_ComprobantesDataset.tsa_ComprobantesRow rowComp = mz.erp.dataaccess.tsa_Comprobantes.GetByPk(iccSingle.IdComprobante); * if (rowComp == null) * rowComp = mz.erp.businessrules.tsa_Comprobantes.GetByPk(iccSingle.IdComprobante); * _dataTsa_Comprobantes.tsa_Comprobantes.ImportRow(rowComp); * } * else * { * tpu_ComprobantesDataset.tpu_ComprobantesRow rowComp = mz.erp.dataaccess.tpu_Comprobantes.GetByPk(iccSingle.IdComprobante); * if (rowComp == null) * rowComp = mz.erp.businessrules.tpu_Comprobantes.GetByPk(iccSingle.IdComprobante); * _dataTpu_Comprobantes.tpu_Comprobantes.ImportRow(rowComp); * } * // ---------------- */ #endregion // iccSingle --> Recibos... // icc --> Fact, Prefacturas.... foreach (ItemCuentaCorriente icc in negativos) { tsa_AplicacionPagosDataset.tsa_AplicacionPagosRow row = _tsa_AplicacionPagosDataSet.tsa_AplicacionPagos.Newtsa_AplicacionPagosRow(); row.IdComprobanteOrigen = icc.IdComprobante; row.CuotaOrigen = (short)icc.Cuota; row.IdComprobanteDestino = iccSingle.IdComprobante; row.IdTipoComprobanteOrigen = icc.IdTipoDeComprobante; row.Importe = icc.Pago; row.IdTipoDeComprobanteDestino = iccSingle.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; _tsa_AplicacionPagosDataSet.tsa_AplicacionPagos.Addtsa_AplicacionPagosRow(row); #region borrar! si funciona lo de abajo /* * //tsa_ComprobanteDetalleDeudaDataset.tsa_ComprobanteDetalleDeudaRow rowDeuda = mz.erp.dataaccess.tsa_ComprobanteDetalleDeuda.GetByPk(icc.IdComprobante, Convert.ToInt16(icc.Cuota)); * tsa_ComprobanteDetalleDeudaDataset.tsa_ComprobanteDetalleDeudaRow rowDeuda = mz.erp.businessrules.tsa_ComprobanteDetalleDeuda.GetByPk(dcc.IdComprobante, Convert.ToInt16(dcc.Cuota)); * * if ( rowDeuda == null) * rowDeuda = mz.erp.businessrules.tsa_ComprobanteDetalleDeuda.GetByPk(icc.IdComprobante, Convert.ToInt16(icc.Cuota)); * * int signo = Convert.ToInt32( tsy_TiposDeComprobantes.GetByPk(Convert.ToString(rowDeuda.IdTipoDeComprobante)).signo); * rowDeuda.Saldo = (decimal) rowDeuda.Saldo * signo; * rowDeuda.Saldo = (decimal) rowDeuda.Saldo - icc.Pago; * rowDeuda.Saldo = (decimal) rowDeuda.Saldo * signo; * * _tsa_ComprobanteDetalleDeuda.tsa_ComprobantesDetalleDeuda.ImportRow(rowDeuda); */ #endregion try { tsa_ComprobanteDetalleDeudaDataset.tsa_ComprobanteDetalleDeudaRow rowDeuda = _tsa_ComprobanteDetalleDeudaDataSet.tsa_ComprobanteDetalleDeuda.FindByIdComprobanteCuota(icc.IdComprobante, Convert.ToInt16(icc.Cuota)); int signo = Convert.ToInt32(tsy_TiposDeComprobantes.GetByPk((string)rowDeuda["IdTipoDeComprobante"]).signo); rowDeuda["saldo"] = (decimal)rowDeuda["saldo"] * signo; rowDeuda["Saldo"] = (decimal)rowDeuda["Saldo"] - icc.Pago; rowDeuda["Saldo"] = (decimal)rowDeuda["Saldo"] * signo; } catch (Exception e) { tsa_ComprobanteDetalleDeudaDataset.tsa_ComprobanteDetalleDeudaRow rowDeuda2 = mz.erp.businessrules.tsa_ComprobanteDetalleDeuda.GetByPk(icc.IdComprobante, Convert.ToInt16(icc.Cuota)); if (rowDeuda2 != null) { int signo = Convert.ToInt32(tsy_TiposDeComprobantes.GetByPk((string)rowDeuda2["IdTipoDeComprobante"]).signo); rowDeuda2["saldo"] = (decimal )rowDeuda2["saldo"] * signo; rowDeuda2["Saldo"] = (decimal)rowDeuda2["Saldo"] - icc.Pago; rowDeuda2["Saldo"] = (decimal)rowDeuda2["Saldo"] * signo; _tsa_ComprobanteDetalleDeudaDataSet.tsa_ComprobanteDetalleDeuda.ImportRow(rowDeuda2); } } //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); } tsa_ComprobanteDetalleDeudaDataset.tsa_ComprobanteDetalleDeudaRow rowDeudaSingle = mz.erp.dataaccess.tsa_ComprobanteDetalleDeuda.GetByPk(iccSingle.IdComprobante, Convert.ToInt16(iccSingle.Cuota)); if (rowDeudaSingle == null) { rowDeudaSingle = mz.erp.businessrules.tsa_ComprobanteDetalleDeuda.GetByPk(iccSingle.IdComprobante, Convert.ToInt16(iccSingle.Cuota)); } int signoSingle = Convert.ToInt32(tsy_TiposDeComprobantes.GetByPk(Convert.ToString(rowDeudaSingle.IdTipoDeComprobante)).signo); rowDeudaSingle.Saldo = (decimal)rowDeudaSingle.Saldo * signoSingle; rowDeudaSingle.Saldo = (decimal)rowDeudaSingle.Saldo - iccSingle.Pago; rowDeudaSingle.Saldo = (decimal)rowDeudaSingle.Saldo * signoSingle; _tsa_ComprobanteDetalleDeudaDataSet.tsa_ComprobanteDetalleDeuda.ImportRow(rowDeudaSingle); #endregion } else { #region Inserta Comporbantes con Signo Positivos iccSingle = (ItemCuentaCorriente)negativos[0]; // icc --> Recibos, Notas de creditos, RET foreach (ItemCuentaCorriente icc in positivos) { tsa_AplicacionPagosDataset.tsa_AplicacionPagosRow row = _tsa_AplicacionPagosDataSet.tsa_AplicacionPagos.Newtsa_AplicacionPagosRow(); row.IdComprobanteOrigen = iccSingle.IdComprobante; row.CuotaOrigen = 1; //(short) icc.Cuota; row.IdComprobanteDestino = icc.IdComprobante; row.IdTipoComprobanteOrigen = iccSingle.IdTipoDeComprobante; row.Importe = icc.Pago; row.IdTipoDeComprobanteDestino = icc.IdTipoDeComprobante; row.CuotaDestino = (short)icc.Cuota; //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; _tsa_AplicacionPagosDataSet.tsa_AplicacionPagos.Addtsa_AplicacionPagosRow(row); try { tsa_ComprobanteDetalleDeudaDataset.tsa_ComprobanteDetalleDeudaRow rowDeuda = _tsa_ComprobanteDetalleDeudaDataSet.tsa_ComprobanteDetalleDeuda.FindByIdComprobanteCuota(icc.IdComprobante, Convert.ToInt16(icc.Cuota)); int signo = Convert.ToInt32(tsy_TiposDeComprobantes.GetByPk((string)rowDeuda["IdTipoDeComprobante"]).signo); rowDeuda["saldo"] = (decimal )rowDeuda["saldo"] * signo; rowDeuda["Saldo"] = (decimal)rowDeuda["Saldo"] - icc.Pago; rowDeuda["Saldo"] = (decimal)rowDeuda["Saldo"] * signo; } catch (Exception e) { tsa_ComprobanteDetalleDeudaDataset.tsa_ComprobanteDetalleDeudaRow rowDeuda2 = mz.erp.businessrules.tsa_ComprobanteDetalleDeuda.GetByPk(icc.IdComprobante, Convert.ToInt16(icc.Cuota)); if (rowDeuda2 != null) { int signo = Convert.ToInt32(tsy_TiposDeComprobantes.GetByPk((string)rowDeuda2["IdTipoDeComprobante"]).signo); rowDeuda2["saldo"] = (decimal )rowDeuda2["saldo"] * signo; rowDeuda2["Saldo"] = (decimal)rowDeuda2["Saldo"] - icc.Pago; rowDeuda2["Saldo"] = (decimal)rowDeuda2["Saldo"] * signo; _tsa_ComprobanteDetalleDeudaDataSet.tsa_ComprobanteDetalleDeuda.ImportRow(rowDeuda2); } } } tsa_ComprobanteDetalleDeudaDataset.tsa_ComprobanteDetalleDeudaRow rowDeudaSingle = mz.erp.dataaccess.tsa_ComprobanteDetalleDeuda.GetByPk(iccSingle.IdComprobante, Convert.ToInt16(iccSingle.Cuota)); if (rowDeudaSingle == null) { rowDeudaSingle = mz.erp.businessrules.tsa_ComprobanteDetalleDeuda.GetByPk(iccSingle.IdComprobante, Convert.ToInt16(iccSingle.Cuota)); } int signoSingle = Convert.ToInt32(tsy_TiposDeComprobantes.GetByPk(Convert.ToString(rowDeudaSingle.IdTipoDeComprobante)).signo); rowDeudaSingle.Saldo = (decimal)rowDeudaSingle.Saldo * signoSingle; rowDeudaSingle.Saldo = (decimal)rowDeudaSingle.Saldo - iccSingle.Pago; rowDeudaSingle.Saldo = (decimal)rowDeudaSingle.Saldo * signoSingle; _tsa_ComprobanteDetalleDeudaDataSet.tsa_ComprobanteDetalleDeuda.ImportRow(rowDeudaSingle); #endregion } } else // "PROVEEDORES" { bool masNegativos = _ctaCte.CantPagosNegativos >= _ctaCte.CantPagosPositivos; ArrayList negativos = _ctaCte.GetDetallePagos(-1); ArrayList positivos = _ctaCte.GetDetallePagos(1); ItemCuentaCorriente iccSingle = null; if (masNegativos) { #region Inserta Comporbantes con Signo Negativo iccSingle = (ItemCuentaCorriente)positivos[0]; // icc Negativos --> Pagos y notas de ?? foreach (ItemCuentaCorriente icc in negativos) { // iccSingle --> FACT de Proveedores tpu_AplicacionPagosDataset.tpu_AplicacionPagosRow row = _tpu_AplicacionPagosDataSet.tpu_AplicacionPagos.Newtpu_AplicacionPagosRow(); row.IdComprobanteOrigen = icc.IdComprobante; row.CuotaOrigen = 1; //(short) icc.Cuota; row.IdComprobanteDestino = iccSingle.IdComprobante; row.IdTipoComprobanteOrigen = icc.IdTipoDeComprobante; row.Importe = icc.Pago; row.IdTipoDeComprobanteDestino = iccSingle.IdTipoDeComprobante; row.CuotaDestino = (short)icc.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; _tpu_AplicacionPagosDataSet.tpu_AplicacionPagos.Addtpu_AplicacionPagosRow(row); try { tpu_ComprobanteDetalleDeudaDataset.tpu_ComprobanteDetalleDeudaRow rowDeuda = _tpu_ComprobanteDetalleDeudaDataSet.tpu_ComprobanteDetalleDeuda.FindByIdComprobanteCuota(icc.IdComprobante, Convert.ToInt16(icc.Cuota)); int signo = Convert.ToInt32(tsy_TiposDeComprobantes.GetByPk((string)rowDeuda["IdTipoDeComprobante"]).signo); rowDeuda["saldo"] = (decimal)rowDeuda["saldo"] * signo; rowDeuda["Saldo"] = (decimal)rowDeuda["Saldo"] - icc.Pago; rowDeuda["Saldo"] = (decimal)rowDeuda["Saldo"] * signo; rowDeuda["SaldoTemporal"] = (decimal)rowDeuda["SaldoTemporal"] * signo; rowDeuda["SaldoTemporal"] = (decimal)rowDeuda["SaldoTemporal"] - icc.Pago; rowDeuda["SaldoTemporal"] = (decimal)rowDeuda["SaldoTemporal"] * signo; } catch (Exception e) { tpu_ComprobanteDetalleDeudaDataset.tpu_ComprobanteDetalleDeudaRow rowDeuda2 = mz.erp.businessrules.tpu_ComprobanteDetalleDeuda.GetByPk(icc.IdComprobante, Convert.ToInt16(icc.Cuota)); if (rowDeuda2 != null) { int signo = Convert.ToInt32(tsy_TiposDeComprobantes.GetByPk((string)rowDeuda2["IdTipoDeComprobante"]).signo); rowDeuda2["saldo"] = (decimal )rowDeuda2["saldo"] * signo; rowDeuda2["Saldo"] = (decimal)rowDeuda2["Saldo"] - icc.Pago; rowDeuda2["Saldo"] = (decimal)rowDeuda2["Saldo"] * signo; rowDeuda2["SaldoTemporal"] = (decimal)rowDeuda2["SaldoTemporal"] * signo; rowDeuda2["SaldoTemporal"] = (decimal)rowDeuda2["SaldoTemporal"] - icc.Pago; rowDeuda2["SaldoTemporal"] = (decimal)rowDeuda2["SaldoTemporal"] * signo; _tpu_ComprobanteDetalleDeudaDataSet.tpu_ComprobanteDetalleDeuda.ImportRow(rowDeuda2); } } } tpu_ComprobanteDetalleDeudaDataset.tpu_ComprobanteDetalleDeudaRow rowDeudaSingle = mz.erp.dataaccess.tpu_ComprobanteDetalleDeuda.GetByPk(iccSingle.IdComprobante, Convert.ToInt16(iccSingle.Cuota)); if (rowDeudaSingle == null) { rowDeudaSingle = mz.erp.businessrules.tpu_ComprobanteDetalleDeuda.GetByPk(iccSingle.IdComprobante, Convert.ToInt16(iccSingle.Cuota)); } int signoSingle = Convert.ToInt32(tsy_TiposDeComprobantes.GetByPk(Convert.ToString(rowDeudaSingle.IdTipoDeComprobante)).signo); rowDeudaSingle.Saldo = (decimal)rowDeudaSingle.Saldo * signoSingle; rowDeudaSingle.Saldo = (decimal)rowDeudaSingle.Saldo - iccSingle.Pago; rowDeudaSingle.Saldo = (decimal)rowDeudaSingle.Saldo * signoSingle; rowDeudaSingle.SaldoTemporal = (decimal)rowDeudaSingle.SaldoTemporal * signoSingle; rowDeudaSingle.SaldoTemporal = (decimal)rowDeudaSingle.SaldoTemporal - iccSingle.Pago; rowDeudaSingle.SaldoTemporal = (decimal)rowDeudaSingle.SaldoTemporal * signoSingle; _tpu_ComprobanteDetalleDeudaDataSet.tpu_ComprobanteDetalleDeuda.ImportRow(rowDeudaSingle); #endregion } else { #region Inserta Comporbantes con Signo Positivos iccSingle = (ItemCuentaCorriente)negativos[0]; // icc --> FACT de Proveedores; Notas de ?? foreach (ItemCuentaCorriente icc in positivos) { // iccSingle --> Pagos a Proveedores tpu_AplicacionPagosDataset.tpu_AplicacionPagosRow row = _tpu_AplicacionPagosDataSet.tpu_AplicacionPagos.Newtpu_AplicacionPagosRow(); row.IdComprobanteOrigen = iccSingle.IdComprobante; row.CuotaOrigen = 1; row.IdComprobanteDestino = icc.IdComprobante; row.IdTipoComprobanteOrigen = iccSingle.IdTipoDeComprobante; row.Importe = icc.Pago; row.IdTipoDeComprobanteDestino = icc.IdTipoDeComprobante; row.CuotaDestino = (short)icc.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; _tpu_AplicacionPagosDataSet.tpu_AplicacionPagos.Addtpu_AplicacionPagosRow(row); try { tpu_ComprobanteDetalleDeudaDataset.tpu_ComprobanteDetalleDeudaRow rowDeuda = _tpu_ComprobanteDetalleDeudaDataSet.tpu_ComprobanteDetalleDeuda.FindByIdComprobanteCuota(icc.IdComprobante, Convert.ToInt16(icc.Cuota)); int signo = Convert.ToInt32(tsy_TiposDeComprobantes.GetByPk((string)rowDeuda["IdTipoDeComprobante"]).signo); rowDeuda["saldo"] = (decimal )rowDeuda["saldo"] * signo; rowDeuda["Saldo"] = (decimal)rowDeuda["Saldo"] - icc.Pago; rowDeuda["Saldo"] = (decimal)rowDeuda["Saldo"] * signo; rowDeuda["saldoTemporal"] = (decimal )rowDeuda["saldoTemporal"] * signo; rowDeuda["saldoTemporal"] = (decimal)rowDeuda["saldoTemporal"] - icc.Pago; rowDeuda["saldoTemporal"] = (decimal)rowDeuda["saldoTemporal"] * signo; } catch (Exception e) { tpu_ComprobanteDetalleDeudaDataset.tpu_ComprobanteDetalleDeudaRow rowDeuda2 = mz.erp.businessrules.tpu_ComprobanteDetalleDeuda.GetByPk(icc.IdComprobante, Convert.ToInt16(icc.Cuota)); if (rowDeuda2 != null) { int signo = Convert.ToInt32(tsy_TiposDeComprobantes.GetByPk((string)rowDeuda2["IdTipoDeComprobante"]).signo); rowDeuda2["saldo"] = (decimal )rowDeuda2["saldo"] * signo; rowDeuda2["Saldo"] = (decimal)rowDeuda2["Saldo"] - icc.Pago; rowDeuda2["Saldo"] = (decimal)rowDeuda2["Saldo"] * signo; rowDeuda2["saldoTemporal"] = (decimal )rowDeuda2["saldoTemporal"] * signo; rowDeuda2["saldoTemporal"] = (decimal)rowDeuda2["saldoTemporal"] - icc.Pago; rowDeuda2["saldoTemporal"] = (decimal)rowDeuda2["saldoTemporal"] * signo; _tpu_ComprobanteDetalleDeudaDataSet.tpu_ComprobanteDetalleDeuda.ImportRow(rowDeuda2); } } } tpu_ComprobanteDetalleDeudaDataset.tpu_ComprobanteDetalleDeudaRow rowDeudaSingle = mz.erp.dataaccess.tpu_ComprobanteDetalleDeuda.GetByPk(iccSingle.IdComprobante, Convert.ToInt16(iccSingle.Cuota)); if (rowDeudaSingle == null) { rowDeudaSingle = mz.erp.businessrules.tpu_ComprobanteDetalleDeuda.GetByPk(iccSingle.IdComprobante, Convert.ToInt16(iccSingle.Cuota)); } int signoSingle = Convert.ToInt32(tsy_TiposDeComprobantes.GetByPk(Convert.ToString(rowDeudaSingle.IdTipoDeComprobante)).signo); rowDeudaSingle.Saldo = (decimal)rowDeudaSingle.Saldo * signoSingle; rowDeudaSingle.Saldo = (decimal)rowDeudaSingle.Saldo - iccSingle.Pago; rowDeudaSingle.Saldo = (decimal)rowDeudaSingle.Saldo * signoSingle; rowDeudaSingle.SaldoTemporal = (decimal)rowDeudaSingle.SaldoTemporal * signoSingle; rowDeudaSingle.SaldoTemporal = (decimal)rowDeudaSingle.SaldoTemporal - iccSingle.Pago; rowDeudaSingle.SaldoTemporal = (decimal)rowDeudaSingle.SaldoTemporal * signoSingle; _tpu_ComprobanteDetalleDeudaDataSet.tpu_ComprobanteDetalleDeuda.ImportRow(rowDeudaSingle); #endregion } } }