コード例 #1
0
ファイル: HomeController.cs プロジェクト: Nuper/NuperZapas
        public async Task <IActionResult> VistaProducto(string sku)
        {
            var       token = HttpContext.Session.GetString("token");
            Productos producto;

            producto = await _apiClient.getProducto(sku, token);

            return(View(producto));
        }
コード例 #2
0
ファイル: PedidoController.cs プロジェクト: Nuper/NuperZapas
        // Pedidos _miPedido;

        #region --METODOS PUBLICOS--

        public async Task <IActionResult> AddProducto(string sku, int cantidad, string returnUrl)
        {
            Pedidos        _pedido       = new Pedidos();
            List <Pedidos> _pedidosCarro = new List <Pedidos>();

            try
            {  //SI EXISTE CARRO EN SESSION
                this._miCarro = JsonConvert.DeserializeObject <Carros>(HttpContext.Session.GetString("carrito"));
            }
            catch (Exception e)
            {   //SI NO
                this._miCarro.Pedidos = _pedidosCarro;
            }

            var token = HttpContext.Session.GetString("token");

            Productos producto = await _apiClient.getProducto(sku, token);

            if (this._miCarro.Pedidos.Count == 0) //SI ESTA VACIO
            {
                _pedido.ProductoPOJO    = producto;
                _pedido.Unidades        = cantidad;
                _pedido.PrecioTotal     = producto.precio * cantidad;
                _pedido.PrecionUnitario = producto.precio;

                this._miCarro.Pedidos.Add(_pedido);
            }
            else    //SI YA HAY ITEMS
            {
                _pedido.ProductoPOJO    = producto;
                _pedido.Unidades        = cantidad;
                _pedido.PrecioTotal     = producto.precio * cantidad;
                _pedido.PrecionUnitario = producto.precio;

                if ((this._miCarro.Pedidos.FirstOrDefault(x => x.ProductoPOJO.sku == producto.sku)) != null) //si ya existe ese item en el carro
                {
                    var aux = this._miCarro.Pedidos.Find(x => x.ProductoPOJO.sku == sku);
                    aux.Unidades   += cantidad;
                    aux.PrecioTotal = aux.Unidades * aux.PrecionUnitario;
                }
                else
                {
                    this._miCarro.Pedidos.Add(_pedido);
                }
            }
            ViewBag.Productos = JsonConvert.DeserializeObject <List <Productos> >(HttpContext.Session.GetString("productos"));
            ViewBag.Carrito   = this._miCarro;

            HttpContext.Session.SetString("carrito", JsonConvert.SerializeObject(this._miCarro));

            return(Redirect(returnUrl));
        }