using GB5Shared.ListQuery; namespace DXPDAL.VendorPo; // Multi-criteria list query per the "POST + payload, not GET + query-string" convention. // PartyId/OUId are resolved server-side from the caller's validated JWT context and // MPARTYACCOUNTOU membership — never trusted from the request body (a vendor could otherwise // ask for another party's POs by changing a query parameter). public class VendorPoCriteria : IListCriteria { // ICriteria public string? SearchText { get; set; } public int? OUId { get; set; } public int PageSize { get; set; } = 25; public int PageOffset { get; set; } = 0; // ISortable public string? SortBy { get; set; } public bool SortDesc { get; set; } public string[]? SortFields { get; set; } // IPageable public int? CursorId { get; set; } public bool SkipCount { get; set; } // PO-specific — set by VendorPoBLL from the caller's own context, not client input public int PartyId { get; set; } public int BizTransactionTypeId { get; set; } }