示例#1
0
        public void GroupOrder(OrderVM order)
        {
            Dictionary <ItemVM, int> groupItems = new Dictionary <ItemVM, int>();

            foreach (var orderDetails in order.OrderDetailsVM)
            {
                foreach (var itemDetails in orderDetails.ItemDetailsVM)
                {
                    if (groupItems.ContainsKey(itemDetails.ItemVM))
                    {
                        groupItems[itemDetails.ItemVM] += itemDetails.Amount;
                    }
                    else
                    {
                        groupItems.Add(itemDetails.ItemVM, itemDetails.Amount);
                    }
                }
            }
            ResponseService.Init();
            ResponseService.Data = groupItems;
        }
示例#2
0
        public void GetMyOrders(Guid userId)
        {
            User user = null;

            //1-find user
            user = UserService.FindByGuid(userId);

            //2-find order
            CreateOrderIfNotExist();

            ResponseService.Init();

            if (user == null)
            {
                ResponseService.Status = false;
                ResponseService.Errors.Add("User Not Found");
                return;
            }

            Order order = FindCurrentOrder();

            //4-find order details
            OrderDetails orderDetails = null;

            orderDetails = CreateOrderDetailsIfNotExist(order, user);

            var result = new List <object>();

            foreach (var itemDetails in orderDetails.ItemDetails)
            {
                result.Add(new { guid = itemDetails.GUID, amount = itemDetails.Amount, item = itemDetails.Item.GUID });
            }
            ResponseService.Status = true;
            ResponseService.Data   = result;
            ResponseService.Success.Add("Fetched Successfully");
        }
示例#3
0
        public void RequestOrderItem(Guid userId, int amount, Guid itemId, string notes)
        {
            User   user = null;
            ItemVM item = null;

            //1-find user
            user = UserService.FindByGuid(userId);


            //2-find order
            CreateOrderIfNotExist();



            ResponseService.Init();
            if (user == null)
            {
                ResponseService.Status = false;
                ResponseService.Errors.Add("User Not Found");
                return;
            }


            Order order = FindCurrentOrder();

            if (order.Ordered)
            {
                ResponseService.Status = false;
                ResponseService.Errors.Add("Order Has Been Ordered!");
                return;
            }
            //3-find order details
            OrderDetails orderDetails = null;

            orderDetails = CreateOrderDetailsIfNotExist(order, user);

            //4-find item

            item = ItemService.GetByGuid(itemId);

            if (item == null)
            {
                ResponseService.Status = false;
                ResponseService.Errors.Add("User Not Found");
                return;
            }

            //5-create item details
            ItemDetails itemDetails = new ItemDetails()
            {
                OrderDetailsId = orderDetails.Id,
                ItemId         = item.ElementId,
                Amount         = amount,
                Notes          = notes
            };

            UnitOfWork.ItemDetailsRepository.Create(itemDetails);

            if (UnitOfWork.Save() > 0)
            {
                ResponseService.Status = true;
                ResponseService.Success.Add("Order Created Successfully");
            }
            else
            {
                ResponseService.Status = false;
                ResponseService.Errors.Add("Server Error");
            }
        }