Exemplo n.º 1
0
        public int AddItem(int id)
        {
            int count = 0;

            if (User.Identity.IsAuthenticated)
            {
                var userId = int.Parse(User.Identity.Name);

                var product   = repository.Products.SingleOrDefault(p => p.Id == id);
                var itemExist = repository.ItemInOrders.SingleOrDefault(i => i.CustomerId == userId && i.ProductId == id);
                if (itemExist != null)
                {
                    itemExist.Quantity++;
                }
                else
                {
                    var item = new ItemInOrder
                    {
                        CustomerId = userId,
                        Price      = product.Price,
                        ProductId  = id,
                        Quantity   = 1,
                        ImagePath  = "asDasd"
                    };
                    repository.ItemInOrders.Add(item);
                }
                repository.SaveChanges();

                count = repository.ItemInOrders.Where(i => i.CustomerId == userId && i.OrderId == null).Sum(o => o.Quantity);
            }
            return(count);
        }
Exemplo n.º 2
0
        public ItemInOrder GetNextItemInOrder()
        {
            Random      rand      = new Random(Guid.NewGuid().GetHashCode());
            int         ProductId = rand.Next() % ProductGenerator.ProductId + 1;
            int         Quantity  = rand.Next() % 100 + 1;
            ItemInOrder a         = new ItemInOrder(ItemInOrderId, ProductId, Quantity);

            ItemInOrderId++;
            return(a);
        }
Exemplo n.º 3
0
        public ActionResult AddItem(string itemName, int?quantity, double?price)
        {
            currentOrder.ItemErrorMessages.Clear();
            if (string.IsNullOrEmpty(itemName))
            {
                currentOrder.ItemErrorMessages.Add("Please enter name of an item");
            }
            if (quantity == null || quantity == 0)
            {
                currentOrder.ItemErrorMessages.Add("Please enter quantity of the item. Quantity cannot eq 0.");
            }
            if (price == null)
            {
                currentOrder.ItemErrorMessages.Add("Please enter price of the item.");
            }
            if (currentOrder.ItemErrorMessages.Count() > 0)
            {
                return(View("Create", currentOrder));
            }
            var itemInOrder = currentOrder.ItemsInOrder.
                              Where(ist => ist.Item.Name.ToLower() == itemName.ToLower()).FirstOrDefault();

            if (itemInOrder != null)
            {
                itemInOrder.Quantity += quantity ?? 0;
                return(View("Create", currentOrder));
            }
            var item = db.Items.Where(i => i.Name.ToLower() == itemName.ToLower()).FirstOrDefault();

            if (item == null)
            {
                currentOrder.ItemErrorMessages.Add("No such item in catalogue: " + item + ".");
                currentOrder.ItemErrorMessages.Add("No such item in catalogue: " + item + ".");
                return(View("Create", currentOrder));
            }

            itemInOrder = new ItemInOrder()
            {
                Item = item, Quantity = quantity ?? 0, CreatedOn = DateTime.Now, Price = (decimal?)price
            };
            currentOrder.ItemsInOrder.Add(itemInOrder);
            return(View("Create", currentOrder));
        }