//
        // GET: /CarritoCompras/Compra
        public ActionResult Compra()
        {
            var userid = User.Identity.GetUserId();

            RepoDapper EmpRepo = new RepoDapper();

            //ViewBag.TarjetaId = new SelectList(EmpRepo.GetTarjetas(userid), "id", "Numero");
            ViewBag.DireccionID  = new SelectList(EmpRepo.GetDirecciones(userid), "id", "Direccion");
            ViewBag.DireccionID2 = EmpRepo.GetDirecciones(userid);
            ViewBag.TarjetaId2   = EmpRepo.GetTarjetas(userid);
            //ViewBag.PaqueteriaID = new SelectList(EmpRepo.GetEnvios(), "id", "Nombre");

            PaqueteriasContext paqueteriasDB = new PaqueteriasContext();
            List <Paqueterias> p             = paqueteriasDB.Paqueterias.Include(x => x.pqt).Where(t => t.Activo == true).ToList();

            ViewBag.PaqueteriaId = p;

            var cart = CarritoCompras.GetCart(this.HttpContext);

            ViewBag.Total = cart.GetTotal();

            List <Cart> carrito = cart.GetCartItems();

            ViewBag.Carrito      = carrito;
            ViewBag.CarritoTotal = carrito.Count();

            return(View());
        }
        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));
            }
        }