@@ -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