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)); } }