using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Filters; using OI.Metrology.Server.Models; using OI.Metrology.Shared.ViewModels; namespace OI.Metrology.Server.Controllers; public class ReactorsController : Controller { private readonly bool _IsTestDatabase; private readonly AppSettings _AppSettings; public ReactorsController(AppSettings appSettings) { _AppSettings = appSettings; _IsTestDatabase = appSettings.ConnectionString.Contains("test", StringComparison.InvariantCultureIgnoreCase); } public override void OnActionExecuted(ActionExecutedContext context) { base.OnActionExecuted(context); ViewBag.IsTestDatabase = _IsTestDatabase; } private string GetApiUrl() => string.IsNullOrEmpty(_AppSettings.ApiUrl) ? Url.Content("~/") : _AppSettings.ApiUrl[0] == '~' ? Url.Content(_AppSettings.ApiUrl) : _AppSettings.ApiUrl; [HttpGet] [Route("/Step1")] [Route("/Metrology/Step1")] public IActionResult Step1(string mod = "", string equipment = "", string layer = "", string zone = "", string rds = "", string initials = "") { string directory = "D:/Tmp/Metrology"; if (!Directory.Exists(directory)) _ = Directory.CreateDirectory(directory); string[] model = new string[] { mod, equipment, layer, zone, rds, initials }; if (!string.IsNullOrEmpty(initials)) System.IO.File.WriteAllLines(Path.Combine(directory, $"{DateTime.Now.Ticks}-{initials}.rsv"), model); return View(model); } [HttpGet] [Route("/Step2")] [Route("/Metrology/Step2")] public IActionResult Step2(string mod) => View(new string[] { mod }); [HttpGet] [Route("/Step3")] [Route("/Metrology/Step3")] public IActionResult Step3(string mod, string equipment) => View(new string[] { mod, equipment }); [HttpGet] [Route("/Step4")] [Route("/Metrology/Step4")] public IActionResult Step4(string mod, string equipment, string layer) => View(new string[] { mod, equipment, layer }); [HttpGet] [Route("/Step5")] [Route("/Metrology/Step5")] public IActionResult Step5(string mod, string equipment, string layer, string zone) => View(new string[] { mod, equipment, layer, zone }); [HttpGet] [Route("/Step6")] [Route("/Metrology/Step6")] public IActionResult Step6(string mod, string equipment, string layer, string zone, string rds) => View(new string[] { mod, equipment, layer, zone, rds }); [HttpGet] [Route("/Reactor")] [Route("/Metrology/Reactor")] public IActionResult Reactor() => View(new RunInfo()); [HttpGet] [Route("/WorkMaterial")] [Route("/Metrology/WorkMaterial")] public IActionResult WorkMaterial() => View(); }