Exemplo n.º 1
0
        private async Task SetVersionAsync()
        {
            //TODO: Needs refactoring
            if (string.IsNullOrWhiteSpace(Version))
            {
                Version = DocsAppConsts.Latest;
            }

            var output = await _projectAppService.GetVersionsAsync(Project.ShortName);

            var versions = output.Items.ToList()
                           .Select(v => new VersionInfoViewModel(v.DisplayName, v.Name))
                           .ToList();

            if (versions.Any())
            {
                LatestVersionInfo = GetLatestVersionInfo(versions);

                SetLatestVersionBranchName(versions);

                LatestVersionInfo.DisplayText = $"{LatestVersionInfo.DisplayText} ({DocsAppConsts.Latest})";

                if (string.Equals(Version, DocsAppConsts.Latest, StringComparison.OrdinalIgnoreCase))
                {
                    LatestVersionInfo.IsSelected = true;
                    Version = LatestVersionInfo.Version;
                }
                else
                {
                    var versionFromUrl = versions.FirstOrDefault(v => v.Version == Version);
                    if (versionFromUrl != null)
                    {
                        versionFromUrl.IsSelected = true;
                        IsVersionPreview          = versionFromUrl.IsPreview;
                        Version = versionFromUrl.Version;
                    }
                    else
                    {
                        LatestVersionInfo.IsSelected = true;
                        Version = LatestVersionInfo.Version;
                    }
                }
            }
            else
            {
                LatestVersionInfo = new VersionInfoViewModel(
                    $"{DocsAppConsts.Latest}",
                    DocsAppConsts.Latest,
                    true);
            }

            VersionSelectItems = versions.Select(v => new SelectListItem
            {
                Text     = v.DisplayText,
                Value    = CreateVersionLink(LatestVersionInfo, v.Version, DocumentName),
                Selected = v.IsSelected
            }).ToList();

            IsLatestVersion = Version == LatestVersionInfo.Version;
        }
Exemplo n.º 2
0
        public string CreateVersionLink(VersionInfoViewModel latestVersion, string version, string documentName = null)
        {
            if (latestVersion == null || latestVersion.Version == version)
            {
                version = DocsAppConsts.Latest;
            }

            var link = DocumentsUrlPrefix + LanguageCode + "/" + ProjectName + "/" + version;

            if (documentName != null)
            {
                link += "/" + DocumentName;
            }

            return(link);
        }
Exemplo n.º 3
0
        public string CreateVersionLink(VersionInfoViewModel latestVersion, string version, string documentName = null)
        {
            if (latestVersion == null || latestVersion.Version == version)
            {
                version = DocsAppConsts.Latest;
            }

            var linkStringBuilder = new StringBuilder();

            linkStringBuilder.Append(DocumentsUrlPrefix).Append(LanguageCode).Append("/").Append(ProjectName).Append("/").Append(version);

            if (documentName != null)
            {
                linkStringBuilder.Append("/").Append(DocumentName);
            }

            return(linkStringBuilder.ToString());
        }