示例#1
0
        public CartModule(ILog logger, ICartService cartService,
                          IProductService productService) : base("/Cart")
        {
            Get["/"] = parameters =>
            {
                logger.Info("Getting cart");
                var cartId   = this.Request.Cookies["CartId"];
                var response = cartService.GetCart(cartId);
                var result   = new GetCartResponse {
                    ProductList = new List <ProductDetailResponse>()
                };
                foreach (var p in response.ProductIds)
                {
                    var product = productService.GetProductDetail(p);
                    result.ProductList.Add(product);
                }
                logger.Info(string.Format("Cart fetched"));
                return(result);
            };

            Post["/"] = parameters =>
            {
                logger.Info("Adding cart");
                var cartId    = this.Request.Cookies["CartId"];
                var productId = this.Bind <int>();
                var response  = cartService.AddCart(cartId, productId);
                logger.Info(string.Format("Item added {0}", productId));
                return(response);
            };
        }
示例#2
0
        public GetCartResponse GetCartInfos(GetCartRequest request)
        {
            GetCartResponse response = new GetCartResponse();

            response.GetCart = BaseBLL <TakeBLL> .Instance.GetCartInfos();

            return(response);
        }
示例#3
0
        public GetCartResponse GetCart(GetCartRequest request)
        {
            var response = new GetCartResponse();

            var cart = _cartRepository.FindBy(request.Id);

            var cartView = cart != null?cart.ConvertToCartView() : new CartView();

            response.Cart = cartView;

            return(response);
        }
        public JsonResult GetCart(GetCartRequest request)
        {
            GetCartResponse response = bll.GetCart(request);

            return(Json(response));
        }