35 lines
1.1 KiB
C#
35 lines
1.1 KiB
C#
using System;
|
|
using System.Reflection;
|
|
using Microsoft.AspNetCore.Hosting;
|
|
namespace LCU.Api.Internal.MaidBotApi.EnvironmentView;
|
|
|
|
public class EnvironmentView : IEnvironmentView
|
|
{
|
|
public string Application => _env.ApplicationName;
|
|
public DateTime CurrentDate => DateTime.Now;
|
|
public string BuildVersion => AssembleBuildVersion();
|
|
public DateTime BuildDate => AssemblyBuildDate();
|
|
public string Environment => _env.EnvironmentName;
|
|
private readonly IWebHostEnvironment _env;
|
|
|
|
public EnvironmentView(IWebHostEnvironment env)
|
|
{
|
|
_env = env;
|
|
}
|
|
|
|
public static DateTime AssemblyBuildDate()
|
|
{
|
|
//https://stackoverflow.com/a/804310/266594
|
|
System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly();
|
|
System.IO.FileInfo fileInfo = new System.IO.FileInfo(assembly.Location);
|
|
DateTime lastModified = fileInfo.LastWriteTime;
|
|
|
|
return lastModified;
|
|
}
|
|
|
|
public static string AssembleBuildVersion()
|
|
{
|
|
var version = Assembly.GetExecutingAssembly().GetName().Version;
|
|
return version == null ? "-.-.-" : version.ToString();
|
|
}
|
|
} |