예제 #1
0
        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);
        }
예제 #2
0
        /// <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));
        }