/// <summary>
 /// 根据指定的客户信息,创建客户对象。
 /// </summary>
 /// <param name="userDataObjects">包含了客户信息的数据传输对象。</param>
 /// <returns>已创建客户对象的全局唯一标识。</returns>
 public UserDataObjectList CreateUsers(UserDataObjectList userDataObjects)
 {
     if (userDataObjects == null)
     {
         throw new ArgumentNullException("userDataObjects");
     }
     return(PerformCreateObjects <UserDataObjectList, UserDataObject, User>(userDataObjects,
                                                                            _userRepository,
                                                                            dto =>
     {
         if (dto.DateRegistered == null)
         {
             dto.DateRegistered = DateTime.Now;
         }
     },
                                                                            ar =>
     {
         var shoppingCart = ar.CreateShoppingCart();
         _shoppingCartRepository.Add(shoppingCart);
     }));
 }
        public bool AddProductToShoppingCart(AddToShoppingCartRequest request)
        {
            string productId = request.ProductId;
            int    amount    = request.Amount;
            var    product   = productRepository.GetByProductId(productId);
            var    isAdded   = true;

            if (product == null || product.AvailableQuantity == 0 || amount == 0)
            {
                return(false);
            }

            var shoppingCartItem = shoppingCartRepository.GetShoppingCartByProductId(productId);

            //if this product is not in shopping cart
            if (shoppingCartItem == null)
            {
                shoppingCartItem = new ShoppingCart {
                    ProductId = product.Id,
                    Amount    = Math.Min(product.AvailableQuantity, amount)
                };
                //adds the product to the shopping cart as much as the amount available in stock
                shoppingCartRepository.Add(shoppingCartItem);
            }
            else
            {
                if (product.AvailableQuantity - shoppingCartItem.Amount - amount >= 0)
                {
                    shoppingCartItem.Amount += amount;
                }
                else
                {
                    shoppingCartItem.Amount += (product.AvailableQuantity - shoppingCartItem.Amount);
                    isAdded = false;
                }
                shoppingCartRepository.UpdateShoppingCart(shoppingCartItem);
            }
            return(isAdded);
        }
Exemple #3
0
        public ActionResult SignUpView(Account newAccount)
        {
            if (ModelState.IsValid)
            {
                if (!accountRepository.CheckAccount(newAccount))
                {
                    accountRepository.Add(newAccount);

                    OrdersCart ordersCart = new OrdersCart(newAccount.Id);
                    ordersCartRepository.Add(ordersCart);

                    ShoppingCart shoppingCart = new ShoppingCart(newAccount.Id);
                    shoppingCartRepository.Add(shoppingCart);

                    return(RedirectToAction("StorePageView", "Item", new { id = newAccount.Id }));
                }


                //Add error
                ViewBag.Message = "An error occured. Try again.";
            }

            return(View());
        }
Exemple #4
0
 public void Execute()
 {
     _productRepository.DecreaseStock(_product.ProductId, 1);
     _shoppingCartRepository.Add(_product);
 }
Exemple #5
0
 public void Add(ShoppingCart shoppingCart)
 {
     _shoppingCartRepository.Add(shoppingCart);
 }
Exemple #6
0
        public ShoppingCart Add(ShoppingCart shoppingCart)
        {
            _shoppingCartRepository.Add(shoppingCart);

            return(shoppingCart);
        }
 public void Execute()
 {
     productRepository.DecreaseStockBy(product.ArticleId, 1);
     shoppingCartRepository.Add(product);
 }
 // This code works but only can send one cartline to the database
 public JsonResult AddOrder(TblOrder item)
 {
     item = repository.Add(item);
     return(Json(item, JsonRequestBehavior.AllowGet));
 }