Example #1
0
        public void AddToBasket(HttpContextBase httpContext, string productId)
        {
            Basket      basket = GetBasket(httpContext, true);
            BasketItems item   = basket.BasketItems.FirstOrDefault(i => i.ProductID == productId);

            if (item == null)
            {
                item = new BasketItems()
                {
                    BasketID  = basket.Id,
                    ProductID = productId,
                    Quantity  = 1
                };

                basket.BasketItems.Add(item);
            }
            else
            {
                item.Quantity = item.Quantity + 1;
            }

            basketContext.Commit();
        }
        private async Task ReCalculateTotalAsync()
        {
            Total = 0;

            if (BasketItems == null)
            {
                return;
            }

            foreach (var orderItem in BasketItems)
            {
                Total += (orderItem.Quantity * orderItem.UnitPrice);
            }

            var authToken = _settingsService.AuthAccessToken;
            var userInfo  = await _userService.GetUserInfoAsync(authToken);

            await _basketService.UpdateBasketAsync(new CustomerBasket
            {
                BuyerId = userInfo.UserId,
                Items   = BasketItems.ToList()
            }, authToken);
        }
        public async Task AddBasketItem(int productID, string username)
        {
            try
            {
                Basket basket = await _context.Basket
                                .FirstOrDefaultAsync(x => x.UserName == username);

                Product product = await _context.Product
                                  .FirstOrDefaultAsync(x => x.ID == productID);

                if (BasketExists(productID, username))
                {
                    BasketItems item = await _context.BasketItems.FirstOrDefaultAsync(x => x.ID == productID);

                    item.Quantity++;
                    item.LineItemAmount += product.Price;
                }
                else
                {
                    BasketItems basketItem = new BasketItems()
                    {
                        BasketID       = basket.ID,
                        ProductID      = product.ID,
                        Product        = product,
                        Quantity       = 1,
                        LineItemAmount = product.Price
                    };
                    _context.BasketItems.Add(basketItem);
                }
                await _context.SaveChangesAsync();
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Example #4
0
        //
        public async Task <IActionResult> Details(int id, int quantity)
        {
            var userID = _userManager.GetUserId(User);

            BasketItems item = await _basket.GetBasketItem(id, userID);

            if (item != null)
            {
                item.Quantity += quantity;
                await _basket.UpdateBasketItems(item);
            }
            else
            {
                item           = new BasketItems();
                item.ProductID = id;
                item.Quantity  = quantity;
                item.UserID    = userID;

                await _basket.AddItem(item);
            }
            var product = await _product.GetProduct(id);

            return(View(product));
        }
Example #5
0
        public void DeleteItem()
        {
            Console.Clear();
            Console.WriteLine("BASKET VIEW");
            ShowBasket();
            Console.WriteLine();
            Console.WriteLine("Please provide the item number for deletion");
            Console.WriteLine($"To delete all items, write {BasketItems.Count() + 1}");
            int itemToDelete = GeneralStaticClass.ReadIntNumber();

            while (BasketItems.Count() + 1 < itemToDelete || itemToDelete < 0)
            {
                Console.WriteLine("Invalid choice");
                itemToDelete = GeneralStaticClass.ReadIntNumber();
            }
            if (itemToDelete == BasketItems.Count() + 1)
            {
                BasketItems.Clear();
            }
            else
            {
                BasketItems.RemoveAt(itemToDelete - 1);
            }
        }
Example #6
0
        public async void CreateBasketItemTest()
        {
            DbContextOptions <CerealDBContext> options =
                new DbContextOptionsBuilder <CerealDBContext>()
                .UseInMemoryDatabase("Baskets")
                .Options;

            using (CerealDBContext context = new CerealDBContext(options))
            {
                //CREATE
                BasketItems basket = new BasketItems();
                basket.ID        = 1;
                basket.ProductID = 2;
                basket.Quantity  = 2;
                basket.UserID    = "userid";
                basket.Purchased = false;

                context.BasketItems.Add(basket);

                await context.SaveChangesAsync();

                Assert.Equal(1, basket.ID);
            }
        }
Example #7
0
 public void AddItems(Book book)
 {
     BasketItems.Add(book);
 }
Example #8
0
 public decimal GetTotalPrice()
 {
     return(BasketItems.Sum(o => o.GetTotalPrice()));
 }
Example #9
0
 public decimal TotalPrice() => BasketItems.Sum(x => x.Price * x.Quantity);
Example #10
0
 public void Add(BasketItem basketItem)
 {
     BasketItems.Add(basketItem);
 }
Example #11
0
        public void LoadBasket(int userid)
        {
            BasketItems.Clear();

            string page;

            System.Threading.Thread.Sleep(1000);
            do
            {
                page = helper.GetPageGoods("http://" + helper.loginpage.tbxServer.Text + "/wpbuyings/");
                System.Threading.Thread.Sleep(500);
            } while (page.Length < 10);

            page = page.Replace("<HEAD>", "\\").Replace("</HEAD>", "\\").
                   Replace("<BODY>", "\\").Replace("</BODY>", "\\").
                   Replace("<HTML>", "\\").Replace("</HTML>", "\\").
                   Replace("<BR>", "\\");

            List <BuyingInfo> infos = new List <BuyingInfo>();

            string[] lines = page.Split(new char[] { '\r', '\n', '\\' }, StringSplitOptions.RemoveEmptyEntries);

            foreach (var i in lines)
            {
                string[] line = i.Split(new char[] { '|' }, StringSplitOptions.None);


                BuyingInfo info;
                try
                {
                    info = new BuyingInfo()
                    {
                        customerId = int.Parse(line[0]),
                        productId  = int.Parse(line[1]),
                        amount     = int.Parse(line[2]),
                    };
                    if (info.customerId == userid)
                    {
                        infos.Add(info);
                    }
                }
                catch (Exception)
                {
                }
            }

            foreach (var i in infos)
            {
                string productName = "";
                foreach (var j in CompleteData)
                {
                    if (i.productId.ToString() == j.LineFive)
                    {
                        productName = j.LineOneNoCat;
                        break;
                    }
                }

                string productPrice = "";
                foreach (var j in CompleteData)
                {
                    if (i.productId.ToString() == j.LineFive)
                    {
                        productPrice = j.LineTwo;
                        break;
                    }
                }

                string uri = "";
                foreach (var j in CompleteData)
                {
                    if (i.productId.ToString() == j.LineFive)
                    {
                        uri = j.ImgUrl;
                        break;
                    }
                }

                string lineInfo = i.amount + " шт, $" + productPrice;

                ItemViewModel item = new ItemViewModel()
                {
                    LineOne   = i.customerId.ToString(),
                    LineTwo   = i.productId.ToString(),
                    LineThree = i.amount.ToString(),
                    LineFour  = productName,
                    LineFive  = productPrice,

                    LineOneNoCat = "",
                    LineCat      = "",
                    LineInfo     = lineInfo,

                    ImgUrl = uri,
                };
                this.BasketItems.Add(item);
            }
        }
Example #12
0
 public async Task AddItem(BasketItems basketItems)
 {
     _context.BasketItems.Add(basketItems);
     await _context.SaveChangesAsync();
 }
Example #13
0
 private void AddItemToBasketMethod()
 {
     BasketItems.Add(CurrentSelectedCatalogItem);
     DisableAddIfInBasket();
 }
Example #14
0
 public void AddBasketItem(IBasketItem item)
 {
     BasketItems.Add((BasketItem)item);
 }
 public decimal Total()
 {
     return(Math.Round(BasketItems.Sum(x => x.UnitPrice * x.Quantity), 2));
 }
Example #16
0
 private void RemoveFromBasketCommandExecute(object obj)
 {
     BasketItems.Remove(SelectedBasketItem);
 }
Example #17
0
 public void ClearBasket()
 {
     BasketItems.Clear();
     UpdateDiscount();
     UpdateTotalPrice();
 }
 private async Task AddBasketItemAsync(BasketItem item)
 {
     BasketItems.Add(item);
     await ReCalculateTotalAsync();
 }
        private void AddBasketItem(BasketItem item)
        {
            BasketItems.Add(item);

            ReCalculateTotal();
        }
Example #20
0
 public decimal BasketItemCount()
 {
     return(BasketItems.Count());
 }
Example #21
0
 public void ClearBasket()
 {
     BasketItems.Clear();
 }
Example #22
0
 private void DisableAddIfInBasket()
 {
     IsItemInBasket = !BasketItems.Contains(CurrentSelectedCatalogItem);
 }
Example #23
0
        public decimal BasketTotal()
        {
            decimal?total = BasketItems.Select(i => (int)i.Quantity * i.Product.Price).Sum();

            return(total ?? decimal.Zero);
        }
Example #24
0
 public async Task UpdateBasketItems(BasketItems basketItems)
 {
     _context.BasketItems.Update(basketItems);
     await _context.SaveChangesAsync();
 }
Example #25
0
 public BasketItem Find(string name)
 {
     return(BasketItems.Find(item => item.ProductName == name));
 }