Beispiel #1
0
        protected override IEnumerable <WorkItemRelation> DoGetItems()
        {
            var wi = this.GetItem <WebApiWorkItem>(new {
                WorkItem     = GetParameter <object>(nameof(GetWorkItemLink.WorkItem)),
                IncludeLinks = true
            });

            var linkType           = GetParameter <WorkItemLinkType>(nameof(GetWorkItemLink.LinkType));
            var includeAll         = (linkType == WorkItemLinkType.All);
            var includeAttachments = GetParameter <bool>(nameof(GetWorkItemLink.IncludeAttachments));

            List <string> filteredTypes = LINK_TYPES.Where(kvp => includeAll || ((kvp.Key & linkType) == kvp.Key)).Select(kvp => kvp.Value).ToList();

            if (includeAttachments)
            {
                filteredTypes.Add("AttachedFile");
            }

            return(wi.Relations.Where(l => filteredTypes.Contains(l.Rel)));
        }
Beispiel #2
0
        public Dictionary <string, string> GetLinkTypes()
        {
            const LinkType LINK_TYPES = LinkType.Web;

            return(LINK_TYPES.GetValueDictionary());
        }