public static async Task <List <TWP_Accruals> > GetAccruals(int siteId, string apiToken, DateTime?asOfDate = null, string category = null) { List <TWP_Accruals> allAccruals = new List <TWP_Accruals>(); string pagedURL = $"{TWP_API_UTILS.ACCRUALS_ENDPOINT}?pageSize={API_PAGE_SIZE}"; if (asOfDate != null) { pagedURL += $"&asOfDate={TWP_API_UTILS.FormatAPIDate(asOfDate.Value)}"; } if (category != null) { pagedURL += $"&category={category}"; } while (!String.IsNullOrEmpty(pagedURL)) { string apiResponse = await CallTWPAPI(siteId, apiToken, pagedURL, HttpMethod.Get); TWP_API_List_Response result = JsonConvert.DeserializeObject <TWP_API_List_Response>(apiResponse); allAccruals.AddRange(result.Results.Select(accJson => accJson.ToObject <TWP_Accruals>())); pagedURL = result.NextPageLink; } return(allAccruals); }
public static async Task <List <TWP_Employee> > ListEmployees(int siteId, string apiToken) { List <TWP_Employee> allEmployees = new List <TWP_Employee>(); string pagedURL = $"{TWP_API_UTILS.EMPLOYEES_ENDPOINT}?pageSize={API_PAGE_SIZE}"; while (!String.IsNullOrEmpty(pagedURL)) { string apiResponse = await CallTWPAPI(siteId, apiToken, pagedURL, HttpMethod.Get); TWP_API_List_Response result = JsonConvert.DeserializeObject <TWP_API_List_Response>(apiResponse); allEmployees.AddRange(result.Results.Select(empJson => empJson.ToObject <TWP_Employee>())); pagedURL = result.NextPageLink; } return(allEmployees); }
public static async Task <List <TWP_AccrualActivities> > GetAccrualActivity(int siteId, string apiToken, DateTime?startDate = null, DateTime?endDate = null, string category = null, List <string> employeeIds = null) { List <TWP_AccrualActivities> allAccruals = new List <TWP_AccrualActivities>(); string pagedURL = $"{TWP_API_UTILS.ACCRUALS_ACTIVITY_ENDPOINT}?pageSize={API_PAGE_SIZE}"; if (startDate != null) { pagedURL += $"&startDate={TWP_API_UTILS.FormatAPIDate(startDate.Value)}"; } if (endDate != null) { pagedURL += $"&endDate={TWP_API_UTILS.FormatAPIDate(endDate.Value)}"; } if (category != null) { pagedURL += $"&category={category}"; } if (employeeIds.SafeCount() > 0) { pagedURL += $"&ids={String.Join(",", employeeIds)}"; } while (!String.IsNullOrEmpty(pagedURL)) { string apiResponse = await CallTWPAPI(siteId, apiToken, pagedURL, HttpMethod.Get); TWP_API_List_Response result = JsonConvert.DeserializeObject <TWP_API_List_Response>(apiResponse); allAccruals.AddRange(result.Results.Select(accJson => accJson.ToObject <TWP_AccrualActivities>())); pagedURL = result.NextPageLink; } return(allAccruals); }