示例#1
0
        public BaseResponse <List <ShoppingCartWrapper> > GetShoppingCart(string account)
        {
            try
            {
                var result = (from a in context.ShoppingCart
                              join b in context.Merchandise on a.ProdId equals b.MerchandiseId
                              join c in context.MerchandiseSpec on new { pid = a.ProdId, sid = a.SpecId } equals new { pid = c.MerchandiseId, sid = c.SpecId } into SubCart
                              from c in SubCart.DefaultIfEmpty()
                              where a.Account == account
                              select new ShoppingCartViewModel(b.MerchandiseTitle, b.OwnerAccount, b.MerchandiseId, (a.SpecId == 0) ? b.Price : c.Price, a.SpecId, c.Spec1, c.Spec2, a.PurchaseQty)).ToList();


                List <string> sellerAccount = new List <string>();
                foreach (var item in result)
                {
                    if (!sellerAccount.Contains(item.OwnerAccount))
                    {
                        sellerAccount.Add(item.OwnerAccount);
                    }
                }

                List <ShoppingCartWrapper> shoppingCartWrapper = new List <ShoppingCartWrapper>();
                ShoppingCartWrapper        wrapper;
                foreach (var seller in sellerAccount)
                {
                    wrapper = new ShoppingCartWrapper()
                    {
                        SellerAccount          = seller,
                        ShoppingCartViewModels = new List <ShoppingCartViewModel>(),
                    };
                    shoppingCartWrapper.Add(wrapper);
                }

                ShoppingCartViewModel temp;
                result.ForEach(resultData =>
                {
                    shoppingCartWrapper.ForEach(cartData =>
                    {
                        if (cartData.SellerAccount.Equals(resultData.OwnerAccount, StringComparison.InvariantCulture))
                        {
                            temp = new ShoppingCartViewModel(resultData.MerchandiseTitle, resultData.OwnerAccount, resultData.MerchandiseId, resultData.Price, resultData.SpecId, resultData.Spec1, resultData.Spec2, resultData.PurchaseQty);
                            cartData.ShoppingCartViewModels.Add(temp);
                        }
                    });
                });

                return(new BaseResponse <List <ShoppingCartWrapper> >(true, "List of shoppingCart", shoppingCartWrapper));
            }
            catch (Exception)
            {
                return(new BaseResponse <List <ShoppingCartWrapper> >(false, "Cannot get list of shoppingCart", null));
            }
        }
示例#2
0
        //TODO mock the session to get the cart
        public void FromSession_ShouldGetTheCartFromSession()
        {
            //Arrange
            var sessionItems = new SessionStateItemCollection();

            sessionItems.Dirty   = false;
            sessionItems["cart"] = new ShoppingCart();

            var fakeHttpContext = FakeFactory.FakeHttpContextWithSession(sessionItems);

            var shoppingCartWrapper = new ShoppingCartWrapper(fakeHttpContext);

            //Act
            var shoppingCart = shoppingCartWrapper.Get();

            //Assert
            shoppingCart.Should().NotBeNull();
        }
示例#3
0
        public ShoppingCartWrapper LoadCart(Guid customerId, string cartName, bool createIfNotExists = false)
        {
            ShoppingCartWrapper shoppingCartWrapper = null;
            ICart cart;

            if (!createIfNotExists)
            {
                cart = _orderRepository.LoadCart <ICart>(customerId, cartName);
            }
            else
            {
                cart = _orderRepository.LoadOrCreateCart <ICart>(customerId, cartName);
            }

            if (cart != null)
            {
                shoppingCartWrapper = new ShoppingCartWrapper(cart);
            }

            return(shoppingCartWrapper);
        }
示例#4
0
 public void Save(ShoppingCartWrapper cart)
 {
     _orderRepository.Save(cart.ShoppingCart);
 }
 public ShoppingCartPageViewModel(ShoppingCartPage shoppingCartPage, ShoppingCartWrapper shoppingCartWrapper)
 {
     _shoppingCartPage    = shoppingCartPage;
     _shoppingCartWrapper = shoppingCartWrapper;
 }