コード例 #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="shoppingCartModel"></param>
        /// <returns></returns>
        public ShoppingCartModel CreateShoppingCart(ShoppingCartModel shoppingCartModel)
        {
            var newShoppingCart = new ShoppingCart()
            {
                Id               = shoppingCartModel.id,
                Date             = DateTime.Now,
                ShoppingProducts = new List <ShoppingProduct>()
            };

            _shoppingCartRepository.Add(newShoppingCart);

            _context.SaveChanges();

            if (shoppingCartModel.shoppingProducts != null && shoppingCartModel.shoppingProducts.Count > 0)
            {
                foreach (var prod in shoppingCartModel.shoppingProducts)
                {
                    newShoppingCart.ShoppingProducts.Add(CreateShoppingProduct(prod));
                }
            }

            _context.SaveChanges();

            return(ShoppingCartModelBuilder.Create(newShoppingCart));
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: rdiego821/C-sharp-examples
        static void Main(string[] args)
        {
            var shoppingCartRepository = new ShoppingCartRepository();
            var productsRepository     = new ProductsRepository();

            var product          = productsRepository.FindBy("SM7B");
            var addToCartCommand = new AddToCartCommand(shoppingCartRepository, productRepository, product);

            var increaseQuantityCommand = new ChangeQuantityCommand(
                ChangeQuantityCommand.Operation.Increase,
                shoppingCartRepository,
                product);

            var manager = new CommandManager();

            manager.Invoke(addToCartCommand);
            manager.Invoke(increaseQuantityCommand);
            manager.Invoke(increaseQuantityCommand);
            manager.Invoke(increaseQuantityCommand);


            shoppingCartRepository.Add(product);
            shoppingCartRepository.IncreaseQuantity(product.ArticleId);
            shoppingCartRepository.IncreaseQuantity(product.ArticleId);
            shoppingCartRepository.IncreaseQuantity(product.ArticleId);
            shoppingCartRepository.IncreaseQuantity(product.ArticleId);

            PrintCart(shoppingCartRepositiry);
        }
コード例 #3
0
        public IHttpActionResult Create([FromBody] ShoppingCartPostDto shoppingCartPostDto)
        {
            var shoppingCart = new ShoppingCart();

            shoppingCart.CreationDate = DateTime.Now;
            shoppingCart.CustomerId   = shoppingCartPostDto.CustomerId;

            shoppingCartRepository.Add(shoppingCart);
            shoppingCartRepository.SaveChanges();
            return(Ok(shoppingCart));
        }
コード例 #4
0
        public ActionResult Create(string id)
        {
            if (id != null)
            {
                ShoppingCarts cart = new ShoppingCarts
                {
                    CustomerId = id
                };
                shoppingCartRepository.Add(cart);
            }

            return(RedirectToAction("Index", "Home"));
        }
コード例 #5
0
 public void Add(ShoppingCart shoppingCart)
 {
     using (var _shoppingCarts = new ShoppingCartRepository())
     {
         try
         {
             _shoppingCarts.Add(shoppingCart);
         }
         catch
         {
             throw;
         }
     }
 }
コード例 #6
0
        public void it_adds_product_to_cart_and_prints_it_out_using_repository_pattern()
        {
            // Arrange
            var shoppingCartRepository = new ShoppingCartRepository();
            var productsRepository     = new ProductsRepository();

            Product product = productsRepository.FindBy("SM7B");

            shoppingCartRepository.Add(product);
            shoppingCartRepository.IncreaseQuantity(product.ArticleId);
            shoppingCartRepository.IncreaseQuantity(product.ArticleId);
            shoppingCartRepository.IncreaseQuantity(product.ArticleId);
            shoppingCartRepository.IncreaseQuantity(product.ArticleId);

            PrintCart(shoppingCartRepository);
        }
コード例 #7
0
        public ActionResult addBookToCart(int?id)
        {
            if (id.HasValue)
            {
                ShoppingCart shoppingCart = new ShoppingCart();
                shoppingCart.AccountId  = int.Parse(User.Identity.Name);
                shoppingCart.BookId     = id.Value;
                shoppingCart.RentedDate = DateTime.Now;

                repository.Add(shoppingCart);
                repository.SaveChanges();
            }

            TempData["Success"] = "The book has been rented";
            return(RedirectToAction("Index", "Books"));
        }
コード例 #8
0
        public void Test_Add_CallsTheShoppingCartAddMethodOnce_WhenCalled()
        {
            //Arrange
            ShoppingCart cart        = new ShoppingCart();
            var          mockSet     = new Mock <IDbSet <ShoppingCart> >();
            var          mockContext = new Mock <ECommerceEntities>();

            mockContext.Setup(m => m.ShoppingCart).Returns(mockSet.Object);
            var MockProduct = new ShoppingCartRepository(mockContext.Object);

            //Act
            MockProduct.Add(cart);

            //Assert
            mockSet.Verify(m => m.Add(It.IsAny <ShoppingCart>()), Times.Once());
        }
コード例 #9
0
        public void Test_Add_CheckAdditionOfProducts_WhenAdded()
        {
            //Arrange
            ShoppingCart product = new ShoppingCart();
            var          mockSet = new Mock <IDbSet <ShoppingCart> >();

            var mockContext = new Mock <BookSaleEntities>();

            mockContext.Setup(m => m.ShoppingCart).Returns(mockSet.Object);

            //Act
            var test = new ShoppingCartRepository(mockContext.Object);

            test.Add(product);

            //Assert
            mockSet.Verify(m => m.Add(It.IsAny <ShoppingCart>()), Times.Once());
        }
コード例 #10
0
        public async Task <ShoppingCart> GetExistingOrCreateNewCart(int accountId)
        {
            var user = await _userManager.FindByIdAsync(accountId.ToString());

            var cart = repository.context.ShoppingCarts
                       .Include(x => x.Items).ThenInclude(y => y.Book)
                       .Where(x => x.Account == user)
                       .FirstOrDefault();

            if (cart != null)
            {
                return(cart);
            }
            var newCart = new ShoppingCart
            {
                Account = user
            };

            repository.Add(newCart);
            return(newCart);
        }
コード例 #11
0
        public int CartAdd(ShoppingCart entity)
        {
            int product = cartRepository.Add(entity);

            return(product);
        }