Beispiel #1
0
        private async Task <XRefSpec> GetXRefSpecAsync(CommentIdAndUid pair)
        {
            var alias = GetAliasWithMember(pair.CommentId);

            if (alias != null)
            {
                var url = string.Format(MsdnUrlTemplate, alias, _msdnVersion);
                // verify alias exists
                var vr = (await _checkUrlCache.GetAsync(pair.CommentId + "||||" + url)).Value;
                if (vr == true)
                {
                    return(new XRefSpec
                    {
                        Uid = pair.Uid,
                        CommentId = pair.CommentId,
                        Href = url,
                    });
                }
            }
            var shortId = await _shortIdCache.GetAsync(pair.CommentId);

            if (string.IsNullOrEmpty(shortId))
            {
                return(null);
            }
            return(new XRefSpec
            {
                Uid = pair.Uid,
                CommentId = pair.CommentId,
                Href = string.Format(MsdnUrlTemplate, shortId, _msdnVersion),
            });
        }
Beispiel #2
0
        private async Task <ReferenceViewModel> GetViewModelItemAsync(CommentIdAndUid pair)
        {
            var alias = GetAlias(pair.CommentId);

            if (alias != null)
            {
                var url = string.Format(MsdnUrlTemplate, alias, _msdnVersion);
                // verify alias exists
                if ((await _checkUrlCache.GetAsync(url)).Value)
                {
                    return(new ReferenceViewModel
                    {
                        Uid = pair.Uid,
                        Href = url,
                    });
                }
            }
            var shortId = await _shortIdCache.GetAsync(pair.CommentId);

            if (string.IsNullOrEmpty(shortId))
            {
                return(new ReferenceViewModel
                {
                    Uid = pair.Uid,
                });
            }
            return(new ReferenceViewModel
            {
                Uid = pair.Uid,
                Href = string.Format(MsdnUrlTemplate, shortId, _msdnVersion),
            });
        }
Beispiel #3
0
        private async Task <XRefSpec> GetXRefSpecAsync(CommentIdAndUid pair)
        {
            var alias = GetAliasWithMember(pair.CommentId);

            if (alias != null)
            {
                var url = string.Format(MsdnUrlTemplate, alias, _msdnVersion);
                // verify alias exists
                var vr = (await _checkUrlCache.GetAsync(pair.CommentId + "||||" + url)).Value;
                if (vr == true)
                {
                    return(new XRefSpec
                    {
                        Uid = pair.Uid,
                        CommentId = pair.CommentId,
                        Href = url,
                    });
                }
            }
            var shortId = await _shortIdCache.GetAsync(pair.CommentId);

            if (string.IsNullOrEmpty(shortId))
            {
                if (pair.CommentId.StartsWith("F:"))
                {
                    // work around for enum field.
                    shortId = await _shortIdCache.GetAsync(
                        "T:" + pair.CommentId.Remove(pair.CommentId.LastIndexOf('.')).Substring(2));

                    if (string.IsNullOrEmpty(shortId))
                    {
                        return(null);
                    }
                }
                else
                {
                    return(null);
                }
            }
            return(new XRefSpec
            {
                Uid = pair.Uid,
                CommentId = pair.CommentId,
                Href = string.Format(MsdnUrlTemplate, shortId, _msdnVersion),
            });
        }
Beispiel #4
0
 private async Task<ReferenceViewModel> GetViewModelItemAsync(CommentIdAndUid pair)
 {
     var alias = GetAlias(pair.CommentId);
     if (alias != null)
     {
         var url = string.Format(MsdnUrlTemplate, alias, _msdnVersion);
         // verify alias exists
         if ((await _checkUrlCache.GetAsync(url)).Value)
         {
             return new ReferenceViewModel
             {
                 Uid = pair.Uid,
                 Href = url,
             };
         }
     }
     var shortId = await _shortIdCache.GetAsync(pair.CommentId);
     if (string.IsNullOrEmpty(shortId))
     {
         return new ReferenceViewModel
         {
             Uid = pair.Uid,
         };
     }
     return new ReferenceViewModel
     {
         Uid = pair.Uid,
         Href = string.Format(MsdnUrlTemplate, shortId, _msdnVersion),
     };
 }
Beispiel #5
0
 private async Task<XRefSpec> GetXRefSpecAsync(CommentIdAndUid pair)
 {
     var alias = GetAliasWithMember(pair.CommentId);
     if (alias != null)
     {
         var url = string.Format(MsdnUrlTemplate, alias, _msdnVersion);
         // verify alias exists
         var vr = (await _checkUrlCache.GetAsync(pair.CommentId + "||||" + url)).Value;
         if (vr == true)
         {
             return new XRefSpec
             {
                 Uid = pair.Uid,
                 CommentId = pair.CommentId,
                 Href = url,
             };
         }
     }
     var shortId = await _shortIdCache.GetAsync(pair.CommentId);
     if (string.IsNullOrEmpty(shortId))
     {
         return null;
     }
     return new XRefSpec
     {
         Uid = pair.Uid,
         CommentId = pair.CommentId,
         Href = string.Format(MsdnUrlTemplate, shortId, _msdnVersion),
     };
 }