public void Pagos(ComplementoPago complementoPago) { if (complementoPago.Pagos != null) { var idsBorrar = complementoPago.Pagos.Select(e => e.Id); var pagosAnteriores = _db.Pagos.Where(es => es.ComplementoPagoId == complementoPago.Id && !idsBorrar.Contains(es.Id)).ToList(); _db.Pagos.RemoveRange(pagosAnteriores); _db.SaveChanges(); foreach (var pago in complementoPago.Pagos.Except(pagosAnteriores)) { pago.ComplementoPagoId = complementoPago.Id; pago.BancoOrdenante = null; pago.BancoBeneficiario = null; pago.ComplementoPago = null; _db.Pagos.AddOrUpdate(pago); try { _db.SaveChanges(); } catch (System.Exception) { } } } else { var pagosAnteriores = _db.Pagos.Where(es => es.ComplementoPagoId == complementoPago.Id).ToList(); _db.Pagos.RemoveRange(pagosAnteriores); _db.SaveChanges(); } }
// GET: ComplementosPago/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ComplementoPago complementoPago = _db.ComplementosPago.Find(id); if (complementoPago == null) { return(HttpNotFound()); } complementoPago.Pago = new Pago { FechaPago = DateTime.Now, FormaPago = c_FormaPago.TransferenciaElectronicaDeFondos, Moneda = c_Moneda.MXN, TipoCambio = 1, Monto = 0.0, }; PopulaClientes(complementoPago.ReceptorId); PopulaBancos(ObtenerSucursal()); PopulaCfdiRelacionado(complementoPago.CfdiRelacionadoId); return(View(complementoPago)); }
public void DocumentosRelacionados(ComplementoPago complementoPago) { //if (complementoPago.DocumentosRelacionados != null) //{ // foreach (var pago in complementoPago.Pagos) // { // var idsBorrar = complementoPago.DocumentosRelacionados.Select(e => e.Id); // var documentosAnteriores = _db.DocumentosRelacionados.Where(es => es.PagoId == pago.Id && !idsBorrar.Contains(es.Id)).ToList(); // _db.DocumentosRelacionados.RemoveRange(documentosAnteriores); // _db.SaveChanges(); // foreach (var documento in complementoPago.DocumentosRelacionados) // { // documento.PagoId = pago.Id; // _db.DocumentosRelacionados.AddOrUpdate(documento); // } // _db.SaveChanges(); // } //} //else //{ var documentosAnteriores = _db.DocumentosRelacionados.Where(es => es.Pago.ComplementoPagoId == complementoPago.Id).ToList(); _db.DocumentosRelacionados.RemoveRange(documentosAnteriores); _db.SaveChanges(); //} }
public ActionResult Generar(ComplementoPago complementoPago) { PopulaClientes(complementoPago.ReceptorId); if (ModelState.IsValid) { try { var sucursalId = ObtenerSucursal(); //Actualizacion Receptor DateTime fechaDoc = complementoPago.FechaDocumento; var horaHoy = DateTime.Now; var fechaTime = new DateTime(fechaDoc.Year, fechaDoc.Month, fechaDoc.Day, horaHoy.Hour, horaHoy.Minute, horaHoy.Second); var complementoPagoDb = _db.ComplementosPago.Find(complementoPago.Id); complementoPagoDb.ReceptorId = complementoPago.ReceptorId; complementoPagoDb.FechaDocumento = fechaTime; _db.Entry(complementoPagoDb).State = EntityState.Modified; _db.SaveChanges(); _pagosManager.GenerarComplementoPago(sucursalId, complementoPago.Id, ""); return(RedirectToAction("Index")); } catch (Exception ex) { ModelState.AddModelError("", ex.Message); } } return(View(complementoPago)); }
// GET: ComplementosPago/Create public ActionResult Create() { PopulaClientes(); PopulaBancos(ObtenerSucursal()); PopulaCfdiRelacionado(); var complementoPago = new ComplementoPago { Generado = false, Status = Status.Activo, FechaDocumento = DateTime.Now, Mes = (Meses)Enum.ToObject(typeof(Meses), DateTime.Now.Month), SucursalId = ObtenerSucursal(), Version = "1.0", Pago = new Pago { FechaPago = DateTime.Now, FormaPago = c_FormaPago.TransferenciaElectronicaDeFondos, Moneda = c_Moneda.MXN, TipoCambio = 1, Monto = 0.0, } }; return(View(complementoPago)); }
public ActionResult DocumentosRelacionados(ComplementoPago complementoPago) { PopulaFacturas(complementoPago.ReceptorId); PopulaPagos(complementoPago.Id); ModelState.Remove("Receptor.Nombre"); ModelState.Remove("Receptor.Pais"); ModelState.Remove("Pago.DocumentoRelacionado.IdDocumento"); complementoPago.Pago = null; if (ModelState.IsValid) { _acondicionarComplementosPagos.DocumentosRelacionados(complementoPago); if (complementoPago.DocumentosRelacionados != null) { foreach (var pago in complementoPago.DocumentosRelacionados) { complementoPago.DocumentosRelacionados.ForEach(dr => dr.FacturaEmitida = null); complementoPago.DocumentosRelacionados.ForEach(dr => dr.Pago = null); complementoPago.DocumentosRelacionados.ForEach(dr => _db.DocumentosRelacionados.Add(dr)); } } _db.SaveChanges(); return(RedirectToAction("Index")); } return(View(complementoPago)); }
public ActionResult Edit(ComplementoPago complementoPago) { ModelState.Remove("Pago.FechaPago"); ModelState.Remove("Pago.FormaPago"); ModelState.Remove("Pago.Moneda"); ModelState.Remove("Pago.TipoCambio"); ModelState.Remove("Pago.Monto"); ModelState.Remove("Pago.ArchivoFisico"); ModelState.Remove("Pago.ComplementoPagoId"); ModelState.Remove("Pago.SucursalId"); PopulaClientes(complementoPago.ReceptorId); PopulaBancos(ObtenerSucursal()); PopulaCfdiRelacionado(complementoPago.CfdiRelacionadoId); if (ModelState.IsValid) { _acondicionarComplementosPagos.Pagos(complementoPago); complementoPago.Pagos = null; _db.Entry(complementoPago).State = EntityState.Modified; _db.SaveChanges(); return(RedirectToAction("Index")); } return(View(complementoPago)); }
public ActionResult DeleteConfirmed(int id) { ComplementoPago complementoPago = _db.ComplementosPago.Find(id); _db.ComplementosPago.Remove(complementoPago); _db.SaveChanges(); return(RedirectToAction("Index")); }
public void CfdisRelacionados(ref FacturaDto facturaDto, ComplementoPago complementoPago) { if (complementoPago.CfdiRelacionadoId != null && complementoPago.TipoRelacion != null) { facturaDto.TipoRelacion = complementoPago.TipoRelacion; facturaDto.CfdisRelacionados = new List <string> { complementoPago.CfdiRelacionado.Uuid }; } }
private void cmdBuscarFactura_Click(object sender, EventArgs e) { if (IsNumeric(txtCFDI.Text)) { FacturaComplementoPago f = new FacturaComplementoPago(); ComplementoPago cp = f.getFactura(Convert.ToDouble(txtCFDI.Text)); cargarValores(cp); } else { MessageBox.Show("Por favor indique un folio de factura válido"); txtCFDI.Text = string.Empty; } }
public void CargaInicial(ref ComplementoPago complementoPago) { if (complementoPago.Pagos != null) { foreach (var pago in complementoPago.Pagos) { pago.BancoOrdenante = null; pago.BancoBeneficiario = null; pago.ComplementoPago = null; } } complementoPago.Pago = null; }
public ActionResult Generar(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ComplementoPago complementoPago = _db.ComplementosPago.Find(id); if (complementoPago == null) { return(HttpNotFound()); } PopulaClientes(complementoPago.ReceptorId); return(View(complementoPago)); }
public ActionResult Create(ComplementoPago complementoPago) { ModelState.Remove("Pago.FechaPago"); ModelState.Remove("Pago.FormaPago"); ModelState.Remove("Pago.Moneda"); ModelState.Remove("Pago.TipoCambio"); ModelState.Remove("Pago.Monto"); ModelState.Remove("Pago.ArchivoFisico"); ModelState.Remove("Pago.ComplementoPagoId"); ModelState.Remove("Pago.SucursalId"); ModelState.Remove("CfdiRelacionado.FacturaEmitidaId"); PopulaClientes(complementoPago.ReceptorId); PopulaBancos(ObtenerSucursal()); PopulaCfdiRelacionado(complementoPago.CfdiRelacionadoId); if (ModelState.IsValid) { _acondicionarComplementosPagos.CargaInicial(ref complementoPago); try { var pagos = complementoPago.Pagos; pagos.ForEach(p => p.ComplementoPago = null); complementoPago.Pagos = null; _db.ComplementosPago.Add(complementoPago); _db.SaveChanges(); foreach (var pago in pagos) { pago.ComplementoPago = null; pago.ComplementoPagoId = complementoPago.Id; _db.Pagos.Add(pago); } _db.SaveChanges(); return(RedirectToAction("DocumentosRelacionados", new { @id = complementoPago.Id })); } catch (Exception ex) { ModelState.AddModelError("", ex.Message); } } return(View(complementoPago)); }
// GET: ComplementosPago/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ComplementoPago complementoPago = _db.ComplementosPago.Find(id); if (complementoPago == null) { return(HttpNotFound()); } PopulaClientes(complementoPago.ReceptorId); PopulaBancos(ObtenerSucursal()); PopulaCfdiRelacionado(complementoPago.CfdiRelacionadoId); PopulaCfdiRelacionado(complementoPago.CfdiRelacionadoId); return(View(complementoPago)); }
public String GenerarPdf(byte[] xml, ComplementoPago complementoPago) { try { var path = String.Format("C:/Infodextra/Temp/{0} - {1} - {2}.pdf", complementoPago.FacturaEmitida.Serie, complementoPago.FacturaEmitida.Folio, DateTime.Now.ToString("yyyyMMddHHmmssfff")); if (File.Exists(path)) { File.Delete(path); } var pdf = _facturacionInfodextra.GenerarPdf(xml, complementoPago.Sucursal.Logo, null); _operacionesStreams.ByteArrayArchivo(pdf, path); return(path); } catch (Exception ex) { throw ex; } }
private void cargarValores(ComplementoPago result) { txtFecha.Text = result.FECHA.ToString(); txtReceptor.Text = result.Receptor; txtFolio.Text = result.Folio; txtSerie.Text = result.Serie; // txtUsoCFDI.Text = result.Receptor.UsoCFDI; //txtSubtotal.Text = result.SubTotal.ToString(); txtTotal.Text = result.MONTO; lblMetodoPago.Text = result.metodoPago.Substring(0, 3); //txtIVA.Text = result.Impuestos.TotalImpuestosTrasladados.ToString(); if (result.UUIDRELACIONADO != null) { txtUUID.Text = result.UUIDRELACIONADO; FacturaComplementoPago factura = new FacturaComplementoPago(oComprobante); List <ComplementoPago> cp = factura.getPagos(txtUUID.Text.Trim()); llenardetallePagos(cp); } //foreach(ComprobanteConcepto c in result.Conceptos) //{ // dgConceptos.Rows.Add(c.ClaveProdServ,c.Cantidad,c.ClaveUnidad,c.Unidad,c.Descripcion,c.ValorUnitario,c.Importe); //} }
private void button2_Click(object sender, EventArgs e) { if (txtCFDI.Text.Trim() == string.Empty) { MessageBox.Show("Por favor indique un número de folio"); return; } FacturaComplementoPago f = new FacturaComplementoPago(); ComplementoPago cp = f.getFactura(Convert.ToDouble(txtCFDI.Text)); if (cp == null) { MessageBox.Show("El folio " + txtCFDI.Text + " no existe o ya fue cobrada anteriormente"); return; } if (txtReceptor.Text == string.Empty || txtReceptor.Text == cp.Receptor) { cargarValores(cp); if (existeFactura(cp.UUIDRELACIONADO)) { MessageBox.Show("La factura ya fue agregada a este pago"); return; } dgFacturas.Rows.Add(cp.UUIDRELACIONADO, cp.FECHA, cp.MONTO, cp.Serie, cp.Folio); decimal saldo = 0; foreach (DataGridViewRow r in dgFacturas.Rows) { saldo += Convert.ToDecimal(r.Cells[2].Value.ToString()); } lblSaldo.Text = saldo.ToString(); txtCFDI.Text = ""; } else { MessageBox.Show("El RFC receptor no correponde con los proporcionados anteriormente"); } }
public ComplementoPagoDto GenerarComplemento(ComplementoPago complementoPago) { var complementoPagoDto = new ComplementoPagoDto { FechaDocumento = complementoPago.FechaDocumento, Sucursal = new EmisorDto { LugarExpedicion = complementoPago.Sucursal.CodigoPostal, RazonSocial = complementoPago.Sucursal.RazonSocial, RegimenFiscal = complementoPago.Sucursal.RegimenFiscal, Rfc = complementoPago.Sucursal.Rfc }, Receptor = new ReceptorDto { RazonSocial = complementoPago.Receptor.RazonSocial, ResidenciaFiscal = complementoPago.Receptor.Pais, Rfc = complementoPago.Receptor.Rfc, UsoCfdi = c_UsoCFDI.PorDefinir } }; if (complementoPago.Pagos != null) { complementoPagoDto.Pagos = new List <PagoDto>(); } for (int i = 0; i < complementoPago.Pagos.Count; i++) { var pago = new PagoDto { FechaPago = complementoPago.Pagos[i].FechaPago, FormaPago = complementoPago.Pagos[i].FormaPago, Moneda = complementoPago.Pagos[i].Moneda, Monto = complementoPago.Pagos[i].Monto, NombreBancoOrdenanteExtranjero = complementoPago.Pagos[i].NombreBancoOrdenanteExtranjero, Notas = complementoPago.Pagos[i].Notas, NumeroOperacion = complementoPago.Pagos[i].NumeroOperacion, TipoCambio = complementoPago.Pagos[i].TipoCambio, //SPEI //TipoCadenaPago = complementoPago.Pagos[i].TipoCadenaPago, //SelloPago = complementoPago.Pagos[i].SelloPago, //CadenaPago = complementoPago.Pagos[i].CadenaPago, //CertificadoPago = complementoPago.Pagos[i].CertificadoPago, }; if (complementoPago.Pagos[i].BancoOrdenante != null) { pago.RfcEmisorCuentaOrigen = complementoPago.Pagos[i].BancoOrdenante.Banco.Rfc; pago.BancoEmisor = complementoPago.Pagos[i].BancoOrdenante.Banco.RazonSocial; pago.CuentaOrdenante = complementoPago.Pagos[i].BancoOrdenante.NumeroCuenta; if (!complementoPago.Pagos[i].BancoOrdenante.Banco.Nacional) { pago.NombreBancoOrdenanteExtranjero = complementoPago.Pagos[i].BancoOrdenante.Banco.RazonSocial; } } if (complementoPago.Pagos[i].BancoBeneficiario != null) { pago.RfcEmisorCuentaBeneficiario = complementoPago.Pagos[i].BancoBeneficiario.Banco.Rfc; pago.BancoReceptor = complementoPago.Pagos[i].BancoBeneficiario.Banco.RazonSocial; pago.CuentaBeneficiario = complementoPago.Pagos[i].BancoBeneficiario.NumeroCuenta; } if (complementoPago.Pagos[i].DocumentosRelacionados != null) { pago.DocumentosRelacionados = new List <DocumentoRelacionadoDto>(); for (int j = 0; j < complementoPago.Pagos[i].DocumentosRelacionados.Count; j++) { var documentoRelacionado = new DocumentoRelacionadoDto { Folio = complementoPago.Pagos[i].DocumentosRelacionados[j].Folio, IdDocumento = complementoPago.Pagos[i].DocumentosRelacionados[j].IdDocumento, ImportePagado = complementoPago.Pagos[i].DocumentosRelacionados[j].ImportePagado, ImporteSaldoAnterior = complementoPago.Pagos[i].DocumentosRelacionados[j].ImporteSaldoAnterior, ImporteSaldoInsoluto = complementoPago.Pagos[i].DocumentosRelacionados[j].ImporteSaldoInsoluto, MetodoPago = complementoPago.Pagos[i].DocumentosRelacionados[j].MetodoPago, Moneda = complementoPago.Pagos[i].DocumentosRelacionados[j].Moneda, NumeroParcialidad = complementoPago.Pagos[i].DocumentosRelacionados[j].NumeroParcialidad, Serie = complementoPago.Pagos[i].DocumentosRelacionados[j].Serie, TipoCambio = complementoPago.Pagos[i].DocumentosRelacionados[j].TipoCambio }; pago.DocumentosRelacionados.Add(documentoRelacionado); } } foreach (var documentoRelacionado in pago.DocumentosRelacionados) { if (documentoRelacionado.Moneda == pago.Moneda) { documentoRelacionado.TipoCambio = 1.0; } } complementoPagoDto.Pagos.Add(pago); } return(complementoPagoDto); }
public List <ComplementoPago> Importar(string path, int sucursalId, Meses mes, bool previsualizacion) { var errores = new List <String>(); var complementosPago = new List <ComplementoPago>(); using (StreamReader archivo = File.OpenText(path)) { try { var csv = new CsvReader(archivo); var registros = new List <List <String> >(); var sucursal = _db.Sucursales.Find(sucursalId); while (csv.Read()) { var registro = new List <String>(); for (int i = 0; csv.TryGetField(i, out string value); i++) { registro.Add(value); } registros.Add(registro); } var pagos = new List <Pago>(); //var facturasEmitidas = _db.FacturasEmitidas.Where(fe => fe.EmisorId == sucursalId).ToList(); for (int i = 1; i < registros.Count(); i++) { try { var fechaPago = Convert.ToDateTime(registros[i][0]); var formaPago = ParseEnum <c_FormaPago>(registros[i][1], i); var monto = Convert.ToDouble(registros[i][2]); var moneda = ParseEnum <c_Moneda>(registros[i][3], i); var tipoCambioPago = Convert.ToDouble(registros[i][4]); var tipoCambioDocumentoRelacionado = Convert.ToDouble(registros[i][5]); var numeroOperacion = registros[i][6]; if (String.IsNullOrEmpty(numeroOperacion)) { numeroOperacion = null; } var serie = registros[i][10]; var folio = registros[i][11]; var facturaEmitida = _db.FacturasEmitidas.FirstOrDefault(fe => fe.EmisorId == sucursalId && fe.Serie == serie && fe.Folio == folio); if (facturaEmitida == null) { errores.Add(String.Format("La factura {0} - {1} no fue encontrada para el registro {2}", serie, folio, i)); continue; } //Se desorganizaron los numeros por que necesito el cliente para determinar el banco var nombreBancoOrdenante = registros[i][7]; BancoCliente bancoOrdenante = null; if (!String.IsNullOrEmpty(nombreBancoOrdenante)) { bancoOrdenante = _db.BancosClientes.FirstOrDefault(b => b.Nombre == nombreBancoOrdenante && b.Cliente.SucursalId == sucursalId && b.ClienteId == facturaEmitida.ReceptorId); if (bancoOrdenante == null) { errores.Add(String.Format("El banco {0} no fue encontrado para el registro {1}", nombreBancoOrdenante, i)); continue; } } var nombreBancoBeneficiario = registros[i][8]; BancoSucursal bancoBeneficiario = null; if (!String.IsNullOrEmpty(nombreBancoBeneficiario)) { bancoBeneficiario = _db.BancosSucursales.FirstOrDefault(b => b.Nombre == nombreBancoBeneficiario && b.SucursalId == sucursalId); if (bancoBeneficiario == null) { errores.Add(String.Format("El banco {0} no fue encontrado para el registro {1}", nombreBancoBeneficiario, i)); continue; } } var numeroParcialidad = registros[i][9]; var importePagado = String.IsNullOrEmpty(registros[i][12]) ? facturaEmitida.Total : Convert.ToDouble(registros[i][12]); var importeSaldoAnterior = String.IsNullOrEmpty(registros[i][13]) ? facturaEmitida.Total : Convert.ToDouble(registros[i][13]); var importeSaldoInsoluto = String.IsNullOrEmpty(registros[i][14]) ? 0.0 : Convert.ToDouble(registros[i][14]); #region Pagos #region Documentos Relacionados var documentoRelacionado = new DocumentoRelacionado { FacturaEmitidaId = facturaEmitida.Id, FacturaEmitida = facturaEmitida, Folio = facturaEmitida.Folio, IdDocumento = facturaEmitida.Uuid, ImportePagado = importePagado, ImporteSaldoAnterior = importeSaldoAnterior, ImporteSaldoInsoluto = importeSaldoInsoluto, MetodoPago = facturaEmitida.MetodoPago, Moneda = facturaEmitida.Moneda, NumeroParcialidad = Convert.ToInt32(String.IsNullOrEmpty(numeroParcialidad) ? "1" : numeroParcialidad), Serie = facturaEmitida.Serie, TipoCambio = tipoCambioDocumentoRelacionado }; #endregion if (pagos.Any(p => p.NumeroOperacion == numeroOperacion && p.FechaPago == fechaPago && p.Monto == monto && p.DocumentosRelacionados.Any(dr => dr.FacturaEmitida.ReceptorId == documentoRelacionado.FacturaEmitida.ReceptorId))) { pagos.First(p => p.NumeroOperacion == numeroOperacion && p.FechaPago == fechaPago && p.Monto == monto && p.DocumentosRelacionados.Any(dr => dr.FacturaEmitida.ReceptorId == documentoRelacionado.FacturaEmitida.ReceptorId)).DocumentosRelacionados.Add(documentoRelacionado); } else { var pago = new Pago { FechaPago = fechaPago, FormaPago = formaPago, Moneda = moneda, Monto = monto, NumeroOperacion = numeroOperacion, SucursalId = sucursalId, TipoCambio = tipoCambioPago }; if (bancoOrdenante != null) { pago.BancoOrdenante = bancoOrdenante; pago.BancoOrdenanteId = bancoOrdenante.Id; } if (bancoBeneficiario != null) { pago.BancoBeneficiario = bancoBeneficiario; pago.BancoBeneficiarioId = bancoBeneficiario.Id; } if (pago.DocumentosRelacionados == null) { pago.DocumentosRelacionados = new List <DocumentoRelacionado>(); } pago.DocumentosRelacionados.Add(documentoRelacionado); pagos.Add(pago); } #endregion } catch (Exception ex) { errores.Add(String.Format("No se pudo procesar el registro {0} el motivo reportado: {1} </br>", i, ex.Message)); continue; } } foreach (var pago in pagos) { var receptor = pago.DocumentosRelacionados.FirstOrDefault().FacturaEmitida.Receptor; if (receptor == null) { errores.Add(String.Format("El pago {0} no tiene documentos relacionados", pago.Desplegado)); } var complementoPago = complementosPago.FirstOrDefault(cp => cp.ReceptorId == receptor.Id); if (complementoPago == null) { complementoPago = new ComplementoPago { FechaDocumento = DateTime.Now, Generado = false, ReceptorId = receptor.Id, Receptor = receptor, Status = Status.Activo, Mes = mes, SucursalId = sucursal.Id, Sucursal = sucursal, Version = "1.0", Pagos = new List <Pago> { pago } }; complementosPago.Add(complementoPago); } else { complementoPago.Pagos.Add(pago); } } } catch (Exception ex) { errores.Add(ex.Message); } finally { archivo.Close(); archivo.Dispose(); } } if (errores.Count > 0) { throw new Exception(String.Join("|", errores)); } if (!previsualizacion) { foreach (var complementoPago in complementosPago) { _db.ComplementosPago.Add(complementoPago); try { _db.SaveChanges(); } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { errores.Add(String.Format("Propiedad: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage)); } } } } //foreach (var complementoPago in complementosPago) //{ // try // { // _pagosManager.GenerarComplementoPago(sucursalId, complementoPago.ReceptorId, complementoPago.Id); // errores.Add(String.Format("Comando realizado con éxito del complemento del receptor {0} con total de montos {1:c}", complementoPago.Receptor.RazonSocial, complementoPago.Pagos.Sum(p => p.Monto))); // } // catch (Exception ex) // { // errores.Add(String.Format("Error de generación del complemento del receptor {0} con total de montos {1:c}: {2}", complementoPago.Receptor.RazonSocial, complementoPago.Pagos.Sum(p => p.Monto), ex.Message)); // } //} } return(complementosPago); }