public ActionResult Compra(Compra compra)
        {
            TryUpdateModel(compra);
            var        userid  = User.Identity.GetUserId();
            RepoDapper EmpRepo = new RepoDapper();

            ViewBag.TarjetaId2 = new SelectList(EmpRepo.GetTarjetas(userid), "id", "Numero");
            if (compra.TarjetaId == 0)
            {
                return(RedirectToAction("AddTarjeta", "Manage"));
            }
            ViewBag.DireccionID  = new SelectList(EmpRepo.GetDirecciones(userid), "id", "Direccion");
            ViewBag.PaqueteriaID = new SelectList(EmpRepo.GetEnvios(), "id", "Nombre", compra.PaqueteriaId);

            PaqueteriasContext paqueteriasDB = new PaqueteriasContext();
            int _PaqueteriasId = paqueteriasDB.Paquete.Where(x => x.Id == compra.PaqueteriaId).Select(x => x.PaqueteriasId).FirstOrDefault();
            int _precioEnvio   = (int)paqueteriasDB.Paquete.Where(x => x.Id == compra.PaqueteriaId).Select(x => x.Precio).FirstOrDefault();

            compra.UserId       = userid;
            compra.FechaCompra  = DateTime.Now;
            compra.PaqueteriaId = _PaqueteriasId;

            var cart      = CarritoCompras.GetCart(this.HttpContext);
            int _subtotal = (int)cart.GetTotal();
            int _total    = _precioEnvio + _subtotal;

            compra.Total = _total;

            try
            {
                carroDB.Compras.Add(compra);
                carroDB.SaveChanges();
                cart.CreateOrder(compra, _precioEnvio);

                return(RedirectToAction("Index", "Compras"));
            }
            catch
            {
                return(View(compra));
            }
        }