This repository has been archived on 2023-10-28. You can view files and clone it, but cannot push or open issues or pull requests.
pwt-0x01-ng/Controllers/HomeController.cs
surtur fac834c4dc
All checks were successful
continuous-integration/drone/push Build is passing
feat: use logger
2021-02-10 03:26:37 +01:00

73 lines
1.7 KiB
C#

using System.Diagnostics;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
using pwt_0x01_ng.Models;
using pwt_0x01_ng.Models.Database;
namespace pwt_0x01_ng.Controllers
{
public class HomeController : Controller
{
readonly DBContext dbctx;
readonly ILogger<HomeController> logger;
public HomeController(DBContext dbctx, ILogger<HomeController> logger){
this.dbctx = dbctx;
this.logger = logger;
}
public async Task <IActionResult> Index()
{
CarouselViewModel carousel = new CarouselViewModel();
carousel.Carousels = await dbctx.Carousel.ToListAsync();
return View(carousel);
}
public IActionResult About()
{
ViewData["Message"] = "Best project ever";
return View();
}
public IActionResult Contact()
{
ViewData["Message"] = "Where you can find us";
logger.LogInformation("yay - somebody looking for our contact info");
return View();
}
public IActionResult Privacy()
{
return View();
}
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
public IActionResult Error()
{
return View(new ErrorViewModel {RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier});
}
[Route("/Home/HandleError/{code:int}")]
public IActionResult HandleError(int code)
{
ViewData["ErrorMessage"] = $"Error {code}";
switch(code) {
case 403:
return View("~/Views/Shared/403.cshtml");
case 404:
return View("~/Views/Shared/404.cshtml");
case 500:
return View("~/Views/Shared/500.cshtml");
default:
return View("~/Views/Shared/unhandled_err_code.cshtml");
}
}
}
}