public ActionResult UpdateCartQuantity(Carrito carrito, int productId, int quantity) { LineaCarrito linea = carrito.Lineas.Where(l => l.Producto.ProductoID == productId).FirstOrDefault(); if (linea != null) { linea.Cantidad = quantity; return(Json(new { Success = true, Total = carrito.ComputeTotalValue(), EnvioGratisAplicable = carrito.EnvioGratisAplicable() }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { Success = false }, JsonRequestBehavior.AllowGet)); } }
public ActionResult Create(Carrito carrito) { if (!carrito.Lineas.Any()) { return(RedirectToAction("List", "Producto")); } Compra Compra = new Compra { IdUsuario = Int32.Parse(User.Identity.GetHaynyUserID()), ItemsCompra = new List <ItemCompra>() }; foreach (LineaCarrito linea in carrito.Lineas) { Compra.ItemsCompra.Add(new ItemCompra { Cantidad = linea.Cantidad, Producto = linea.Producto, PrecioTotal = linea.Producto.Precio * linea.Cantidad, ProductoID = linea.Producto.ProductoID }); } try { //Get current exchange rate of USD WebRequest request = WebRequest.Create("https://openexchangerates.org/api/latest.json?app_id=ac7c178cc4d14703b579f6fcc49410b2&base=USD&symbols=DOP"); request.Credentials = CredentialCache.DefaultCredentials; request.Timeout = 30000; using (WebResponse response = request.GetResponse()) { using (var reader = new StreamReader(response.GetResponseStream())) { CurrencyResponse currencyresponse = JsonConvert.DeserializeObject <CurrencyResponse>(reader.ReadToEnd()); double Costo = (double)carrito.ComputeTotalValue() / currencyresponse.rates.DOP; ViewBag.TotalUSD = Math.Round(Costo, 2); } } return(View(Compra)); } catch (Exception e) { LogFileCreator LogError = new LogFileCreator(); LogError.ErrorLog(Server.MapPath("~/Logs"), e.Message); return(RedirectToAction("Index", "Home")); } }