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); }); } }
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)); }