[OperationContract(IsOneWay = false)] [WebInvoke(RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, Method = "GET", BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "/EnumJobs?pageSize={pageSize}&label={label}&userName={userName}&status={status}&createdFromTo={createdFromTo}&convertedFromTo={convertedFromTo}&sortColumns={sortColumns}")] JobEnum EnumJobs(int pageSize, string label, string userName, int status, string createdFromTo, string convertedFromTo, string sortColumns); [OperationContract(IsOneWay = false)] [WebInvoke(RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, Method = "GET", BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "/EnumJobsGetPage?enumID={enumID}&pageIndex={pageIndex}")] JobResult[] EnumJobsGetPage(int enumID, int pageIndex); 1.) EnumJobs Parameters: -pageSize=the size of the page(because of paging) -label=the label filter, can contain wildcards * -userName=the username filter, can contain wildcards -status=the status of the jobs which should be returned, or 100 for all status -createdFromTo="yyyy/MM/dd HH:mm:ss-yyyy/MM/dd HH:mm:ss" -convertedFromTo="yyyy/MM/dd HH:mm:ss-yyyy/MM/dd HH:mm:ss" -sortColumns="ColumName1 ASC,ColumnName DESC,..." The createdFromTo, convertedFromTo and sortColumns can be empty strings. The available sort columns are the following: -DateCreated -DateConverted -StatusCode -UserName -JobLabel The function will return a structure which holds information about the search/paging: JobEnum { PageSize, // page size, which was requested PagesCount, // total pages TotalJobs, // total jobs JobEnumID // the enum identifier } The JobEnumID will be used for subsequent calls of EnumJobsGetPage 2.) EnumJobsGetPage Parameters: - enumID: the value which is returned by the EnumJobs function - pageIndex: the index of the page which is requested, the first page is 1 The total number of pages are also returned by the EnumJobs function