using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using nuget_host.Entities; using nuget_host.Data; using System.Linq; using nuget_host.ViewModels; namespace nuget_host.Controllers { public class HomeController : Controller { private readonly ILogger _logger; readonly IHostingEnvironment _environment; public SmtpSettings _smtpSettings { get; } //set only via Secret Manager private ApplicationDbContext _dbContext; public HomeController( IOptions smtpSettings, IHostingEnvironment environment, ApplicationDbContext dbContext, ILogger logger) { _environment = environment; _logger = logger; _smtpSettings = smtpSettings.Value; _dbContext = dbContext; } public IActionResult Index() { return View(new HomeIndexViewModel{ PkgCount = _dbContext.Packages.Count() }); } public IActionResult About() { ViewData["Message"] = "Your application description page."; return View(); } public IActionResult Contact() { ViewData["Message"] = "Your contact page."; return View(); } public IActionResult Privacy() { ViewData["Message"] = "Your Privacy page."; return View(ViewData); } public IActionResult Error() { return View(); } } }