Skip to content

Commit 73434ab

Browse files
committed
Simplify new orders appending logic
1 parent c5c82eb commit 73434ab

File tree

1 file changed

+8
-17
lines changed

1 file changed

+8
-17
lines changed

WooCommerce/Classes/POS/Controllers/PointOfSaleOrdersController.swift

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -92,27 +92,18 @@ protocol PointOfSaleOrdersControllerProtocol {
9292
do {
9393
let pagedOrders = try await fetchStrategy.fetchOrders(pageNumber: pageNumber)
9494

95-
let newOrders = pagedOrders.items
96-
var allOrders = appendToExistingOrders ? ordersViewState.orders : []
97-
let uniqueNewOrders = newOrders.filter { newOrder in
98-
!allOrders.contains(where: { $0.id == newOrder.id })
95+
let existingOrders = appendToExistingOrders ? ordersViewState.orders : []
96+
let uniqueNewOrders = pagedOrders.items.filter { newOrder in
97+
!existingOrders.contains(where: { $0.id == newOrder.id })
9998
}
99+
let allOrders = appendToExistingOrders ? existingOrders + uniqueNewOrders : uniqueNewOrders
100100

101-
if appendToExistingOrders && !uniqueNewOrders.isEmpty {
102-
allOrders.append(contentsOf: uniqueNewOrders)
103-
} else if !appendToExistingOrders {
104-
allOrders = uniqueNewOrders
105-
}
106-
107-
if allOrders.isEmpty {
108-
ordersViewState = .empty
109-
} else {
110-
ordersViewState = .loaded(allOrders, hasMoreItems: pagedOrders.hasMorePages)
101+
ordersViewState = allOrders.isEmpty ? .empty : .loaded(allOrders, hasMoreItems: pagedOrders.hasMorePages)
111102

112-
if pageNumber == 1 && !appendToExistingOrders {
113-
cachedOrders = allOrders
114-
}
103+
if pageNumber == 1 && !appendToExistingOrders {
104+
cachedOrders = allOrders
115105
}
106+
116107
return pagedOrders.hasMorePages
117108
} catch PointOfSaleOrderServiceError.requestCancelled {
118109
return true

0 commit comments

Comments
 (0)