using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Web;
namespace GreenTree.Nachtragsmanagement.Web.Models.Admin.AppInfo
{
public class AppInfoDataModel
{
public AssemblyDataModel[] Assemblies { get; set; }
public string BaseDirectory { get; set; }
public bool IsUpdate { get; set; }
///
/// Gets information about every used assembly in local AppDomain
///
public void GetAssemblies()
{
var assemblies = AppDomain.CurrentDomain.GetAssemblies()
.Select(a => new AssemblyDataModel
{
Name = a.GetName().Name,
Version = a.GetName().Version.ToString(),
Manufacturer =
a.GetCustomAttributes().Any()
? a.GetCustomAttributes()
.FirstOrDefault().Company
: "Unbekannt"
})
.OrderBy(a => a.Manufacturer)
.ThenBy(a => a.Name)
.ToArray();
Assemblies = assemblies;
}
}
}