Exemplo n.º 1
0
        private int GuardarComprobante(FacturaDto facturaDto, int sucursalId, int clienteId)
        {
            var facturaInternaEmitida = new FacturaEmitida
            {
                ComplementosPago = new List <ComplementoPago>(),
                EmisorId         = sucursalId,
                ReceptorId       = clienteId,
                Fecha            = facturaDto.Fecha,
                Folio            = facturaDto.Folio.ToString(),
                FormaPago        = facturaDto.FormaPago,
                MetodoPago       = facturaDto.MetodoPago,
                Moneda           = facturaDto.Moneda,
                Serie            = facturaDto.Serie,
                Subtotal         = facturaDto.SubtotalCalculado,
                TipoCambio       = facturaDto.TipoCambio,
                TipoComprobante  = facturaDto.TipoComprobante,
                Total            = facturaDto.TotalCalculado,
                Uuid             = facturaDto.Uuid,
                ArchivoFisicoXml = facturaDto.Xml
            };

            _db.FacturasEmitidas.Add(facturaInternaEmitida);
            _db.SaveChanges();

            return(facturaInternaEmitida.Id);
        }
Exemplo n.º 2
0
        public ActionResult DeleteConfirmed(int id)
        {
            FacturaEmitida facturaEmitida = _db.FacturasEmitidas.Find(id);

            _db.FacturasEmitidas.Remove(facturaEmitida);
            _db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Exemplo n.º 3
0
        // GET: FacturasEmitidas/Create
        public ActionResult Create()
        {
            var facturaEmitida = new FacturaEmitida
            {
                EmisorId = ObtenerSucursal()
            };

            return(View(facturaEmitida));
        }
Exemplo n.º 4
0
 public ActionResult Edit(FacturaEmitida facturaEmitida)
 {
     if (ModelState.IsValid)
     {
         _db.Entry(facturaEmitida).State = EntityState.Modified;
         _db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(facturaEmitida));
 }
Exemplo n.º 5
0
        public ActionResult Create(FacturaEmitida facturaEmitida)
        {
            if (ModelState.IsValid)
            {
                _db.FacturasEmitidas.Add(facturaEmitida);
                _db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(facturaEmitida));
        }
Exemplo n.º 6
0
        // GET: FacturasEmitidas/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            FacturaEmitida facturaEmitida = _db.FacturasEmitidas.Find(id);

            if (facturaEmitida == null)
            {
                return(HttpNotFound());
            }
            return(View(facturaEmitida));
        }
Exemplo n.º 7
0
 public ActionResult SubirPdf(FacturaEmitida facturaEmitida)
 {
     if (ModelState.IsValid)
     {
         try
         {
             SubeArchivos();
         }
         catch (Exception ex)
         {
             ModelState.AddModelError("", ex.Message);
             return(View(facturaEmitida));
         }
         return(RedirectToAction("Index"));
     }
     return(View(facturaEmitida));
 }
Exemplo n.º 8
0
        public FacturaEmitida GuardarFacturaEmitida(Comprobante comprobante, byte[] xml)
        {
            var facturaEmitida = new FacturaEmitida
            {
                Fecha            = Convert.ToDateTime(comprobante.Fecha),
                Folio            = comprobante.Folio,
                FormaPago        = comprobante.FormaPago,
                MetodoPago       = comprobante.MetodoPago,
                Moneda           = comprobante.Moneda,
                Serie            = comprobante.Serie,
                Subtotal         = Convert.ToDouble(comprobante.SubTotal),
                TipoCambio       = Convert.ToDouble(comprobante.TipoCambio),
                TipoComprobante  = comprobante.TipoDeComprobante,
                Total            = Convert.ToDouble(comprobante.Total),
                Uuid             = _decodificar.DecodificarTimbre(comprobante).UUID,
                Version          = comprobante.Version,
                ArchivoFisicoXml = xml,

                //TODO: Arreglar esta fecha decodificando el TFD
                FechaTimbrado = DateTime.Now
            };

            if (comprobante.Impuestos != null)
            {
                facturaEmitida.TotalImpuestosRetenidos   = Convert.ToDouble(comprobante.Impuestos.TotalImpuestosRetenidos ?? "0.0");
                facturaEmitida.TotalImpuestosTrasladados = Convert.ToDouble(comprobante.Impuestos.TotalImpuestosTrasladados ?? "0.0");
            }

            var emisor = _db.Sucursales.FirstOrDefault(s => s.Rfc == comprobante.Emisor.Rfc);

            if (emisor == null)
            {
                throw new Exception(String.Format("No se encontró el RFC del emisor {0}", comprobante.Emisor.Rfc));
            }

            Cliente receptor;

            if (comprobante.Receptor.Rfc == "XEXX010101000" || comprobante.Receptor.Rfc == "XAXX010101000")
            {
                receptor = _db.Clientes.FirstOrDefault(s => s.Rfc == comprobante.Receptor.Rfc && s.RazonSocial == comprobante.Receptor.Nombre && s.SucursalId == emisor.Id);
                if (receptor == null)
                {
                    throw new Exception(String.Format("No se encontró receptor con RFC {0} y Razón Social {1}", comprobante.Emisor.Rfc, comprobante.Emisor.Nombre));
                }
            }
            else
            {
                receptor = _db.Clientes.FirstOrDefault(s => s.Rfc == comprobante.Receptor.Rfc && s.SucursalId == emisor.Id);
                if (receptor == null)
                {
                    throw new Exception(String.Format("No se encontró receptor con RFC {0}", comprobante.Emisor.Rfc));
                }
            }

            //Asignaciones Facturas
            facturaEmitida.EmisorId   = emisor.Id;
            facturaEmitida.ReceptorId = receptor.Id;

            facturaEmitida.Emisor   = null;
            facturaEmitida.Receptor = null;

            _db.FacturasEmitidas.Add(facturaEmitida);
            _db.SaveChanges();

            return(facturaEmitida);
        }