using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using isnd.Data; using System.Linq; using isnd.ViewModels; using System.Reflection; using Microsoft.EntityFrameworkCore; using Microsoft.Build.Logging; using Microsoft.Extensions.Options; using isnd.Entities; using isn.abst; namespace isnd.Controllers { /// /// Home Controller /// public class HomeController : Controller { private readonly ApplicationDbContext _dbContext; private readonly IsndSettings _isndSettings; /// /// Home controller ctor /// /// /// public HomeController( ApplicationDbContext dbContext, IOptions isndSettings) { _dbContext = dbContext; _isndSettings = isndSettings.Value; } public IActionResult Index() { return View(new HomeIndexViewModel{ PkgCount = _dbContext.Packages .Where(p => p.Versions.Count > 0) .Count(), APIUrl = _isndSettings.ExternalUrl + Constants.ApiVersionPrefix + ApiConfig.Index}); } public IActionResult About() { ViewData["Message"] = "Your application description page."; return View(); } public IActionResult Contact() { ViewData["Message"] = "Your contact page."; var ass = typeof(isn.Abstract.Resource).GetType().Assembly; var attrs = ass.GetCustomAttributes(true); // ass.GetCustomAttributes(true); System.Reflection.AssemblyFileVersionAttribute v = (AssemblyFileVersionAttribute) GetType().Assembly.GetCustomAttribute(typeof(AssemblyFileVersionAttribute)); return View(); } public IActionResult Privacy() { ViewData["Message"] = "Your Privacy page."; return View(ViewData); } public IActionResult Error(string id) { return View("Error", id); } } }