public void UpdatePago(object selectedRow) { ItemCuentaCorriente dcc = (ItemCuentaCorriente)selectedRow; _comprobante.CuentaCorriente.UpdatePago(dcc); }
public void FlushDesimputarCliente(ItemCuentaCorriente icc) { mz.erp.dataaccess.tsa_CuentaCorriente.Update(_data_tsa_AplicacionPagos, _data_tsa_ComprobanteDetalleDeuda); }
public void FlushDesimputarProveedor(ItemCuentaCorriente icc) { //mz.erp.dataaccess.tpu_CuentaCorriente.Update(_data_tpu_AplicacionPagos, _data_tpu_ComprobanteDetalleDeuda); mz.erp.dataaccess.tpu_AplicacionPagos.Update(_data_tpu_AplicacionPagos); mz.erp.dataaccess.tpu_ComprobanteDetalleDeuda.Update(_data_tpu_ComprobanteDetalleDeuda); }
public bool DesimputarProveedor(ItemCuentaCorriente icc) { _data_tpu_AplicacionPagos.Clear(); _data_tpu_ComprobanteDetalleDeuda.Clear(); decimal pago = 0; if (icc.Signo == 1) { // Es un factura de Proveedores o una (nota de ?? (credito o debito) ) // por ende hay que buscarlo por el campo IdComporbanteDestino en la tabla tpu_AplicacionPagos _data_tpu_AplicacionPagos = mz.erp.businessrules.tpu_AplicacionPagos.GetList(null, short.MinValue, decimal.MinValue, icc.IdTipoDeComprobante, icc.IdComprobante, Convert.ToInt16(icc.Cuota)); foreach (tpu_AplicacionPagosDataset.tpu_AplicacionPagosRow row in _data_tpu_AplicacionPagos.tpu_AplicacionPagos.Rows) { bool getByPk = false; string IdComprobante = (string)row["IdComprobanteOrigen"]; short cuota = (short)row["CuotaOrigen"]; pago = pago + row.Importe; tpu_ComprobanteDetalleDeudaDataset.tpu_ComprobanteDetalleDeudaRow rowDet = _data_tpu_ComprobanteDetalleDeuda.tpu_ComprobanteDetalleDeuda.FindByIdComprobanteCuota(IdComprobante, cuota); if (rowDet == null) { rowDet = mz.erp.businessrules.tpu_ComprobanteDetalleDeuda.GetByPk(IdComprobante, cuota); getByPk = true; } if (rowDet != null) { // tener en cuenta el signo del saldo. rowDet.Saldo = rowDet.Saldo + (-1) * row.Importe; rowDet.SaldoTemporal = rowDet.SaldoTemporal + (-1) * row.Importe; if (getByPk) { _data_tpu_ComprobanteDetalleDeuda.tpu_ComprobanteDetalleDeuda.ImportRow(rowDet); } row.Delete(); } } tpu_ComprobanteDetalleDeudaDataset.tpu_ComprobanteDetalleDeudaRow rowDetalle1 = mz.erp.businessrules.tpu_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; rowDetalle1.SaldoTemporal = rowDetalle1.SaldoTemporal + 1 * pago; _data_tpu_ComprobanteDetalleDeuda.tpu_ComprobanteDetalleDeuda.ImportRow(rowDetalle1); } } else { // Es un pago a Proveedores (o una nota de ?? debito?) // Por ende hay que buscarlo por el campo IdComporbanteOrigen en la tabla tpu_AplicacionPagos. _data_tpu_AplicacionPagos = mz.erp.businessrules.tpu_AplicacionPagos.GetList(icc.IdComprobante, Convert.ToInt16(icc.Cuota), decimal.MinValue, null, null, short.MinValue); foreach (tpu_AplicacionPagosDataset.tpu_AplicacionPagosRow row in _data_tpu_AplicacionPagos.tpu_AplicacionPagos.Rows) { bool getByPk = false; string IdComprobante = (string)row["IdComprobanteDestino"]; short cuota = (short)row["CuotaDestino"]; pago = pago + row.Importe; tpu_ComprobanteDetalleDeudaDataset.tpu_ComprobanteDetalleDeudaRow rowDet = _data_tpu_ComprobanteDetalleDeuda.tpu_ComprobanteDetalleDeuda.FindByIdComprobanteCuota(IdComprobante, cuota); if (rowDet == null) { rowDet = mz.erp.businessrules.tpu_ComprobanteDetalleDeuda.GetByPk(IdComprobante, cuota); getByPk = true; } if (rowDet != null) { // tener en cuenta el signo del saldo. rowDet.Saldo = rowDet.Saldo + (+1) * row.Importe; rowDet.SaldoTemporal = rowDet.SaldoTemporal + (+1) * row.Importe; if (getByPk) { _data_tpu_ComprobanteDetalleDeuda.tpu_ComprobanteDetalleDeuda.ImportRow(rowDet); } row.Delete(); } } tpu_ComprobanteDetalleDeudaDataset.tpu_ComprobanteDetalleDeudaRow rowDetalle2 = mz.erp.businessrules.tpu_ComprobanteDetalleDeuda.GetByPk(icc.IdComprobante, (short)icc.Cuota); // Se multiplica por 1 pues signo de saldo es positivo. Solo para consolidar los signos if (rowDetalle2 != null) { rowDetalle2.Saldo = rowDetalle2.Saldo + (-1) * pago; rowDetalle2.SaldoTemporal = rowDetalle2.SaldoTemporal + (-1) * pago; _data_tpu_ComprobanteDetalleDeuda.tpu_ComprobanteDetalleDeuda.ImportRow(rowDetalle2); } } // Chequeo que se haya eliminado alguna imputación return(pago > 0); }