using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Filters; using OI.Metrology.Archive.Models; using OI.Metrology.Shared.Models.Stateless; using OI.Metrology.Shared.Repositories; using OI.Metrology.Shared.ViewModels; using System; using System.Collections.Generic; namespace OI.Metrology.Archive.Controllers; public class PagesController : Controller { private readonly bool _IsTestDatabase; private readonly IRdsMaxRepo _RdsMaxRepo; private readonly IMetrologyRepository _MetrologyRepo; public PagesController(AppSettings appSettings, IMetrologyRepository metrologyRepository, IRdsMaxRepo rdsMaxRepo) { _RdsMaxRepo = rdsMaxRepo; _MetrologyRepo = metrologyRepository; _IsTestDatabase = appSettings.ConnectionString.Contains("test", StringComparison.InvariantCultureIgnoreCase); } public override void OnActionExecuted(ActionExecutedContext context) { base.OnActionExecuted(context); ViewBag.IsTestDatabase = _IsTestDatabase; } [HttpGet] [Route("/")] public IActionResult Index() => View("RunHeaders"); [HttpGet] [Route("/AwaitingDispo")] [Route("/Metrology/AwaitingDispo")] public IActionResult AwaitingDispo() => View(); [HttpGet] [Route("/RunInfo")] [Route("/Metrology/RunInfo")] public IActionResult RunInfo([FromQuery] int tooltypeid = 1, [FromQuery] int headerid = 0) { RunInfo m = new() { ToolTypeID = tooltypeid, HeaderID = headerid, HeaderAttachmentID = Guid.Empty, }; if (headerid > 0) { m.HeaderAttachmentID = _MetrologyRepo.GetHeaderAttachmentID(tooltypeid, headerid); } return View(m); } [HttpGet] [Route("/RunHeaders")] [Route("/Metrology/RunHeaders")] public IActionResult RunHeaders() => View(); [HttpGet] [Route("/Crash")] public IActionResult Crash() => throw new Exception("Test unhandled exception"); [HttpGet] [Route("/RdsMax")] [Route("/Metrology/RdsMax")] public IActionResult RdsMax() { Shared.DataModels.RDS.Max[] collection = _RdsMaxRepo.GetMaxRDS(); List results = _RdsMaxRepo.Convert(collection); return View(results); } }