34 lines
1.2 KiB
C#
34 lines
1.2 KiB
C#
using System;
|
|
using System.Reflection;
|
|
using Microsoft.AspNetCore.Hosting;
|
|
|
|
namespace LCU.API.Internal.RepoApi.Repos.Models
|
|
{
|
|
public class EnvironmentView : IEnvironmentView
|
|
{
|
|
public string Application => _env.ApplicationName;
|
|
public DateTime CurrentDate => DateTime.Now;
|
|
public string BuildVersion => Assembly.GetExecutingAssembly().GetName().Version.ToString();
|
|
public DateTime BuildDate => AssemblyBuildDate();
|
|
public string Environment => _env.EnvironmentName;
|
|
private readonly IHostingEnvironment _env;
|
|
|
|
public EnvironmentView(IHostingEnvironment env)
|
|
{
|
|
_env = env;
|
|
}
|
|
|
|
public static DateTime AssemblyBuildDate()
|
|
{
|
|
//https://stackoverflow.com/a/804310/266594
|
|
//TODO #246: Look up this value at start up to avoid hitting the filesystem repeatedly
|
|
System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly();
|
|
System.IO.FileInfo fileInfo = new System.IO.FileInfo(assembly.Location);
|
|
DateTime lastModified = fileInfo.LastWriteTime;
|
|
|
|
return lastModified;
|
|
}
|
|
|
|
}
|
|
}
|