protected void Evaluate(businessrules.comprobantes.ComprobanteDePago comprobante) { bool hasErrors = false; foreach (System.Data.DataTable table in comprobante.DatasetComprobante.Tables) { foreach (System.Data.DataRow row in table.Rows) { if (row.HasErrors) { hasErrors = true; /*20110328 - Tarea 0000057*/ FrmShowErrors _form = new /*20110328 - Tarea 0000057*/ FrmShowErrors(row); _form.Show(); row.ClearErrors(); } } } if (hasErrors) { comprobante.DatasetComprobante.RejectChanges(); } if (!hasErrors) { MessageBox.Show("La acción se ha ejecutado con éxito"); if (OnRowChanged != null) { OnRowChanged(this, null); } Close(); } }
private void Save() { //TODO if (_ctaCorriente != null) { businessrules.comprobantes.ComprobanteDePago comprobante = ObtenerComprobanteDestino(); if (comprobante != null) { if (comprobante.IsValidFor(Constantes.AplicacionDePagoAction)) { if (comprobante.AplicacionesDePagos != null) { if (comprobante.CuentaCorriente.TotalPagoComprobantesSignoNegativo <= 0 || comprobante.CuentaCorriente.TotalPagoComprobantesSignoPositivo <= 0) { MessageBox.Show("La imputacion no es valida. Ambos valores deben ser mayores a cero"); } else if (comprobante.CuentaCorriente.TotalPagoComprobantesSignoNegativo != comprobante.CuentaCorriente.TotalPagoComprobantesSignoPositivo) { MessageBox.Show("La suma de los comprobantes a imputar debe ser igual a la suma de los comprobantes imputados"); } else { if (comprobante.CuentaCorriente.IsValidDetalleCuentaCorriente()) { comprobante.AplicacionesDePagos.CommitWF(); comprobante.ActualizaNumeracion = false; comprobante.Flush(); Evaluate(comprobante); } else { MessageBox.Show("Imputación No Válida."); } } } else { MessageBox.Show("Debe seleccionar los comprobantes que se imputan", "Advertencia", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Information); } } } } else { MessageBox.Show("Debe seleccionar un cliente", "Advertencia", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Information); } }
private businessrules.comprobantes.ComprobanteDePago ObtenerComprobanteDestino() { businessrules.comprobantes.ComprobanteDePago comprobante = null; foreach (Janus.Windows.GridEX.GridEXRow row in gridEXCompDestino.GetRows()) { ItemCuentaCorriente icc = (ItemCuentaCorriente)row.DataRow; if (icc.TotalPago > 0) { businessrules.comprobantes.CuentaCorriente ctaCorriente = businessrules.comprobantes.Factory.GetCuentaCorriente(_idCuenta, DateTime.MinValue, DateTime.MaxValue, null); ctaCorriente.GetDetalleComprobantesAImputar(_ctaCorriente.ComprobantesAImputar); ctaCorriente.TotalPagoComprobantesSignoNegativo = _ctaCorriente.TotalPagoComprobantesSignoNegativo; ctaCorriente.TotalPagoComprobantesSignoPositivo = _ctaCorriente.TotalPagoComprobantesSignoPositivo; comprobante = businessrules.comprobantes.Factory.GetComprobanteDePago(icc.IdComprobante, icc.Importe, icc.TotalPago, ctaCorriente); } } return(comprobante); }