in src/YouTrackSharp/Issues/Link.cs [18:48]
internal static ICollection<Link> FromApiEntities(ICollection<IssueLink> entities, string requesterIssueId)
{
var links = new List<Link>();
foreach (var linkType in entities)
{
var both = linkType.LinkType.LocalizedSourceToTarget
?? linkType.LinkType.LocalizedTargetToSource
?? linkType.LinkType.SourceToTarget;
var inward = linkType.Direction == IssueLinkDirection.BOTH
? both
: linkType.LinkType.LocalizedTargetToSource ?? linkType.LinkType.TargetToSource;
var outward = linkType.Direction == IssueLinkDirection.BOTH
? both
: (linkType.LinkType.LocalizedSourceToTarget ?? linkType.LinkType.SourceToTarget);
var linksPack = linkType.Issues.Select(issue => new Link()
{
InwardType = inward,
OutwardType = outward,
TypeName = linkType.LinkType.Name,
Source = linkType.Direction == IssueLinkDirection.INWARD ? issue.IdReadable : requesterIssueId,
Target = linkType.Direction == IssueLinkDirection.INWARD ? requesterIssueId : issue.IdReadable
});
links.AddRange(linksPack.ToList());
}
return links;
}