Esempio n. 1
0
        public async Task <IActionResult> uploadTemplateAsync(IFormFile file)
        {
            if (file == null || file.Length == 0)
            {
                return(Content("file not selected"));
            }

            var           result     = new StringBuilder();
            int           contador   = 0;
            List <string> resultados = new List <string>();

            using (var reader = new StreamReader(file.OpenReadStream()))
            {
                while (reader.Peek() >= 0)
                {
                    result.AppendLine(reader.ReadLine());
                    string linea = reader.ReadLine();
                    var    pago  = FromCsv(linea);
                    if (pago != null)
                    {
                        var nuevo = new CFDIPagados()
                        {
                            CfdUUID                      = pago.UUID,
                            CfdSerie                     = pago.Serie,
                            CfdFolio                     = pago.Folio,
                            CfdFechaEmision              = pago.FechaComprobante,
                            CfdTipoComprobante           = pago.TipoComprobante,
                            CfdFormaPago                 = pago.FormaPago,
                            CfdMetodoPago                = pago.MetodoPago,
                            CfdMoneda                    = pago.Moneda,
                            CfdRFCEmisor                 = pago.RFCEmisor,
                            CfdNombreEmisor              = pago.NombreEmisor,
                            CfdRFCReceptor               = pago.RFCReceptor,
                            CfdNombreReceptor            = pago.NombreReceptor,
                            CfdTotalImpuestosRetenidos   = pago.ImpuestosRetenidos,
                            CfdTotalImpuestosTrasladados = pago.ImpuestosTrasladados,
                            CfdSubtotalCFDI              = pago.SubTotal,
                            CfdTotalCFDI                 = pago.Total,
                            //mis campos
                            CfdFechaPago      = pago.FechaDePago,
                            CfdMontoPagado    = pago.MontoDePago,
                            CfdReferenciaPago = pago.ReferenciaDePago
                        };
                        resultados.Add(ingresarPago(nuevo));
                    }
                    contador++;
                }
            }
            var resumen = new
            {
                Ingresados = resultados.Where(d => d == "ok").Count(),
                Rechazados = resultados.Where(d => d != "ok").Count()
            };

            this.ShowSuccess("Ingreso Exitosos: " + resumen.Ingresados.ToString());
            this.ShowError("Ingreso Rechazados: " + resumen.Rechazados.ToString());
            return(View("FacturasPagadas"));
            //return Ok(resumen);
        }
Esempio n. 2
0
        public string ingresarPago(CFDIPagados pago)
        {
            string msj = "ok";

            try
            {
                var cfdi = _context.CFDIs.First(d => d.CfdUUID == pago.CfdUUID);
                if (_context.CFDIPagados.Any(d => d.CfdUUID == pago.CfdUUID && d.CfdReferenciaPago == pago.CfdReferenciaPago))
                {
                    msj = "Ya existe una referencia de pago " + pago.CfdReferenciaPago + " registrada.";
                    return(msj);
                }

                _context.CFDIPagados.Add(pago);
                _context.SaveChanges();
                return(msj);
            }
            catch (Exception ex)
            {
                return(ex.Message);
            }
        }