public async Task <List <ResponseModelTask> > GetTasks(ParamsGetTasks param) { var tasks = new List <ResponseModelTask>(); var page = 0; while (true) { param.Page = page++; var queryString = OptionalParamGenerator.GenerateOptionalParams(param); var request = CreateRequest($"team/{param.TeamId}/task?{queryString}", Method.GET); var res = await RestSharperHelper.ExecuteRequestAsync <ResponseTasks, ResponseError>(_client, request); if (res.ResponseError != null) { throw new Exception($"{res.ResponseError.ECode} {res.ResponseError.Status} {res.ResponseError.Err}"); } if (!res.ResponseSuccess.Tasks.Any()) { break; } tasks.AddRange(res.ResponseSuccess.Tasks); } return(tasks); }
/// <summary> /// Get Tasks of the Team and filter its by optionalParams /// </summary> /// <param name="paramsGetTasks">param object of get tasks request</param> /// <param name="optionalParams">OptionalParamsGetTask object</param> /// <returns>ResponseGeneric with ResponseTasks object expected</returns> public Task <ResponseGeneric <ResponseTasks, ResponseError> > GetTasksAsync(ParamsGetTasks paramsGetTasks) { var client = new RestClient(_baseAddress); var request = new RestRequest($"team/{paramsGetTasks.TeamId}/task", Method.GET); request.AddHeader("authorization", AccessToken); // execute the request return(RestSharperHelper.ExecuteRequestAsync <ResponseTasks, ResponseError>(client, request)); }