Files
.Data
.vscode
Archive
.vscode
ApiControllers
Controllers
ErrorHandlerController.cs
ExportController.cs
PagesController.cs
Models
Repositories
Services
Views
wwwroot
.editorconfig
ApiLoggingMiddleware.cs
OI.Metrology.Archive.csproj
Program.cs
appsettings.Development.json
appsettings.json
compilerconfig.json
compilerconfig.json.defaults
Client
ClientHub
Server
Shared
Tests
View
.editorconfig
.gitignore
OI-Metrology.sln
README.md
azure-pipelines-client-development.yml
azure-pipelines-server-development.yml
azure-pipelines-server.yml
package.json
oi-metrology/Archive/Controllers/PagesController.cs
Mike Phares f0c2140f93 TargetFramework update,
reference updates and added tests for Viewer
2023-01-06 21:17:30 -07:00

131 lines
4.0 KiB
C#

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;
using IO = System.IO;
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("/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 (!IO.Directory.Exists(directory))
_ = IO.Directory.CreateDirectory(directory);
string[] model = new string[] { mod, equipment, layer, zone, rds, initials };
if (!string.IsNullOrEmpty(initials))
IO.File.WriteAllLines(IO.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("/RdsMax")]
[Route("/Metrology/RdsMax")]
public IActionResult RdsMax()
{
Shared.DataModels.RDS.Max[] collection = _RdsMaxRepo.GetMaxRDS();
List<string[]> results = _RdsMaxRepo.Convert(collection);
return View(results);
}
[HttpGet]
[Route("/Reactor")]
[Route("/Metrology/Reactor")]
public IActionResult Reactor() => View(new RunInfo());
}