Пример #1
0
        private IEnumerable <string> GetFieldsNames(StoryIncludeFields fields)
        {
            if (fields.HasFlag(StoryIncludeFields.AfterId))
            {
                yield return("after_id");
            }

            if (fields.HasFlag(StoryIncludeFields.BeforeId))
            {
                yield return("before_id");
            }

            if (fields.HasFlag(StoryIncludeFields.Comments))
            {
                yield return("comments(:default,person,file_attachments,google_attachments)");
            }
            else if (fields.HasFlag(StoryIncludeFields.CommentIds))
            {
                yield return("comment_ids");
            }

            if (fields.HasFlag(StoryIncludeFields.Followers))
            {
                yield return("followers");
            }
            else if (fields.HasFlag(StoryIncludeFields.FollowerIds))
            {
                yield return("follower_ids");
            }

            if (fields.HasFlag(StoryIncludeFields.Tasks))
            {
                yield return("tasks");
            }
            else if (fields.HasFlag(StoryIncludeFields.TaskIds))
            {
                yield return("task_ids");
            }

            if (fields.HasFlag(StoryIncludeFields.Owners))
            {
                yield return("owners");
            }
            else if (fields.HasFlag(StoryIncludeFields.OwnerIds))
            {
                yield return("owner_ids");
            }

            if (fields.HasFlag(StoryIncludeFields.RequestedBy))
            {
                yield return("requested_by");
            }
        }
Пример #2
0
        public List<Story> GetAllStoriesMatchingFilter(int projectId, string filter, StoryIncludeFields fields)
        {
            var request = BuildGetRequest();
            request.Resource = string.Format(StoryFilterEndpoint, projectId, filter);

            string fieldsQuery = ":default";

            var fieldsToInclude = this.GetFieldsNames(fields);
            
            if (fieldsToInclude.Any())
                fieldsQuery += "," + string.Join(",", fieldsToInclude);
            
            request.AddQueryParameter("fields", fieldsQuery);

            return this.GetStories(request);
        }
Пример #3
0
        public Story GetStory(int projectId, int storyId, StoryIncludeFields fields)
        {
            var request = BuildGetRequest(string.Format(SingleStoryEndpoint, projectId, storyId));

            string fieldsQuery = ":default";

            var fieldsToInclude = this.GetFieldsNames(fields);

            if (fieldsToInclude.Any())
            {
                fieldsQuery += "," + string.Join(",", fieldsToInclude);
            }

            request.AddQueryParameter("fields", fieldsQuery);

            return(RestClient.ExecuteRequestWithChecks <Story>(request));
        }
Пример #4
0
        public List <Story> GetAllStories(int projectId, StoryIncludeFields fields)
        {
            var request = BuildGetRequest();

            request.Resource = string.Format(StoriesEndpoint, projectId);

            string fieldsQuery = ":default";

            var fieldsToInclude = this.GetFieldsNames(fields);

            if (fieldsToInclude.Any())
            {
                fieldsQuery += "," + string.Join(",", fieldsToInclude);
            }

            request.AddQueryParameter("fields", fieldsQuery);

            return(this.GetStories(request));
        }
Пример #5
0
 public List <Story> GetAllStoriesMatchingFilter(int projectId, FilteringCriteria filter, StoryIncludeFields fields)
 {
     return(this.GetAllStoriesMatchingFilter(projectId, filter.ToString(), fields));
 }
Пример #6
0
        private IEnumerable<string> GetFieldsNames(StoryIncludeFields fields)
        {
            if (fields.HasFlag(StoryIncludeFields.AfterId))
                yield return "after_id";

            if (fields.HasFlag(StoryIncludeFields.BeforeId))
                yield return "before_id";

            if (fields.HasFlag(StoryIncludeFields.Comments))
            {
                yield return "comments(:default,person,file_attachments,google_attachments)";
            }
            else if (fields.HasFlag(StoryIncludeFields.CommentIds))
                yield return "comment_ids";

            if (fields.HasFlag(StoryIncludeFields.Followers))
                yield return "followers";
            else if (fields.HasFlag(StoryIncludeFields.FollowerIds))
                yield return "follower_ids";

            if (fields.HasFlag(StoryIncludeFields.Tasks))
                yield return "tasks";
            else if (fields.HasFlag(StoryIncludeFields.TaskIds))
                yield return "task_ids";

            if (fields.HasFlag(StoryIncludeFields.Owners))
                yield return "owners";
            else if (fields.HasFlag(StoryIncludeFields.OwnerIds))
                yield return "owner_ids";

            if (fields.HasFlag(StoryIncludeFields.RequestedBy))
                yield return "requested_by";
        }
Пример #7
0
        public List<Iteration> GetAllIterations(int projectId, StoryIncludeFields fields)
        {
            var request = BuildGetRequest();
            request.Resource = string.Format(IterationEndPoint, projectId);

            string fieldsQuery = ":default";

            var fieldsToInclude = this.GetFieldsNames(fields);
            
            if (fieldsToInclude.Any())
                fieldsQuery += "," + string.Join(",", fieldsToInclude);
            
            request.AddQueryParameter("fields", ":default,stories(" + fieldsQuery + ")");

            return this.GetIterations(request);
        }
Пример #8
0
        public Story GetStory(int projectId, int storyId, StoryIncludeFields fields)
        {
            var request = BuildGetRequest(string.Format(SingleStoryEndpoint, projectId, storyId));
            
            string fieldsQuery = ":default";

            var fieldsToInclude = this.GetFieldsNames(fields);
            
            if (fieldsToInclude.Any())
                fieldsQuery += "," + string.Join(",", fieldsToInclude);
            
            request.AddQueryParameter("fields", fieldsQuery);

            return RestClient.ExecuteRequestWithChecks<Story>(request);
        }
Пример #9
0
 public List<Story> GetAllStoriesMatchingFilter(int projectId, FilteringCriteria filter, StoryIncludeFields fields)
 {
     return this.GetAllStoriesMatchingFilter(projectId, filter.ToString(), fields);
 }