diff --git a/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Projects/GeneratePdf.cshtml.cs b/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Projects/GeneratePdf.cshtml.cs index ffd189546c..231f7c56eb 100644 --- a/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Projects/GeneratePdf.cshtml.cs +++ b/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Projects/GeneratePdf.cshtml.cs @@ -13,18 +13,15 @@ namespace Volo.Docs.Admin.Pages.Docs.Admin.Projects; public class GeneratePdfModal : DocsAdminPageModel { - protected IDocumentPdfGeneratorAppService DocumentPdfGeneratorAppService { get; } protected IProjectAppService ProjectAppService { get; } protected IProjectAdminAppService ProjectAdminAppService { get; } public GeneratePdfViewModel ViewModel { get; set; } public GeneratePdfModal( - IDocumentPdfGeneratorAppService documentPdfGeneratorAppService, IProjectAppService projectAppService, IProjectAdminAppService projectAdminAppService) { - DocumentPdfGeneratorAppService = documentPdfGeneratorAppService; ProjectAppService = projectAppService; ProjectAdminAppService = projectAdminAppService; } diff --git a/modules/docs/src/Volo.Docs.Common.Application/Volo/Docs/Common/Documents/DocumentPdfGeneratorAppService.cs b/modules/docs/src/Volo.Docs.Common.Application/Volo/Docs/Common/Documents/DocumentPdfGeneratorAppService.cs index 7787185b50..3960a16179 100644 --- a/modules/docs/src/Volo.Docs.Common.Application/Volo/Docs/Common/Documents/DocumentPdfGeneratorAppService.cs +++ b/modules/docs/src/Volo.Docs.Common.Application/Volo/Docs/Common/Documents/DocumentPdfGeneratorAppService.cs @@ -1,7 +1,9 @@ +using System.Text; using System.Threading.Tasks; using Microsoft.AspNetCore.Authorization; using Volo.Abp.Application.Services; using Volo.Abp.Content; +using Volo.Abp.Data; using Volo.Docs.Projects; using Volo.Docs.Projects.Pdf; @@ -24,6 +26,27 @@ public class DocumentPdfGeneratorAppService : ApplicationService, IDocumentPdfGe public virtual async Task GeneratePdfAsync(DocumentPdfGeneratorInput input) { var project = await ProjectRepository.GetAsync(input.ProjectId, includeDetails: true); + + // https://github.com/abpframework/abp/blob/e96f601641ab8a4bb7d704d3b9df2c00517d96f6/modules/docs/src/Volo.Docs.Application/Volo/Docs/Documents/DocumentAppService.cs#L73 + var inputVersionStringBuilder = new StringBuilder(); + input.Version = inputVersionStringBuilder.Append(GetProjectVersionPrefixIfExist(project)).Append(input.Version).ToString(); return await ProjectPdfGenerator.GenerateAsync(project, input.Version, input.LanguageCode); } + + private string GetProjectVersionPrefixIfExist(Project project) + { + if (GetGithubVersionProviderSource(project) != GithubVersionProviderSource.Branches) + { + return string.Empty; + } + + return project.GetProperty("VersionBranchPrefix"); + } + + private GithubVersionProviderSource GetGithubVersionProviderSource(Project project) + { + return project.HasProperty("GithubVersionProviderSource") + ? project.GetProperty("GithubVersionProviderSource") + : GithubVersionProviderSource.Releases; + } } \ No newline at end of file