|
|
@@ -44,12 +44,21 @@ namespace BulkPrintingAPI.Controllers
|
|
44
|
44
|
|
|
45
|
45
|
[HttpGet]
|
|
46
|
46
|
public async Task<Page<VendorEvent>> GetVendorEventsAsync([FromQuery] int page = 1,
|
|
47
|
|
- [FromQuery] int pageSize = 100)
|
|
|
47
|
+ [FromQuery] int pageSize = 100, [FromQuery] int? maxRemoteId = null)
|
|
48
|
48
|
{
|
|
49
|
49
|
var credentials = await Utils.GetLoginCredentialsFromRequestAsync(HttpContext, _context);
|
|
50
|
|
- return await Page<VendorEvent>.GetPageAsync(
|
|
51
|
|
- VendorEventsForVendor(credentials.Vendor.Id).OrderByDescending(e => e.EventDate),
|
|
52
|
|
- page, pageSize);
|
|
|
50
|
+ var query = VendorEventsForVendor(credentials.Vendor.Id);
|
|
|
51
|
+ if (maxRemoteId.HasValue)
|
|
|
52
|
+ {
|
|
|
53
|
+ query = query.Where(e => e.RemoteId <= maxRemoteId)
|
|
|
54
|
+ .OrderByDescending(e => e.VendorId)
|
|
|
55
|
+ .ThenByDescending(e => e.RemoteId);
|
|
|
56
|
+ }
|
|
|
57
|
+ else
|
|
|
58
|
+ {
|
|
|
59
|
+ query = query.OrderByDescending(e => e.Id);
|
|
|
60
|
+ }
|
|
|
61
|
+ return await Page<VendorEvent>.GetPageAsync(query, page, pageSize);
|
|
53
|
62
|
}
|
|
54
|
63
|
|
|
55
|
64
|
[HttpPost]
|