コード例 #1
0
        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));
            }
        }
コード例 #2
0
        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"));
            }
        }