diff --git a/modules/payment/src/Payment.Admin.Application/Payment.Admin.Application.csproj b/modules/payment/src/Payment.Admin.Application/Payment.Admin.Application.csproj index e0f46ef..9a0f5f8 100644 --- a/modules/payment/src/Payment.Admin.Application/Payment.Admin.Application.csproj +++ b/modules/payment/src/Payment.Admin.Application/Payment.Admin.Application.csproj @@ -4,12 +4,12 @@ - netstandard2.0 + net6.0 Payment.Admin - + diff --git a/modules/payment/src/Payment.Admin.Blazor/Pages/Payment/Requests/Index.razor.cs b/modules/payment/src/Payment.Admin.Blazor/Pages/Payment/Requests/Index.razor.cs index b30ef9d..7ae4bd6 100644 --- a/modules/payment/src/Payment.Admin.Blazor/Pages/Payment/Requests/Index.razor.cs +++ b/modules/payment/src/Payment.Admin.Blazor/Pages/Payment/Requests/Index.razor.cs @@ -63,7 +63,7 @@ namespace Payment.Admin.Pages.Payment.Requests protected virtual async Task OnDataGridReadAsync(DataGridReadDataEventArgs e) { CurrentSorting = e.Columns - .Where(c => c.SortDirection != SortDirection.None) + .Where(c => c.SortDirection != SortDirection.Default) .Select(c => c.Field + (c.SortDirection == SortDirection.Descending ? " DESC" : "")) .JoinAsString(","); diff --git a/modules/payment/src/Payment.Application/Payment.Application.csproj b/modules/payment/src/Payment.Application/Payment.Application.csproj index dd41dcc..92d9659 100644 --- a/modules/payment/src/Payment.Application/Payment.Application.csproj +++ b/modules/payment/src/Payment.Application/Payment.Application.csproj @@ -4,12 +4,12 @@ - netstandard2.0 + net6.0 Payment - + diff --git a/src/EventHub.Domain.Shared/Assemblies/AssemblyInfoHelper.cs b/src/EventHub.Domain.Shared/Assemblies/AssemblyInfoHelper.cs new file mode 100644 index 0000000..33e5f0b --- /dev/null +++ b/src/EventHub.Domain.Shared/Assemblies/AssemblyInfoHelper.cs @@ -0,0 +1,58 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Reflection; +using System.Threading; +using Volo.Abp; + +namespace EventHub; + +public static class AssemblyInfoHelper +{ + private const string AssemblyInfoCacheKey = "AssemblyInfoCacheKey"; + private readonly static Dictionary AssemblyInfoCache = new(); + + public static AssemblyInfo Get() + { + if (AssemblyInfoCache.TryGetValue(AssemblyInfoCacheKey, out var assemblyInfo)) + { + return assemblyInfo; + } + + var abpCorePackageVersion = GetAbpCorePackageVersion(); + var applicationAssembly = Assembly.GetEntryAssembly(); + var applicationVersion = applicationAssembly?.GetFileVersion(); + var modificationDate = applicationAssembly?.Location == null ? DateTime.Now : File.GetLastWriteTime(applicationAssembly.Location); + + assemblyInfo = new AssemblyInfo(abpCorePackageVersion, applicationVersion, modificationDate); + + AssemblyInfoCache[AssemblyInfoCacheKey] = assemblyInfo; + + return assemblyInfo; + } + + private static string GetAbpCorePackageVersion() + { + var abpCoreAssembly = Assembly.GetAssembly(typeof(AbpApplicationBase)); + + return abpCoreAssembly == null + ? string.Empty + : abpCoreAssembly.GetFileVersion(); + } + + public class AssemblyInfo + { + public string AbpCoreVersion { get; } + + public string Version { get; } + + public DateTime ModificationDate { get; } + + public AssemblyInfo(string abpCoreVersion, string version, DateTime modificationDate) + { + AbpCoreVersion = abpCoreVersion; + Version = version; + ModificationDate = modificationDate; + } + } +} \ No newline at end of file diff --git a/src/EventHub.HttpApi.Host/Assemblies/VersionApplicationConfigurationContributor.cs b/src/EventHub.HttpApi.Host/Assemblies/VersionApplicationConfigurationContributor.cs new file mode 100644 index 0000000..847a1fe --- /dev/null +++ b/src/EventHub.HttpApi.Host/Assemblies/VersionApplicationConfigurationContributor.cs @@ -0,0 +1,20 @@ +using System.Threading.Tasks; +using EventHub; +using Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations; +using Volo.Abp.Data; + +public class VersionApplicationConfigurationContributor : IApplicationConfigurationContributor +{ + public Task ContributeAsync(ApplicationConfigurationContributorContext context) + { + var assemblyInfo = AssemblyInfoHelper.Get(); + context.ApplicationConfiguration.SetProperty("versions", new + { + abp = assemblyInfo.AbpCoreVersion, + application = assemblyInfo.Version, + applicationCompileDate = assemblyInfo.ModificationDate + }); + + return Task.CompletedTask; + } +} \ No newline at end of file diff --git a/src/EventHub.HttpApi.Host/EventHubHttpApiHostModule.cs b/src/EventHub.HttpApi.Host/EventHubHttpApiHostModule.cs index 46dd615..c48a191 100644 --- a/src/EventHub.HttpApi.Host/EventHubHttpApiHostModule.cs +++ b/src/EventHub.HttpApi.Host/EventHubHttpApiHostModule.cs @@ -22,6 +22,7 @@ using Microsoft.OpenApi.Models; using StackExchange.Redis; using Volo.Abp; using Volo.Abp.AspNetCore.Mvc; +using Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations; using Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic; using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared; using Volo.Abp.AspNetCore.Serilog; @@ -67,6 +68,11 @@ namespace EventHub ConfigureAutoApiControllers(); ConfigureTiming(); ConfigurePremiumPlanInfo(context, configuration); + + Configure(options => + { + options.Contributors.AddIfNotContains(new VersionApplicationConfigurationContributor()); + }); } private void ConfigureAutoApiControllers() diff --git a/src/EventHub.Web.Theme/Themes/EventHub/Components/Footer/Default.cshtml b/src/EventHub.Web.Theme/Themes/EventHub/Components/Footer/Default.cshtml index d9816d7..2b7ba88 100644 --- a/src/EventHub.Web.Theme/Themes/EventHub/Components/Footer/Default.cshtml +++ b/src/EventHub.Web.Theme/Themes/EventHub/Components/Footer/Default.cshtml @@ -8,6 +8,7 @@ @inject IOptions UrlOptions @{ var currentPageUrl = Context.Request.GetDisplayUrl(); + var platformVersion = EventHub.AssemblyInfoHelper.Get(); }