private async Task LoadMoreOrders()
        {
            if (HasMoreOrders)
            {
                await Task.Delay(200);

                PageIndex += 1;
                var orderHistoryRequest = new OrderHistoryRequest
                {
                    CustomerId = GlobalSettings.User.Id,
                    Page       = PageIndex,
                    PageSize   = GlobalSettings.AppConst.PageSize
                };

                await WebRequestExecuter.Execute(async() => await _wooCommerceService.GetOrders(orderHistoryRequest), myOrders =>
                {
                    if (myOrders != null && myOrders.Any())
                    {
                        foreach (var order in myOrders)
                        {
                            MyOrders.Add(order);
                        }

                        HasMoreOrders = myOrders.Count >= orderHistoryRequest.PageSize ? true : false;
                    }
                    else
                    {
                        PageIndex    -= 1;
                        HasMoreOrders = false;
                    }
                    return(Task.CompletedTask);
                });
            }
        }
Exemple #2
0
        public UserIndex Update(IUserOrder newUserOrder)
        {
            var index = MyOrders.IndexOf(newUserOrder);

            if (index >= 0)
            {
                throw new InvalidOperationException(string.Format("MyOrders already contains user order {0}.", newUserOrder));
            }

            var newMyOrder = MyOrders.Add(newUserOrder);

            return(new UserIndex(User, newUserOrder.Transaction, newMyOrder, AssigningOrders));
        }