/// <summary> /// Get all milestones available to the user /// </summary> /// <returns></returns> public async Task <MilestonesResponse> GetAllMilestonesAsync(int page) { using (var client = new AuthorisedHttpClient(_client)) { var data = await client.GetAsync <MilestonesResponse>("milestones.json" + "?page=" + page, null); if (data.StatusCode == HttpStatusCode.OK) { return((MilestonesResponse)data.ContentObj); } } return(null); }
public async Task <ExpenseResponse> GetAllExpensesAsync() { using (var client = new AuthorisedHttpClient(_client)) { var data = await client.GetAsync <ExpenseResponse>("expenses.json", null); if (data.StatusCode == HttpStatusCode.OK) { return((ExpenseResponse)data.ContentObj); } } return(null); }
public async Task <TimeEntryResponse> GetAllTime_EntriesAsync_Billable(string billable, int page) { using (var client = new AuthorisedHttpClient(_client)) { var data = await client.GetAsync <TimeEntryResponse>("time_entries.json" + "?billableType=" + billable + "&page=" + page + "&pageSize=500" + "&projectType=ALL" + "&sortorder=DESC", null); if (data.StatusCode == HttpStatusCode.OK) { var response = (TimeEntryResponse)data.ContentObj; return(response); } } return(null); }
/// <summary> /// Get all time entries in a provided date range /// </summary> /// <param name="page">int page index</param> /// <param name="pageSize">int page size / number of results per page</param> /// <param name="dateFrom">string date from yyyymmdd</param> /// <param name="dateTo">string date to yyyymmdd</param> /// <returns></returns> public async Task <TimeEntryResponse> GetAllTime_Entries_InDateRangeAsync(int page, string dateFrom, string dateTo) { using (var client = new AuthorisedHttpClient(_client)) { var data = await client.GetAsync <TimeEntryResponse>("time_entries.json" + "?page=" + page + "&pageSize=500" + "&fromDate=" + dateFrom + "&toDate=" + dateTo + "&projectType=ALL" + "&sortorder=DESC", null); if (data.StatusCode == HttpStatusCode.OK) { var response = (TimeEntryResponse)data.ContentObj; return(response); } } return(null); }
/// <summary> /// Get all projects the user has access to after a provided date /// </summary> /// <param name="date">string format(yyyymmdd)</param> /// <returns></returns> public async Task <ProjectsResponse> GetAllProjectsCreatedAfterDateAsync(string date) { using (var client = new AuthorisedHttpClient(_client)) { var url = $"projects.json" + "?updatedAfterDate=" + date; var endpoint = url.ToString(); var data = await client.GetAsync <ProjectsResponse>(endpoint, null); if (data.StatusCode == HttpStatusCode.OK) { return((ProjectsResponse)data.ContentObj); } } return(null); }
/// <summary> /// Get all time entries for a project providing a project id /// </summary> /// <param name="projectId">project id to be queried</param> /// <param name="page">int page index</param> /// <param name="pageSize">int page size / number of results per page</param> /// <returns></returns> public async Task <TimeEntryResponse> GetAllTime_EntriesAsync_ForProject(int projectId, int page) { using (var client = new AuthorisedHttpClient(_client)) { var url = $"projects/{projectId}/time_entries.json" + "?page=" + page + "&pageSize=500" + "&projectType=ALL" + "&sortorder=DESC"; var endpoint = url.ToString(); var data = await client.GetAsync <TimeEntryResponse>(endpoint, null); if (data.StatusCode == HttpStatusCode.OK) { var response = (TimeEntryResponse)data.ContentObj; return(response); } } return(null); }
public async Task <TimeTotalsAcrossProjectsResponse> GetTotal_Time_On_Project() { using (var client = new AuthorisedHttpClient(_client)) { var url = $"projects/time/total.json" + "?projectType=ALL"; var endpoint = url.ToString(); var data = await client.GetAsync <TimeTotalsAcrossProjectsResponse>(endpoint, null); if (data.StatusCode == HttpStatusCode.OK) { var response = (TimeTotalsAcrossProjectsResponse)data.ContentObj; return(response); } } return(null); }
/// <summary> /// Returns all projects the user has access to /// </summary> /// <returns></returns> public async Task <ProjectsResponse> GetAllProjectsAsync() { using (var client = new AuthorisedHttpClient(_client)) { var data = await client.GetAsync <ProjectsResponse>("projects.json" + "?status=ALL", null); if (data.StatusCode == HttpStatusCode.NotModified) { return((ProjectsResponse)data.ContentObj); } if (data.StatusCode == HttpStatusCode.OK) { return((ProjectsResponse)data.ContentObj); } } return(null); }