From 80696e5fe6eae9b3fab330f110d5a72c0e40c4a7 Mon Sep 17 00:00:00 2001 From: Daniel Wathen Date: Thu, 22 Dec 2022 12:10:18 -0700 Subject: [PATCH] Reorganized project structure to separate backend process from frontend process. --- .../HelperClasses/APIHelperFunctions.cs | 2 +- .../HelperClasses/DailyReportHelper.cs | 8 +- .../Models}/HelperClasses/JsonFileHandler.cs | 2 +- .../Models/PlanningReport/ReactorPSNWORuns.cs | 9 + .../PlanningReport/WeeklyPartChanges.cs | 10 + .../ProductionReport/EquipmentStateByDay.cs | 2 +- .../ProductionReport/ManualReportEntries.cs | 2 +- .../ProductionReport/QuarterlyTargets.cs | 2 +- .../Models/ProductionReport/RDS.cs | 11 + .../Models/ProductionReport/Reactor.cs | 10 + .../ProductionReport/ReactorOutsByDay.cs | 8 + .../ProductionReport/ReactorOutsByRDS.cs | 2 +- .../Models/ProductionReport/ScrapByDay.cs | 11 + .../ProductionReport/ToolStateCurrent.cs | 2 +- .../ReportingServices.Shared.csproj | 13 + .../FabTimeReportingRepository.cs | 8 +- .../ScrapeDatabaseRepository.cs | 45 ++- .../Interfaces/IFabTimeReportingRepository.cs | 6 +- .../Interfaces/IScrapeDatabaseRepository.cs | 6 +- .../ProductionReport/DailyReport.cs | 7 +- .../ProductionReport/ToolStateByType.cs | 12 +- .../ProductionReport/YieldStatistics.cs | 6 +- ReportingServices.Test/APIHelperTester.cs | 2 +- ReportingServices.Test/DailyReportTester.cs | 19 +- .../ReportingServices.Test.csproj | 2 +- ReportingServices.Test/TestingClass.cs | 312 +++++++++--------- .../Controllers/HomeController.cs | 4 +- .../Controllers/PlanningReportController.cs | 16 +- .../Controllers/ProductionReportController.cs | 10 +- .../Models/ErrorViewModel.cs | 2 +- .../Program.cs | 3 +- .../Properties/launchSettings.json | 0 .../ReportingServices.UI.csproj | 9 + .../Views/Home/Index.cshtml | 0 .../Views/PlanningReport/Index.cshtml | 0 .../WeeklyPartChangesReport.cshtml | 4 +- .../Views/ProductionReport/DailyReport.cshtml | 4 +- .../ProductionReport/EditDailyReport.cshtml | 3 +- .../Views/ProductionReport/Index.cshtml | 0 .../Views/Shared/Error.cshtml | 0 .../Views/Shared/_DailyReportPartial.cshtml | 2 +- .../Views/Shared/_Layout.cshtml | 0 .../Views/Shared/_Layout.cshtml.css | 0 .../Views/Shared/_LoadingPartial.cshtml | 0 .../Shared/_ValidationScriptsPartial.cshtml | 0 .../Views/_ViewImports.cshtml | 6 + .../Views/_ViewStart.cshtml | 0 .../appsettings.Development.json | 0 .../appsettings.Release.json | 0 .../appsettings.json | 0 .../wwwroot/Assets/DailyReportInfo.json | 2 +- .../wwwroot/Assets/ToolStates.json | 0 .../wwwroot/Images/Directory.png | Bin .../wwwroot/Images/ReportFile.png | Bin .../wwwroot/Images/minusIcon.png | Bin .../wwwroot/Images/plusIcon.png | Bin .../wwwroot/css/site.css | 0 .../wwwroot/favicon.ico | Bin .../wwwroot/js/site.js | 0 .../wwwroot/lib/bootstrap/LICENSE | 0 .../lib/bootstrap/dist/css/bootstrap-grid.css | 0 .../bootstrap/dist/css/bootstrap-grid.css.map | 0 .../bootstrap/dist/css/bootstrap-grid.min.css | 0 .../dist/css/bootstrap-grid.min.css.map | 0 .../bootstrap/dist/css/bootstrap-grid.rtl.css | 0 .../dist/css/bootstrap-grid.rtl.css.map | 0 .../dist/css/bootstrap-grid.rtl.min.css | 0 .../dist/css/bootstrap-grid.rtl.min.css.map | 0 .../bootstrap/dist/css/bootstrap-reboot.css | 0 .../dist/css/bootstrap-reboot.css.map | 0 .../dist/css/bootstrap-reboot.min.css | 0 .../dist/css/bootstrap-reboot.min.css.map | 0 .../dist/css/bootstrap-reboot.rtl.css | 0 .../dist/css/bootstrap-reboot.rtl.css.map | 0 .../dist/css/bootstrap-reboot.rtl.min.css | 0 .../dist/css/bootstrap-reboot.rtl.min.css.map | 0 .../dist/css/bootstrap-utilities.css | 0 .../dist/css/bootstrap-utilities.css.map | 0 .../dist/css/bootstrap-utilities.min.css | 0 .../dist/css/bootstrap-utilities.min.css.map | 0 .../dist/css/bootstrap-utilities.rtl.css | 0 .../dist/css/bootstrap-utilities.rtl.css.map | 0 .../dist/css/bootstrap-utilities.rtl.min.css | 0 .../css/bootstrap-utilities.rtl.min.css.map | 0 .../lib/bootstrap/dist/css/bootstrap.css | 0 .../lib/bootstrap/dist/css/bootstrap.css.map | 0 .../lib/bootstrap/dist/css/bootstrap.min.css | 0 .../bootstrap/dist/css/bootstrap.min.css.map | 0 .../lib/bootstrap/dist/css/bootstrap.rtl.css | 0 .../bootstrap/dist/css/bootstrap.rtl.css.map | 0 .../bootstrap/dist/css/bootstrap.rtl.min.css | 0 .../dist/css/bootstrap.rtl.min.css.map | 0 .../lib/bootstrap/dist/js/bootstrap.bundle.js | 0 .../bootstrap/dist/js/bootstrap.bundle.js.map | 0 .../bootstrap/dist/js/bootstrap.bundle.min.js | 0 .../dist/js/bootstrap.bundle.min.js.map | 0 .../lib/bootstrap/dist/js/bootstrap.esm.js | 0 .../bootstrap/dist/js/bootstrap.esm.js.map | 0 .../bootstrap/dist/js/bootstrap.esm.min.js | 0 .../dist/js/bootstrap.esm.min.js.map | 0 .../lib/bootstrap/dist/js/bootstrap.js | 0 .../lib/bootstrap/dist/js/bootstrap.js.map | 0 .../lib/bootstrap/dist/js/bootstrap.min.js | 0 .../bootstrap/dist/js/bootstrap.min.js.map | 0 .../jquery-validation-unobtrusive/LICENSE.txt | 0 .../jquery.validate.unobtrusive.js | 0 .../jquery.validate.unobtrusive.min.js | 0 .../wwwroot/lib/jquery-validation/LICENSE.md | 0 .../dist/additional-methods.js | 0 .../dist/additional-methods.min.js | 0 .../jquery-validation/dist/jquery.validate.js | 0 .../dist/jquery.validate.min.js | 0 .../wwwroot/lib/jquery/LICENSE.txt | 0 .../wwwroot/lib/jquery/dist/jquery.js | 0 .../wwwroot/lib/jquery/dist/jquery.min.js | 0 .../wwwroot/lib/jquery/dist/jquery.min.map | 0 ReportingServices.sln | 16 +- .../Models/PlanningReport/ReactorPSNWORuns.cs | 16 - .../PlanningReport/WeeklyPartChanges.cs | 18 - .../Models/ProductionReport/RDS.cs | 20 -- .../Models/ProductionReport/Reactor.cs | 18 - .../ProductionReport/ReactorOutsByDay.cs | 14 - .../Models/ProductionReport/ScrapByDay.cs | 20 -- ReportingServices/Views/_ViewImports.cshtml | 3 - .../Controllers/WeatherForecastController.cs | 33 ++ ReportingServicesAPIs/Program.cs | 25 ++ .../Properties/launchSettings.json | 31 ++ .../ReportingServices.API.csproj | 13 + ReportingServicesAPIs/WeatherForecast.cs | 13 + .../appsettings.Development.json | 8 + ReportingServicesAPIs/appsettings.json | 9 + 131 files changed, 494 insertions(+), 347 deletions(-) rename {ReportingServices => ReportingServices.Shared/Models}/HelperClasses/APIHelperFunctions.cs (98%) rename {ReportingServices => ReportingServices.Shared/Models}/HelperClasses/DailyReportHelper.cs (94%) rename {ReportingServices => ReportingServices.Shared/Models}/HelperClasses/JsonFileHandler.cs (90%) create mode 100644 ReportingServices.Shared/Models/PlanningReport/ReactorPSNWORuns.cs create mode 100644 ReportingServices.Shared/Models/PlanningReport/WeeklyPartChanges.cs rename {ReportingServices => ReportingServices.Shared}/Models/ProductionReport/EquipmentStateByDay.cs (70%) rename {ReportingServices => ReportingServices.Shared}/Models/ProductionReport/ManualReportEntries.cs (95%) rename {ReportingServices => ReportingServices.Shared}/Models/ProductionReport/QuarterlyTargets.cs (78%) create mode 100644 ReportingServices.Shared/Models/ProductionReport/RDS.cs create mode 100644 ReportingServices.Shared/Models/ProductionReport/Reactor.cs create mode 100644 ReportingServices.Shared/Models/ProductionReport/ReactorOutsByDay.cs rename {ReportingServices => ReportingServices.Shared}/Models/ProductionReport/ReactorOutsByRDS.cs (75%) create mode 100644 ReportingServices.Shared/Models/ProductionReport/ScrapByDay.cs rename {ReportingServices => ReportingServices.Shared}/Models/ProductionReport/ToolStateCurrent.cs (87%) create mode 100644 ReportingServices.Shared/ReportingServices.Shared.csproj rename {ReportingServices => ReportingServices.Shared}/Repositories/Implementations/FabTimeReportingRepository.cs (91%) rename {ReportingServices => ReportingServices.Shared}/Repositories/Implementations/ScrapeDatabaseRepository.cs (79%) rename {ReportingServices => ReportingServices.Shared}/Repositories/Interfaces/IFabTimeReportingRepository.cs (69%) rename {ReportingServices => ReportingServices.Shared}/Repositories/Interfaces/IScrapeDatabaseRepository.cs (76%) rename {ReportingServices => ReportingServices.Shared}/ViewModels/ProductionReport/DailyReport.cs (96%) rename {ReportingServices => ReportingServices.Shared}/ViewModels/ProductionReport/ToolStateByType.cs (76%) rename {ReportingServices/Models => ReportingServices.Shared/ViewModels}/ProductionReport/YieldStatistics.cs (88%) rename {ReportingServices => ReportingServices.UI}/Controllers/HomeController.cs (89%) rename {ReportingServices => ReportingServices.UI}/Controllers/PlanningReportController.cs (66%) rename {ReportingServices => ReportingServices.UI}/Controllers/ProductionReportController.cs (91%) rename {ReportingServices => ReportingServices.UI}/Models/ErrorViewModel.cs (81%) rename {ReportingServices => ReportingServices.UI}/Program.cs (94%) rename {ReportingServices => ReportingServices.UI}/Properties/launchSettings.json (100%) rename ReportingServices/ReportingServices.csproj => ReportingServices.UI/ReportingServices.UI.csproj (67%) rename {ReportingServices => ReportingServices.UI}/Views/Home/Index.cshtml (100%) rename {ReportingServices => ReportingServices.UI}/Views/PlanningReport/Index.cshtml (100%) rename {ReportingServices => ReportingServices.UI}/Views/PlanningReport/WeeklyPartChangesReport.cshtml (94%) rename {ReportingServices => ReportingServices.UI}/Views/ProductionReport/DailyReport.cshtml (99%) rename {ReportingServices => ReportingServices.UI}/Views/ProductionReport/EditDailyReport.cshtml (99%) rename {ReportingServices => ReportingServices.UI}/Views/ProductionReport/Index.cshtml (100%) rename {ReportingServices => ReportingServices.UI}/Views/Shared/Error.cshtml (100%) rename {ReportingServices => ReportingServices.UI}/Views/Shared/_DailyReportPartial.cshtml (99%) rename {ReportingServices => ReportingServices.UI}/Views/Shared/_Layout.cshtml (100%) rename {ReportingServices => ReportingServices.UI}/Views/Shared/_Layout.cshtml.css (100%) rename {ReportingServices => ReportingServices.UI}/Views/Shared/_LoadingPartial.cshtml (100%) rename {ReportingServices => ReportingServices.UI}/Views/Shared/_ValidationScriptsPartial.cshtml (100%) create mode 100644 ReportingServices.UI/Views/_ViewImports.cshtml rename {ReportingServices => ReportingServices.UI}/Views/_ViewStart.cshtml (100%) rename {ReportingServices => ReportingServices.UI}/appsettings.Development.json (100%) rename {ReportingServices => ReportingServices.UI}/appsettings.Release.json (100%) rename {ReportingServices => ReportingServices.UI}/appsettings.json (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/Assets/DailyReportInfo.json (78%) rename {ReportingServices => ReportingServices.UI}/wwwroot/Assets/ToolStates.json (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/Images/Directory.png (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/Images/ReportFile.png (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/Images/minusIcon.png (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/Images/plusIcon.png (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/css/site.css (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/favicon.ico (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/js/site.js (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/LICENSE (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css.map (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css.map (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css.map (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css.map (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css.map (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css.map (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css.map (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css.map (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.css (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.css.map (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.min.css (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.min.css.map (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.css (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.css.map (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css.map (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/css/bootstrap.css (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css.map (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.css (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.css.map (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.min.css (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.min.css.map (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.js (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.js.map (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.min.js (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.min.js.map (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/js/bootstrap.js (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/js/bootstrap.js.map (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js.map (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/jquery-validation-unobtrusive/LICENSE.txt (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/jquery-validation/LICENSE.md (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/jquery-validation/dist/additional-methods.js (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/jquery-validation/dist/additional-methods.min.js (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/jquery-validation/dist/jquery.validate.js (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/jquery-validation/dist/jquery.validate.min.js (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/jquery/LICENSE.txt (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/jquery/dist/jquery.js (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/jquery/dist/jquery.min.js (100%) rename {ReportingServices => ReportingServices.UI}/wwwroot/lib/jquery/dist/jquery.min.map (100%) delete mode 100644 ReportingServices/Models/PlanningReport/ReactorPSNWORuns.cs delete mode 100644 ReportingServices/Models/PlanningReport/WeeklyPartChanges.cs delete mode 100644 ReportingServices/Models/ProductionReport/RDS.cs delete mode 100644 ReportingServices/Models/ProductionReport/Reactor.cs delete mode 100644 ReportingServices/Models/ProductionReport/ReactorOutsByDay.cs delete mode 100644 ReportingServices/Models/ProductionReport/ScrapByDay.cs delete mode 100644 ReportingServices/Views/_ViewImports.cshtml create mode 100644 ReportingServicesAPIs/Controllers/WeatherForecastController.cs create mode 100644 ReportingServicesAPIs/Program.cs create mode 100644 ReportingServicesAPIs/Properties/launchSettings.json create mode 100644 ReportingServicesAPIs/ReportingServices.API.csproj create mode 100644 ReportingServicesAPIs/WeatherForecast.cs create mode 100644 ReportingServicesAPIs/appsettings.Development.json create mode 100644 ReportingServicesAPIs/appsettings.json diff --git a/ReportingServices/HelperClasses/APIHelperFunctions.cs b/ReportingServices.Shared/Models/HelperClasses/APIHelperFunctions.cs similarity index 98% rename from ReportingServices/HelperClasses/APIHelperFunctions.cs rename to ReportingServices.Shared/Models/HelperClasses/APIHelperFunctions.cs index 41c3692..b2061f3 100644 --- a/ReportingServices/HelperClasses/APIHelperFunctions.cs +++ b/ReportingServices.Shared/Models/HelperClasses/APIHelperFunctions.cs @@ -1,6 +1,6 @@ using System.Web; -namespace ReportingServices.HelperClasses +namespace ReportingServices.Shared.HelperClasses { public static class APIHelperFunctions { diff --git a/ReportingServices/HelperClasses/DailyReportHelper.cs b/ReportingServices.Shared/Models/HelperClasses/DailyReportHelper.cs similarity index 94% rename from ReportingServices/HelperClasses/DailyReportHelper.cs rename to ReportingServices.Shared/Models/HelperClasses/DailyReportHelper.cs index d1f8d39..915e785 100644 --- a/ReportingServices/HelperClasses/DailyReportHelper.cs +++ b/ReportingServices.Shared/Models/HelperClasses/DailyReportHelper.cs @@ -1,8 +1,8 @@ -using ReportingServices.Dependency_Injections; -using ReportingServices.Models.ProductionReport; -using ReportingServices.ViewModels.ProductionReport; +using ReportingServices.Shared.Repositories; +using ReportingServices.Shared.Models.ProductionReport; +using ReportingServices.Shared.ViewModels.ProductionReport; -namespace ReportingServices.HelperClasses +namespace ReportingServices.Shared.HelperClasses { public static class DailyReportHelper { diff --git a/ReportingServices/HelperClasses/JsonFileHandler.cs b/ReportingServices.Shared/Models/HelperClasses/JsonFileHandler.cs similarity index 90% rename from ReportingServices/HelperClasses/JsonFileHandler.cs rename to ReportingServices.Shared/Models/HelperClasses/JsonFileHandler.cs index 1f077af..7e3d2f0 100644 --- a/ReportingServices/HelperClasses/JsonFileHandler.cs +++ b/ReportingServices.Shared/Models/HelperClasses/JsonFileHandler.cs @@ -1,6 +1,6 @@ using System.Text.Json; -namespace ReportingServices.HelperClasses +namespace ReportingServices.Shared.HelperClasses { public static class JsonFileHandler { diff --git a/ReportingServices.Shared/Models/PlanningReport/ReactorPSNWORuns.cs b/ReportingServices.Shared/Models/PlanningReport/ReactorPSNWORuns.cs new file mode 100644 index 0000000..3eebc64 --- /dev/null +++ b/ReportingServices.Shared/Models/PlanningReport/ReactorPSNWORuns.cs @@ -0,0 +1,9 @@ +namespace ReportingServices.Shared.Models.PlanningReport +{ + public class ReactorPSNWORuns + { + public string REACTOR { get; set; } + public string PSN { get; set; } + public int WO_COUNT { get; set; } + } +} diff --git a/ReportingServices.Shared/Models/PlanningReport/WeeklyPartChanges.cs b/ReportingServices.Shared/Models/PlanningReport/WeeklyPartChanges.cs new file mode 100644 index 0000000..9c78c44 --- /dev/null +++ b/ReportingServices.Shared/Models/PlanningReport/WeeklyPartChanges.cs @@ -0,0 +1,10 @@ +namespace ReportingServices.Shared.Models.PlanningReport +{ + public class WeeklyPartChanges + { + public int TotalPartChanges { get; set; } + public string StartDate { get; set; } + public string EndDate { get; set; } + public List ReactorPSNWORuns { get; set; } + } +} diff --git a/ReportingServices/Models/ProductionReport/EquipmentStateByDay.cs b/ReportingServices.Shared/Models/ProductionReport/EquipmentStateByDay.cs similarity index 70% rename from ReportingServices/Models/ProductionReport/EquipmentStateByDay.cs rename to ReportingServices.Shared/Models/ProductionReport/EquipmentStateByDay.cs index 8b1a119..fa1c8fb 100644 --- a/ReportingServices/Models/ProductionReport/EquipmentStateByDay.cs +++ b/ReportingServices.Shared/Models/ProductionReport/EquipmentStateByDay.cs @@ -1,4 +1,4 @@ -namespace ReportingServices.Models.ProductionReport +namespace ReportingServices.Shared.Models.ProductionReport { public class EquipmentStateByDay { diff --git a/ReportingServices/Models/ProductionReport/ManualReportEntries.cs b/ReportingServices.Shared/Models/ProductionReport/ManualReportEntries.cs similarity index 95% rename from ReportingServices/Models/ProductionReport/ManualReportEntries.cs rename to ReportingServices.Shared/Models/ProductionReport/ManualReportEntries.cs index 2efbc79..ae8e417 100644 --- a/ReportingServices/Models/ProductionReport/ManualReportEntries.cs +++ b/ReportingServices.Shared/Models/ProductionReport/ManualReportEntries.cs @@ -1,4 +1,4 @@ -namespace ReportingServices.Models.ProductionReport +namespace ReportingServices.Shared.Models.ProductionReport { public class ManualReportEntries { diff --git a/ReportingServices/Models/ProductionReport/QuarterlyTargets.cs b/ReportingServices.Shared/Models/ProductionReport/QuarterlyTargets.cs similarity index 78% rename from ReportingServices/Models/ProductionReport/QuarterlyTargets.cs rename to ReportingServices.Shared/Models/ProductionReport/QuarterlyTargets.cs index 027a448..0cade51 100644 --- a/ReportingServices/Models/ProductionReport/QuarterlyTargets.cs +++ b/ReportingServices.Shared/Models/ProductionReport/QuarterlyTargets.cs @@ -1,4 +1,4 @@ -namespace ReportingServices.Models.ProductionReport +namespace ReportingServices.Shared.Models.ProductionReport { public class QuarterlyTargets { diff --git a/ReportingServices.Shared/Models/ProductionReport/RDS.cs b/ReportingServices.Shared/Models/ProductionReport/RDS.cs new file mode 100644 index 0000000..1dcaf95 --- /dev/null +++ b/ReportingServices.Shared/Models/ProductionReport/RDS.cs @@ -0,0 +1,11 @@ +namespace ReportingServices.Shared.Models.ProductionReport +{ + public class RDS + { + public int Reactor { get; set; } + public string ReactorType { get; set; } + public DateTime DateOut { get; set; } + public int UnloadTemp { get; set; } + public string LayerType { get; set; } + } +} diff --git a/ReportingServices.Shared/Models/ProductionReport/Reactor.cs b/ReportingServices.Shared/Models/ProductionReport/Reactor.cs new file mode 100644 index 0000000..2871b3b --- /dev/null +++ b/ReportingServices.Shared/Models/ProductionReport/Reactor.cs @@ -0,0 +1,10 @@ +namespace ReportingServices.Shared.Models.ProductionReport +{ + public class Reactor + { + public int ReactorNumber { get; set; } + public string Type { get; set; } + public string PocketSize { get; set; } + public bool HasDisabledLoadlock { get; set; } + } +} diff --git a/ReportingServices.Shared/Models/ProductionReport/ReactorOutsByDay.cs b/ReportingServices.Shared/Models/ProductionReport/ReactorOutsByDay.cs new file mode 100644 index 0000000..fbdbe4d --- /dev/null +++ b/ReportingServices.Shared/Models/ProductionReport/ReactorOutsByDay.cs @@ -0,0 +1,8 @@ +namespace ReportingServices.Shared.Models.ProductionReport +{ + public class ReactorOutsByDay + { + public string StartDate { get; set; } + public int TotalWafers { get; set; } + } +} diff --git a/ReportingServices/Models/ProductionReport/ReactorOutsByRDS.cs b/ReportingServices.Shared/Models/ProductionReport/ReactorOutsByRDS.cs similarity index 75% rename from ReportingServices/Models/ProductionReport/ReactorOutsByRDS.cs rename to ReportingServices.Shared/Models/ProductionReport/ReactorOutsByRDS.cs index 1099eb5..b121dc1 100644 --- a/ReportingServices/Models/ProductionReport/ReactorOutsByRDS.cs +++ b/ReportingServices.Shared/Models/ProductionReport/ReactorOutsByRDS.cs @@ -1,4 +1,4 @@ -namespace ReportingServices.Models.ProductionReport +namespace ReportingServices.Shared.Models.ProductionReport { public class ReactorOutsByRDS { diff --git a/ReportingServices.Shared/Models/ProductionReport/ScrapByDay.cs b/ReportingServices.Shared/Models/ProductionReport/ScrapByDay.cs new file mode 100644 index 0000000..fc07042 --- /dev/null +++ b/ReportingServices.Shared/Models/ProductionReport/ScrapByDay.cs @@ -0,0 +1,11 @@ +namespace ReportingServices.Shared.Models.ProductionReport +{ + public class ScrapByDay + { + public string StartDate { get; set; } + public int TW_PROD { get; set; } + public int TOT_REJ_CUST { get; set; } + public int TOT_REJ_MANU { get; set; } + public int TOT_REJ_WFRS { get; set; } + } +} diff --git a/ReportingServices/Models/ProductionReport/ToolStateCurrent.cs b/ReportingServices.Shared/Models/ProductionReport/ToolStateCurrent.cs similarity index 87% rename from ReportingServices/Models/ProductionReport/ToolStateCurrent.cs rename to ReportingServices.Shared/Models/ProductionReport/ToolStateCurrent.cs index d38b8a0..8969ad6 100644 --- a/ReportingServices/Models/ProductionReport/ToolStateCurrent.cs +++ b/ReportingServices.Shared/Models/ProductionReport/ToolStateCurrent.cs @@ -1,4 +1,4 @@ -namespace ReportingServices.Models.ProductionReport +namespace ReportingServices.Shared.Models.ProductionReport { public class ToolStateCurrent { diff --git a/ReportingServices.Shared/ReportingServices.Shared.csproj b/ReportingServices.Shared/ReportingServices.Shared.csproj new file mode 100644 index 0000000..0b4e1ed --- /dev/null +++ b/ReportingServices.Shared/ReportingServices.Shared.csproj @@ -0,0 +1,13 @@ + + + + net6.0 + enable + disable + + + + + + + diff --git a/ReportingServices/Repositories/Implementations/FabTimeReportingRepository.cs b/ReportingServices.Shared/Repositories/Implementations/FabTimeReportingRepository.cs similarity index 91% rename from ReportingServices/Repositories/Implementations/FabTimeReportingRepository.cs rename to ReportingServices.Shared/Repositories/Implementations/FabTimeReportingRepository.cs index 1abf65d..5707017 100644 --- a/ReportingServices/Repositories/Implementations/FabTimeReportingRepository.cs +++ b/ReportingServices.Shared/Repositories/Implementations/FabTimeReportingRepository.cs @@ -1,10 +1,10 @@ -using ReportingServices.HelperClasses; -using ReportingServices.Models.ProductionReport; -using ReportingServices.ViewModels.ProductionReport; +using ReportingServices.Shared.HelperClasses; +using ReportingServices.Shared.Models.ProductionReport; +using ReportingServices.Shared.ViewModels.ProductionReport; using System.Text.Json; using System.Web; -namespace ReportingServices.Dependency_Injections +namespace ReportingServices.Shared.Repositories { public class FabTimeReportingRepository : IFabTimeReportingRepository { diff --git a/ReportingServices/Repositories/Implementations/ScrapeDatabaseRepository.cs b/ReportingServices.Shared/Repositories/Implementations/ScrapeDatabaseRepository.cs similarity index 79% rename from ReportingServices/Repositories/Implementations/ScrapeDatabaseRepository.cs rename to ReportingServices.Shared/Repositories/Implementations/ScrapeDatabaseRepository.cs index 50313f4..cc3de91 100644 --- a/ReportingServices/Repositories/Implementations/ScrapeDatabaseRepository.cs +++ b/ReportingServices.Shared/Repositories/Implementations/ScrapeDatabaseRepository.cs @@ -1,19 +1,18 @@ using Microsoft.Data.SqlClient; -using ReportingServices.Models.PlanningReport; -using ReportingServices.Models.ProductionReport; +using ReportingServices.Shared.Models.PlanningReport; +using ReportingServices.Shared.Models.ProductionReport; using System.Data; -namespace ReportingServices.Dependency_Injections +namespace ReportingServices.Shared.Repositories { public class ScrapeDatabaseRepository : IScrapeDatabaseRepository { private SqlConnection _connection; - private string _connectionString; + private readonly string _connectionString; public ScrapeDatabaseRepository() { - IConfiguration configuration = new ConfigurationBuilder().AddJsonFile("appsettings.json").Build(); - _connectionString = configuration.GetConnectionString("DefaultConnection"); + _connectionString = "Server=MESSV01EC.EC.LOCAL\\PROD1,53959;Database=LSL2SQL;User Id=srpadmin;Password=0okm9ijn;TrustServerCertificate=true"; } public void OpenConnection() @@ -91,7 +90,15 @@ namespace ReportingServices.Dependency_Injections using (SqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read() && reader[0].ToString() != "1/1/1900 12:00:00 AM") - scrap.Add(new ScrapByDay(reader[0].ToString(), reader[3].ToString(), reader[1].ToString(), reader[2].ToString())); + scrap.Add(new ScrapByDay + { + StartDate = reader[0].ToString(), + TW_PROD = int.Parse(reader[3].ToString()), + TOT_REJ_CUST = int.Parse(reader[1].ToString()), + TOT_REJ_MANU = int.Parse(reader[2].ToString()), + TOT_REJ_WFRS = + int.Parse(reader[1].ToString()) + int.Parse(reader[2].ToString()) + }); } cmd.Dispose(); @@ -121,7 +128,12 @@ namespace ReportingServices.Dependency_Injections using (SqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) - weeklyPartChanges.Add(new ReactorPSNWORuns(reader[0].ToString(), reader[1].ToString(), int.Parse(reader[2].ToString()))); + weeklyPartChanges.Add(new ReactorPSNWORuns + { + REACTOR = reader[0].ToString(), + PSN = reader[1].ToString(), + WO_COUNT = int.Parse(reader[2].ToString()) + }); } cmd.Dispose(); @@ -198,7 +210,13 @@ namespace ReportingServices.Dependency_Injections using (SqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) - reactors.Add(new Reactor(int.Parse(reader[0].ToString()), reader[1].ToString(), reader[2].ToString(), bool.Parse(reader[3].ToString()))); + reactors.Add(new Reactor + { + ReactorNumber = int.Parse(reader[0].ToString()), + Type = reader[1].ToString(), + PocketSize = reader[2].ToString(), + HasDisabledLoadlock = bool.Parse(reader[3].ToString()) + }); } cmd.Dispose(); @@ -227,7 +245,14 @@ namespace ReportingServices.Dependency_Injections using (SqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) - rdsList.Add(new RDS(int.Parse(reader[0].ToString()), reader[1].ToString(), DateTime.Parse(reader[2].ToString()), int.Parse(reader[3].ToString()), reader[4].ToString())); + rdsList.Add(new RDS + { + Reactor = int.Parse(reader[0].ToString()), + ReactorType = reader[1].ToString(), + DateOut = DateTime.Parse(reader[2].ToString()), + UnloadTemp = int.Parse(reader[3].ToString()), + LayerType = reader[4].ToString() + }); } cmd.Dispose(); diff --git a/ReportingServices/Repositories/Interfaces/IFabTimeReportingRepository.cs b/ReportingServices.Shared/Repositories/Interfaces/IFabTimeReportingRepository.cs similarity index 69% rename from ReportingServices/Repositories/Interfaces/IFabTimeReportingRepository.cs rename to ReportingServices.Shared/Repositories/Interfaces/IFabTimeReportingRepository.cs index 44cfd86..5af248f 100644 --- a/ReportingServices/Repositories/Interfaces/IFabTimeReportingRepository.cs +++ b/ReportingServices.Shared/Repositories/Interfaces/IFabTimeReportingRepository.cs @@ -1,7 +1,7 @@ -using ReportingServices.Models.ProductionReport; -using ReportingServices.ViewModels.ProductionReport; +using ReportingServices.Shared.Models.ProductionReport; +using ReportingServices.Shared.ViewModels.ProductionReport; -namespace ReportingServices.Dependency_Injections +namespace ReportingServices.Shared.Repositories { public interface IFabTimeReportingRepository { diff --git a/ReportingServices/Repositories/Interfaces/IScrapeDatabaseRepository.cs b/ReportingServices.Shared/Repositories/Interfaces/IScrapeDatabaseRepository.cs similarity index 76% rename from ReportingServices/Repositories/Interfaces/IScrapeDatabaseRepository.cs rename to ReportingServices.Shared/Repositories/Interfaces/IScrapeDatabaseRepository.cs index 48306d8..0319225 100644 --- a/ReportingServices/Repositories/Interfaces/IScrapeDatabaseRepository.cs +++ b/ReportingServices.Shared/Repositories/Interfaces/IScrapeDatabaseRepository.cs @@ -1,7 +1,7 @@ -using ReportingServices.Models.PlanningReport; -using ReportingServices.Models.ProductionReport; +using ReportingServices.Shared.Models.PlanningReport; +using ReportingServices.Shared.Models.ProductionReport; -namespace ReportingServices.Dependency_Injections +namespace ReportingServices.Shared.Repositories { public interface IScrapeDatabaseRepository { diff --git a/ReportingServices/ViewModels/ProductionReport/DailyReport.cs b/ReportingServices.Shared/ViewModels/ProductionReport/DailyReport.cs similarity index 96% rename from ReportingServices/ViewModels/ProductionReport/DailyReport.cs rename to ReportingServices.Shared/ViewModels/ProductionReport/DailyReport.cs index 8bc9be2..3e4ef35 100644 --- a/ReportingServices/ViewModels/ProductionReport/DailyReport.cs +++ b/ReportingServices.Shared/ViewModels/ProductionReport/DailyReport.cs @@ -1,7 +1,8 @@ -using ReportingServices.HelperClasses; -using ReportingServices.Models.ProductionReport; +using ReportingServices.Shared.HelperClasses; +using ReportingServices.Shared.Models.ProductionReport; +using ReportingServices.Shared.ViewModels.ProductionReport; -namespace ReportingServices.ViewModels.ProductionReport +namespace ReportingServices.Shared.ViewModels.ProductionReport { public class DailyReport { diff --git a/ReportingServices/ViewModels/ProductionReport/ToolStateByType.cs b/ReportingServices.Shared/ViewModels/ProductionReport/ToolStateByType.cs similarity index 76% rename from ReportingServices/ViewModels/ProductionReport/ToolStateByType.cs rename to ReportingServices.Shared/ViewModels/ProductionReport/ToolStateByType.cs index 8ea6c1a..3984850 100644 --- a/ReportingServices/ViewModels/ProductionReport/ToolStateByType.cs +++ b/ReportingServices.Shared/ViewModels/ProductionReport/ToolStateByType.cs @@ -1,6 +1,6 @@ -using ReportingServices.Models.ProductionReport; +using ReportingServices.Shared.Models.ProductionReport; -namespace ReportingServices.ViewModels.ProductionReport +namespace ReportingServices.Shared.ViewModels.ProductionReport { public class ToolStateByType { @@ -34,14 +34,14 @@ namespace ReportingServices.ViewModels.ProductionReport { float elapsedTime = 0f; - if (ToolStateCurrents[ToolStateCurrents.Count - 1].BasicStateDescription.ToUpper() != "PRODUCTIVE" && ToolStateCurrents[ToolStateCurrents.Count - 1].BasicStateDescription.ToUpper() != "OUT OF SERVICE") - float.Parse(ToolStateCurrents[ToolStateCurrents.Count - 1].GanttElapsedHours); + if (ToolStateCurrents[^1].BasicStateDescription.ToUpper() is not "PRODUCTIVE" and not "OUT OF SERVICE") + float.Parse(ToolStateCurrents[^1].GanttElapsedHours); for (int i = ToolStateCurrents.Count - 2; i >= 0; i--) { if (ToolStateCurrents[i].Tool == ToolStateCurrents[i + 1].Tool) { - if (ToolStateCurrents[i].BasicStateDescription.ToUpper() != "PRODUCTIVE" && ToolStateCurrents[ToolStateCurrents.Count - 1].BasicStateDescription.ToUpper() != "OUT OF SERVICE") + if (ToolStateCurrents[i].BasicStateDescription.ToUpper() != "PRODUCTIVE" && ToolStateCurrents[^1].BasicStateDescription.ToUpper() != "OUT OF SERVICE") elapsedTime += float.Parse(ToolStateCurrents[i].GanttElapsedHours); } else @@ -49,7 +49,7 @@ namespace ReportingServices.ViewModels.ProductionReport if (elapsedTime >= 12) ToolsDownGreaterThan12Hours.Add(ToolStateCurrents[i + 1].Tool); - if (ToolStateCurrents[i].BasicStateDescription.ToUpper() != "PRODUCTIVE" && ToolStateCurrents[ToolStateCurrents.Count - 1].BasicStateDescription.ToUpper() != "OUT OF SERVICE") + if (ToolStateCurrents[i].BasicStateDescription.ToUpper() != "PRODUCTIVE" && ToolStateCurrents[^1].BasicStateDescription.ToUpper() != "OUT OF SERVICE") elapsedTime = float.Parse(ToolStateCurrents[i].GanttElapsedHours); else elapsedTime = 0; diff --git a/ReportingServices/Models/ProductionReport/YieldStatistics.cs b/ReportingServices.Shared/ViewModels/ProductionReport/YieldStatistics.cs similarity index 88% rename from ReportingServices/Models/ProductionReport/YieldStatistics.cs rename to ReportingServices.Shared/ViewModels/ProductionReport/YieldStatistics.cs index 3f38da5..2b9c7b9 100644 --- a/ReportingServices/Models/ProductionReport/YieldStatistics.cs +++ b/ReportingServices.Shared/ViewModels/ProductionReport/YieldStatistics.cs @@ -1,4 +1,6 @@ -namespace ReportingServices.Models.ProductionReport +using ReportingServices.Shared.Models.ProductionReport; + +namespace ReportingServices.Shared.ViewModels.ProductionReport { public class YieldStatistics { @@ -48,7 +50,7 @@ waferCount += (int)float.Parse(rout.Units); } - outsByDay.Add(new ReactorOutsByDay(date, waferCount)); + outsByDay.Add(new ReactorOutsByDay { StartDate = date, TotalWafers = waferCount }); } return outsByDay; diff --git a/ReportingServices.Test/APIHelperTester.cs b/ReportingServices.Test/APIHelperTester.cs index ba95d69..231b249 100644 --- a/ReportingServices.Test/APIHelperTester.cs +++ b/ReportingServices.Test/APIHelperTester.cs @@ -1,4 +1,4 @@ -using ReportingServices.HelperClasses; +using ReportingServices.Shared.HelperClasses; namespace ReportingServices.Test { diff --git a/ReportingServices.Test/DailyReportTester.cs b/ReportingServices.Test/DailyReportTester.cs index 03e4e7f..427ccd6 100644 --- a/ReportingServices.Test/DailyReportTester.cs +++ b/ReportingServices.Test/DailyReportTester.cs @@ -1,9 +1,4 @@ -using ReportingServices.ViewModels.ProductionReport; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using ReportingServices.Shared.ViewModels.ProductionReport; namespace ReportingServices.Test { @@ -14,8 +9,10 @@ namespace ReportingServices.Test public void SetRDSInfo_InputData_CalculatedAndStoresCorrectly() { // Arrange - DailyReport rpt = new(); - rpt.CurrentEntries = TestingClass.ManualReportEntries; + DailyReport rpt = new() + { + CurrentEntries = TestingClass.ManualReportEntries + }; Dictionary> dualLayerReactors = new() { { "ASM", new List() { 24, 62 } }, @@ -40,8 +37,10 @@ namespace ReportingServices.Test public void SetReactorInfo_InputData_CalculatedAndStoresCorrectly() { // Arrange - DailyReport rpt = new(); - rpt.CurrentEntries = TestingClass.ManualReportEntries; + DailyReport rpt = new() + { + CurrentEntries = TestingClass.ManualReportEntries + }; int numberOfToolsWaferSize6IN = 11; int numberOfToolsWaferSize8IN = 46; int numberOfToolsWaferSize6INScheduled = 9; diff --git a/ReportingServices.Test/ReportingServices.Test.csproj b/ReportingServices.Test/ReportingServices.Test.csproj index 4621b7d..51528f6 100644 --- a/ReportingServices.Test/ReportingServices.Test.csproj +++ b/ReportingServices.Test/ReportingServices.Test.csproj @@ -30,7 +30,7 @@ - + diff --git a/ReportingServices.Test/TestingClass.cs b/ReportingServices.Test/TestingClass.cs index 11d05b9..4b50502 100644 --- a/ReportingServices.Test/TestingClass.cs +++ b/ReportingServices.Test/TestingClass.cs @@ -1,4 +1,4 @@ -using ReportingServices.Models.ProductionReport; +using ReportingServices.Shared.Models.ProductionReport; namespace ReportingServices.Test { @@ -6,165 +6,165 @@ namespace ReportingServices.Test { public static readonly List RDSList = new() { - new RDS(79, "ASM+", new DateTime(2022, 12, 13), 600, "Standard 1 Layer"), - new RDS(45, "HTR", new DateTime(2022, 12, 13), 550, "Standard 1 Layer"), - new RDS(62, "ASM+", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"), - new RDS(62, "ASM+", new DateTime(2022, 12, 13), 700, "Standard 2 Layer"), - new RDS(62, "ASM+", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"), - new RDS(24, "ASM", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"), - new RDS(24, "ASM", new DateTime(2022, 12, 13), 800, "Standard 2 Layer"), - new RDS(24, "ASM", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"), - new RDS(66, "ASM+", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(28, "ASM", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(28, "ASM", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(63, "ASM+", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"), - new RDS(63, "ASM+", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"), - new RDS(23, "ASM", new DateTime(2022, 12, 13), 550, "Standard 1 Layer"), - new RDS(23, "ASM", new DateTime(2022, 12, 13), 550, "Standard 1 Layer"), - new RDS(32, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(58, "ASM", new DateTime(2022, 12, 13), 650, "Standard 1 Layer"), - new RDS(77, "ASM+", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"), - new RDS(77, "ASM+", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"), - new RDS(57, "ASM+", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"), - new RDS(57, "ASM+", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"), - new RDS(20, "ASM", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"), - new RDS(20, "ASM", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"), - new RDS(43, "ASM+", new DateTime(2022, 12, 13), 750, "Standard 1 Layer"), - new RDS(43, "ASM+", new DateTime(2022, 12, 13), 750, "Standard 1 Layer"), - new RDS(29, "ASM", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(25, "ASM", new DateTime(2022, 12, 13), 750, "Standard 1 Layer"), - new RDS(51, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(51, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(51, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(38, "HTR", new DateTime(2022, 12, 13), 550, "Standard 1 Layer"), - new RDS(38, "HTR", new DateTime(2022, 12, 13), 550, "Standard 1 Layer"), - new RDS(64, "ASM+", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"), - new RDS(64, "ASM+", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"), - new RDS(32, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(37, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(37, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(30, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(31, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(33, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(33, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(33, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(55, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(55, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(55, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(36, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(21, "ASM", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"), - new RDS(21, "ASM", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"), - new RDS(73, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(75, "ASM+", new DateTime(2022, 12, 13), 750, "Standard 1 Layer"), - new RDS(75, "ASM+", new DateTime(2022, 12, 13), 750, "Standard 1 Layer"), - new RDS(51, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(53, "ASM+", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(53, "ASM+", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(35, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(35, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(35, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(36, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(68, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(68, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(68, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(41, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(41, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(41, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(70, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(70, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(70, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(70, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(74, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(74, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(74, "HTR", new DateTime(2022, 12, 13), 700, "Standard 1 Layer"), - new RDS(61, "ASM+", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"), - new RDS(61, "ASM+", new DateTime(2022, 12, 13), 800, "Standard 1 Layer"), - new RDS(49, "HTR", new DateTime(2022, 12, 13), 550, "Standard 1 Layer"), - new RDS(42, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"), - new RDS(42, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"), - new RDS(42, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"), - new RDS(46, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"), - new RDS(46, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"), - new RDS(52, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 1 Layer"), - new RDS(48, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 1 Layer"), - new RDS(54, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 1 Layer"), - new RDS(50, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 1 Layer"), - new RDS(40, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"), - new RDS(40, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"), - new RDS(42, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"), - new RDS(42, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"), - new RDS(44, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"), - new RDS(44, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"), - new RDS(46, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"), - new RDS(46, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"), - new RDS(46, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 2 Layer"), - new RDS(48, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 1 Layer"), - new RDS(50, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 1 Layer"), - new RDS(52, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 1 Layer"), - new RDS(54, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 1 Layer"), - new RDS(48, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 1 Layer"), - new RDS(52, "EPP", new DateTime(2022, 12, 13), 1000, "Standard 1 Layer"), + new RDS { Reactor = 79, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 600, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 45, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 550, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 62, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 2 Layer" }, + new RDS { Reactor = 62, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 2 Layer" }, + new RDS { Reactor = 62, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 2 Layer" }, + new RDS { Reactor = 24, ReactorType = "ASM", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 2 Layer" }, + new RDS { Reactor = 24, ReactorType = "ASM", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 800, LayerType = "Standard 2 Layer" }, + new RDS { Reactor = 24, ReactorType = "ASM", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 2 Layer" }, + new RDS { Reactor = 66, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 28, ReactorType = "ASM", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 28, ReactorType = "ASM", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 63, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 800, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 63, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 800, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 23, ReactorType = "ASM", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 550, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 23, ReactorType = "ASM", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 550, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 32, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 58, ReactorType = "ASM", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 650, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 77, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 800, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 77, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 800, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 57, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 800, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 57, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 800, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 20, ReactorType = "ASM", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 800, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 20, ReactorType = "ASM", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 800, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 43, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 750, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 43, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 750, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 29, ReactorType = "ASM", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 25, ReactorType = "ASM", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 750, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 51, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 51, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 51, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 38, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 550, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 38, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 550, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 64, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 800, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 64, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 800, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 32, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 37, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 37, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 30, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 31, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 33, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 33, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 33, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 55, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 55, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 55, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 36, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 21, ReactorType = "ASM", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 800, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 21, ReactorType = "ASM", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 800, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 73, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 75, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 750, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 75, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 750, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 51, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 53, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 53, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 35, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 35, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 35, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 36, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 68, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 68, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 68, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 41, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 41, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 41, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 70, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 70, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 70, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 70, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 74, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 74, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 74, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 700, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 61, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 800, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 61, ReactorType = "ASM+", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 800, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 49, ReactorType = "HTR", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 550, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 42, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 2 Layer" }, + new RDS { Reactor = 42, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 2 Layer" }, + new RDS { Reactor = 42, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 2 Layer" }, + new RDS { Reactor = 46, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 2 Layer" }, + new RDS { Reactor = 46, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 2 Layer" }, + new RDS { Reactor = 52, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 48, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 54, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 50, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 40, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 2 Layer" }, + new RDS { Reactor = 40, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 2 Layer" }, + new RDS { Reactor = 42, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 2 Layer" }, + new RDS { Reactor = 42, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 2 Layer" }, + new RDS { Reactor = 44, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 2 Layer" }, + new RDS { Reactor = 44, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 2 Layer" }, + new RDS { Reactor = 46, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 2 Layer" }, + new RDS { Reactor = 46, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 2 Layer" }, + new RDS { Reactor = 46, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 2 Layer" }, + new RDS { Reactor = 48, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 50, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 52, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 54, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 48, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 1 Layer" }, + new RDS { Reactor = 52, ReactorType = "EPP", DateOut = new DateTime(2022, 12, 13), UnloadTemp = 1000, LayerType = "Standard 1 Layer" } }; public static readonly List Reactors = new() { - new Reactor(20, "ASM", "200 mm 8 in", false), - new Reactor(21, "ASM", "200 mm 8 in", false), - new Reactor(22, "ASM", "200 mm 8 in", false), - new Reactor(23, "ASM", "200 mm 8 in", false), - new Reactor(24, "ASM", "200 mm 8 in", false), - new Reactor(25, "ASM", "200 mm 8 in", true), - new Reactor(26, "ASM", "200 mm 8 in", false), - new Reactor(27, "ASM", "200 mm 8 in", false), - new Reactor(28, "ASM", "150 mm 6 in", true), - new Reactor(29, "ASM", "200 mm 8 in", false), - new Reactor(30, "HTR", "200 mm 8 in", true), - new Reactor(31, "HTR", "200 mm 8 in", true), - new Reactor(32, "HTR", "200 mm 8 in", true), - new Reactor(33, "HTR", "200 mm 8 in", true), - new Reactor(34, "HTR", "200 mm 8 in", false), - new Reactor(35, "HTR", "200 mm 8 in", false), - new Reactor(36, "HTR", "200 mm 8 in", false), - new Reactor(37, "HTR", "200 mm 8 in", true), - new Reactor(38, "HTR", "200 mm 8 in", true), - new Reactor(39, "ASM+", "200 mm 8 in", false), - new Reactor(40, "EPP", "150 mm 6 in", false), - new Reactor(41, "HTR", "200 mm 8 in", true), - new Reactor(42, "EPP", "150 mm 6 in", false), - new Reactor(43, "ASM+", "200 mm 8 in", false), - new Reactor(44, "EPP", "150 mm 6 in", false), - new Reactor(45, "HTR", "200 mm 8 in", true), - new Reactor(46, "EPP", "150 mm 6 in", false), - new Reactor(47, "HTR", "150 mm 6 in", true), - new Reactor(48, "EPP", "200 mm 8 in", false), - new Reactor(49, "HTR", "200 mm 8 in", true), - new Reactor(50, "EPP", "200 mm 8 in", false), - new Reactor(51, "HTR", "150 mm 6 in", true), - new Reactor(52, "EPP", "200 mm 8 in", false), - new Reactor(53, "ASM+", "200 mm 8 in", false), - new Reactor(54, "EPP", "200 mm 8 in", false), - new Reactor(55, "HTR", "200 mm 8 in", true), - new Reactor(56, "ASM+", "200 mm 8 in", true), - new Reactor(57, "ASM+", "200 mm 8 in", false), - new Reactor(58, "ASM", "200 mm 8 in", false), - new Reactor(59, "ASM", "200 mm 8 in", false), - new Reactor(60, "ASM+", "200 mm 8 in", true), - new Reactor(61, "ASM+", "200 mm 8 in", false), - new Reactor(62, "ASM+", "200 mm 8 in", true), - new Reactor(63, "ASM+", "200 mm 8 in", false), - new Reactor(64, "ASM+", "200 mm 8 in", false), - new Reactor(65, "ASM+", "200 mm 8 in", false), - new Reactor(66, "ASM+", "200 mm 8 in", false), - new Reactor(68, "HTR", "200 mm 8 in", false), - new Reactor(70, "HTR", "150 mm 6 in", true), - new Reactor(72, "HTR", "200 mm 8 in", true), - new Reactor(73, "HTR", "200 mm 8 in", false), - new Reactor(74, "HTR", "150 mm 6 in", false), - new Reactor(75, "ASM+", "200 mm 8 in", false), - new Reactor(77, "ASM+", "200 mm 8 in", false), - new Reactor(79, "ASM+", "200 mm 8 in", false), - new Reactor(100, "ASM", "150 mm 6 in", false), - new Reactor(101, "ASM", "150 mm 6 in", false), + new Reactor { ReactorNumber = 20, Type = "ASM", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false }, + new Reactor { ReactorNumber = 21, Type = "ASM", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false }, + new Reactor { ReactorNumber = 22, Type = "ASM", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false }, + new Reactor { ReactorNumber = 23, Type = "ASM", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false }, + new Reactor { ReactorNumber = 24, Type = "ASM", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false }, + new Reactor { ReactorNumber = 25, Type = "ASM", PocketSize = "200 mm 8 in", HasDisabledLoadlock = true }, + new Reactor { ReactorNumber = 26, Type = "ASM", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false }, + new Reactor { ReactorNumber = 27, Type = "ASM", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false }, + new Reactor { ReactorNumber = 28, Type = "ASM", PocketSize = "150 mm 6 in", HasDisabledLoadlock = true }, + new Reactor { ReactorNumber = 29, Type = "ASM", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false }, + new Reactor { ReactorNumber = 30, Type = "HTR", PocketSize = "200 mm 8 in", HasDisabledLoadlock = true }, + new Reactor { ReactorNumber = 31, Type = "HTR", PocketSize = "200 mm 8 in", HasDisabledLoadlock = true }, + new Reactor { ReactorNumber = 32, Type = "HTR", PocketSize = "200 mm 8 in", HasDisabledLoadlock = true }, + new Reactor { ReactorNumber = 33, Type = "HTR", PocketSize = "200 mm 8 in", HasDisabledLoadlock = true }, + new Reactor { ReactorNumber = 34, Type = "HTR", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false }, + new Reactor { ReactorNumber = 35, Type = "HTR", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false }, + new Reactor { ReactorNumber = 36, Type = "HTR", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false }, + new Reactor { ReactorNumber = 37, Type = "HTR", PocketSize = "200 mm 8 in", HasDisabledLoadlock = true }, + new Reactor { ReactorNumber = 38, Type = "HTR", PocketSize = "200 mm 8 in", HasDisabledLoadlock = true }, + new Reactor { ReactorNumber = 39, Type = "ASM+", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false }, + new Reactor { ReactorNumber = 40, Type = "EPP", PocketSize = "150 mm 6 in", HasDisabledLoadlock = false }, + new Reactor { ReactorNumber = 41, Type = "HTR", PocketSize = "200 mm 8 in", HasDisabledLoadlock = true }, + new Reactor { ReactorNumber = 42, Type = "EPP", PocketSize = "150 mm 6 in", HasDisabledLoadlock = false }, + new Reactor { ReactorNumber = 43, Type = "ASM+", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false }, + new Reactor { ReactorNumber = 44, Type = "EPP", PocketSize = "150 mm 6 in", HasDisabledLoadlock = false }, + new Reactor { ReactorNumber = 45, Type = "HTR", PocketSize = "200 mm 8 in", HasDisabledLoadlock = true }, + new Reactor { ReactorNumber = 46, Type = "EPP", PocketSize = "150 mm 6 in", HasDisabledLoadlock = false }, + new Reactor { ReactorNumber = 47, Type = "HTR", PocketSize = "150 mm 6 in", HasDisabledLoadlock = true }, + new Reactor { ReactorNumber = 48, Type = "EPP", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false }, + new Reactor { ReactorNumber = 49, Type = "HTR", PocketSize = "200 mm 8 in", HasDisabledLoadlock = true }, + new Reactor { ReactorNumber = 50, Type = "EPP", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false }, + new Reactor { ReactorNumber = 51, Type = "HTR", PocketSize = "150 mm 6 in", HasDisabledLoadlock = true }, + new Reactor { ReactorNumber = 52, Type = "EPP", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false }, + new Reactor { ReactorNumber = 53, Type = "ASM+", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false }, + new Reactor { ReactorNumber = 54, Type = "EPP", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false }, + new Reactor { ReactorNumber = 55, Type = "HTR", PocketSize = "200 mm 8 in", HasDisabledLoadlock = true }, + new Reactor { ReactorNumber = 56, Type = "ASM+", PocketSize = "200 mm 8 in", HasDisabledLoadlock = true }, + new Reactor { ReactorNumber = 57, Type = "ASM+", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false }, + new Reactor { ReactorNumber = 58, Type = "ASM", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false }, + new Reactor { ReactorNumber = 59, Type = "ASM", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false }, + new Reactor { ReactorNumber = 60, Type = "ASM+", PocketSize = "200 mm 8 in", HasDisabledLoadlock = true }, + new Reactor { ReactorNumber = 61, Type = "ASM+", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false }, + new Reactor { ReactorNumber = 62, Type = "ASM+", PocketSize = "200 mm 8 in", HasDisabledLoadlock = true }, + new Reactor { ReactorNumber = 63, Type = "ASM+", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false }, + new Reactor { ReactorNumber = 64, Type = "ASM+", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false }, + new Reactor { ReactorNumber = 65, Type = "ASM+", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false }, + new Reactor { ReactorNumber = 66, Type = "ASM+", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false }, + new Reactor { ReactorNumber = 68, Type = "HTR", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false }, + new Reactor { ReactorNumber = 70, Type = "HTR", PocketSize = "150 mm 6 in", HasDisabledLoadlock = true }, + new Reactor { ReactorNumber = 72, Type = "HTR", PocketSize = "200 mm 8 in", HasDisabledLoadlock = true }, + new Reactor { ReactorNumber = 73, Type = "HTR", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false }, + new Reactor { ReactorNumber = 74, Type = "HTR", PocketSize = "150 mm 6 in", HasDisabledLoadlock = false }, + new Reactor { ReactorNumber = 75, Type = "ASM+", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false }, + new Reactor { ReactorNumber = 77, Type = "ASM+", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false }, + new Reactor { ReactorNumber = 79, Type = "ASM+", PocketSize = "200 mm 8 in", HasDisabledLoadlock = false }, + new Reactor { ReactorNumber = 100, Type = "ASM", PocketSize = "150 mm 6 in", HasDisabledLoadlock = false }, + new Reactor { ReactorNumber = 101, Type = "ASM", PocketSize = "150 mm 6 in", HasDisabledLoadlock = false } }; public static readonly List UnscheduledReactors = new() diff --git a/ReportingServices/Controllers/HomeController.cs b/ReportingServices.UI/Controllers/HomeController.cs similarity index 89% rename from ReportingServices/Controllers/HomeController.cs rename to ReportingServices.UI/Controllers/HomeController.cs index 3c490e2..271549d 100644 --- a/ReportingServices/Controllers/HomeController.cs +++ b/ReportingServices.UI/Controllers/HomeController.cs @@ -1,8 +1,8 @@ using Microsoft.AspNetCore.Mvc; -using ReportingServices.Models; +using ReportingServices.UI.Models; using System.Diagnostics; -namespace ReportingServices.Controllers +namespace ReportingServices.UI.Controllers { public class HomeController : Controller { diff --git a/ReportingServices/Controllers/PlanningReportController.cs b/ReportingServices.UI/Controllers/PlanningReportController.cs similarity index 66% rename from ReportingServices/Controllers/PlanningReportController.cs rename to ReportingServices.UI/Controllers/PlanningReportController.cs index 769152b..5da7c73 100644 --- a/ReportingServices/Controllers/PlanningReportController.cs +++ b/ReportingServices.UI/Controllers/PlanningReportController.cs @@ -1,9 +1,8 @@ using Microsoft.AspNetCore.Mvc; -using ReportingServices.Dependency_Injections; -using ReportingServices.HelperClasses; -using ReportingServices.Models.PlanningReport; +using ReportingServices.Shared.Repositories; +using ReportingServices.Shared.Models.PlanningReport; -namespace ReportingServices.Controllers +namespace ReportingServices.UI.Controllers { public class PlanningReportController : Controller { @@ -24,8 +23,13 @@ namespace ReportingServices.Controllers int numberOfPartChanges = _scrapeDatabaseRepository.GetNumberOfPartChanges(startDate.ToString(), endDate.ToString()); List reactorPSNWORuns = _scrapeDatabaseRepository.GetReactorPSNWORuns(startDate.ToString(), endDate.ToString()); - WeeklyPartChanges weeklyPartChanges = new WeeklyPartChanges(numberOfPartChanges, startDate.ToShortDateString(), - endDate.ToShortDateString(), reactorPSNWORuns); + WeeklyPartChanges weeklyPartChanges = new() + { + TotalPartChanges = numberOfPartChanges, + StartDate = startDate.ToShortDateString(), + EndDate = endDate.ToShortDateString(), + ReactorPSNWORuns = reactorPSNWORuns + }; return View(weeklyPartChanges); } diff --git a/ReportingServices/Controllers/ProductionReportController.cs b/ReportingServices.UI/Controllers/ProductionReportController.cs similarity index 91% rename from ReportingServices/Controllers/ProductionReportController.cs rename to ReportingServices.UI/Controllers/ProductionReportController.cs index d312ca2..2e74fe7 100644 --- a/ReportingServices/Controllers/ProductionReportController.cs +++ b/ReportingServices.UI/Controllers/ProductionReportController.cs @@ -1,10 +1,10 @@ using Microsoft.AspNetCore.Mvc; -using ReportingServices.Dependency_Injections; -using ReportingServices.HelperClasses; -using ReportingServices.Models.ProductionReport; -using ReportingServices.ViewModels.ProductionReport; +using ReportingServices.Shared.Repositories; +using ReportingServices.Shared.HelperClasses; +using ReportingServices.Shared.Models.ProductionReport; +using ReportingServices.Shared.ViewModels.ProductionReport; -namespace ReportingServices.Controllers +namespace ReportingServices.UI.Controllers { public class ProductionReportController : Controller { diff --git a/ReportingServices/Models/ErrorViewModel.cs b/ReportingServices.UI/Models/ErrorViewModel.cs similarity index 81% rename from ReportingServices/Models/ErrorViewModel.cs rename to ReportingServices.UI/Models/ErrorViewModel.cs index 1965310..c2598b2 100644 --- a/ReportingServices/Models/ErrorViewModel.cs +++ b/ReportingServices.UI/Models/ErrorViewModel.cs @@ -1,4 +1,4 @@ -namespace ReportingServices.Models +namespace ReportingServices.UI.Models { public class ErrorViewModel { diff --git a/ReportingServices/Program.cs b/ReportingServices.UI/Program.cs similarity index 94% rename from ReportingServices/Program.cs rename to ReportingServices.UI/Program.cs index e7051be..f2a6d31 100644 --- a/ReportingServices/Program.cs +++ b/ReportingServices.UI/Program.cs @@ -1,5 +1,4 @@ -using ReportingServices.Dependency_Injections; -using ReportingServices.HelperClasses; +using ReportingServices.Shared.Repositories; using Serilog; LoggerConfiguration loggerConfiguration = new(); diff --git a/ReportingServices/Properties/launchSettings.json b/ReportingServices.UI/Properties/launchSettings.json similarity index 100% rename from ReportingServices/Properties/launchSettings.json rename to ReportingServices.UI/Properties/launchSettings.json diff --git a/ReportingServices/ReportingServices.csproj b/ReportingServices.UI/ReportingServices.UI.csproj similarity index 67% rename from ReportingServices/ReportingServices.csproj rename to ReportingServices.UI/ReportingServices.UI.csproj index af6537a..df2c458 100644 --- a/ReportingServices/ReportingServices.csproj +++ b/ReportingServices.UI/ReportingServices.UI.csproj @@ -13,4 +13,13 @@ + + + + + + + + + diff --git a/ReportingServices/Views/Home/Index.cshtml b/ReportingServices.UI/Views/Home/Index.cshtml similarity index 100% rename from ReportingServices/Views/Home/Index.cshtml rename to ReportingServices.UI/Views/Home/Index.cshtml diff --git a/ReportingServices/Views/PlanningReport/Index.cshtml b/ReportingServices.UI/Views/PlanningReport/Index.cshtml similarity index 100% rename from ReportingServices/Views/PlanningReport/Index.cshtml rename to ReportingServices.UI/Views/PlanningReport/Index.cshtml diff --git a/ReportingServices/Views/PlanningReport/WeeklyPartChangesReport.cshtml b/ReportingServices.UI/Views/PlanningReport/WeeklyPartChangesReport.cshtml similarity index 94% rename from ReportingServices/Views/PlanningReport/WeeklyPartChangesReport.cshtml rename to ReportingServices.UI/Views/PlanningReport/WeeklyPartChangesReport.cshtml index b93336e..32c200e 100644 --- a/ReportingServices/Views/PlanningReport/WeeklyPartChangesReport.cshtml +++ b/ReportingServices.UI/Views/PlanningReport/WeeklyPartChangesReport.cshtml @@ -1,6 +1,4 @@ -@using ReportingServices.Models.PlanningReport -@using ReportingServices.HelperClasses -@model ReportingServices.Models.PlanningReport.WeeklyPartChanges +@model WeeklyPartChanges @{ ViewData["Title"] = "Weekly Part Changes | Mesa Reporting Services"; diff --git a/ReportingServices/Views/ProductionReport/DailyReport.cshtml b/ReportingServices.UI/Views/ProductionReport/DailyReport.cshtml similarity index 99% rename from ReportingServices/Views/ProductionReport/DailyReport.cshtml rename to ReportingServices.UI/Views/ProductionReport/DailyReport.cshtml index 744a0c9..f5c1f15 100644 --- a/ReportingServices/Views/ProductionReport/DailyReport.cshtml +++ b/ReportingServices.UI/Views/ProductionReport/DailyReport.cshtml @@ -1,6 +1,4 @@ -@using ReportingServices.ViewModels.ProductionReport -@using ReportingServices.Models.ProductionReport -@model DailyReport +@model DailyReport @{ int ASMAvailablePct = 0; int EPPAvailablePct = 0; diff --git a/ReportingServices/Views/ProductionReport/EditDailyReport.cshtml b/ReportingServices.UI/Views/ProductionReport/EditDailyReport.cshtml similarity index 99% rename from ReportingServices/Views/ProductionReport/EditDailyReport.cshtml rename to ReportingServices.UI/Views/ProductionReport/EditDailyReport.cshtml index 21ed3e9..bce7bd7 100644 --- a/ReportingServices/Views/ProductionReport/EditDailyReport.cshtml +++ b/ReportingServices.UI/Views/ProductionReport/EditDailyReport.cshtml @@ -1,5 +1,4 @@ -@using ReportingServices.Models.ProductionReport -@model ManualReportEntries +@model ManualReportEntries @{ ViewData["Title"] = "Edit Daily Passdown | Mesa Reporting Services"; diff --git a/ReportingServices/Views/ProductionReport/Index.cshtml b/ReportingServices.UI/Views/ProductionReport/Index.cshtml similarity index 100% rename from ReportingServices/Views/ProductionReport/Index.cshtml rename to ReportingServices.UI/Views/ProductionReport/Index.cshtml diff --git a/ReportingServices/Views/Shared/Error.cshtml b/ReportingServices.UI/Views/Shared/Error.cshtml similarity index 100% rename from ReportingServices/Views/Shared/Error.cshtml rename to ReportingServices.UI/Views/Shared/Error.cshtml diff --git a/ReportingServices/Views/Shared/_DailyReportPartial.cshtml b/ReportingServices.UI/Views/Shared/_DailyReportPartial.cshtml similarity index 99% rename from ReportingServices/Views/Shared/_DailyReportPartial.cshtml rename to ReportingServices.UI/Views/Shared/_DailyReportPartial.cshtml index 4dbb7ad..149aa32 100644 --- a/ReportingServices/Views/Shared/_DailyReportPartial.cshtml +++ b/ReportingServices.UI/Views/Shared/_DailyReportPartial.cshtml @@ -1,4 +1,4 @@ -@model ReportingServices.Models.ProductionReport.YieldStatistics +@model YieldStatistics @{ int totalWafersOut = 0; diff --git a/ReportingServices/Views/Shared/_Layout.cshtml b/ReportingServices.UI/Views/Shared/_Layout.cshtml similarity index 100% rename from ReportingServices/Views/Shared/_Layout.cshtml rename to ReportingServices.UI/Views/Shared/_Layout.cshtml diff --git a/ReportingServices/Views/Shared/_Layout.cshtml.css b/ReportingServices.UI/Views/Shared/_Layout.cshtml.css similarity index 100% rename from ReportingServices/Views/Shared/_Layout.cshtml.css rename to ReportingServices.UI/Views/Shared/_Layout.cshtml.css diff --git a/ReportingServices/Views/Shared/_LoadingPartial.cshtml b/ReportingServices.UI/Views/Shared/_LoadingPartial.cshtml similarity index 100% rename from ReportingServices/Views/Shared/_LoadingPartial.cshtml rename to ReportingServices.UI/Views/Shared/_LoadingPartial.cshtml diff --git a/ReportingServices/Views/Shared/_ValidationScriptsPartial.cshtml b/ReportingServices.UI/Views/Shared/_ValidationScriptsPartial.cshtml similarity index 100% rename from ReportingServices/Views/Shared/_ValidationScriptsPartial.cshtml rename to ReportingServices.UI/Views/Shared/_ValidationScriptsPartial.cshtml diff --git a/ReportingServices.UI/Views/_ViewImports.cshtml b/ReportingServices.UI/Views/_ViewImports.cshtml new file mode 100644 index 0000000..3a4ecb3 --- /dev/null +++ b/ReportingServices.UI/Views/_ViewImports.cshtml @@ -0,0 +1,6 @@ +@using ReportingServices +@using ReportingServices.UI.Models +@using ReportingServices.Shared.Models.PlanningReport +@using ReportingServices.Shared.Models.ProductionReport +@using ReportingServices.Shared.ViewModels.ProductionReport +@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers diff --git a/ReportingServices/Views/_ViewStart.cshtml b/ReportingServices.UI/Views/_ViewStart.cshtml similarity index 100% rename from ReportingServices/Views/_ViewStart.cshtml rename to ReportingServices.UI/Views/_ViewStart.cshtml diff --git a/ReportingServices/appsettings.Development.json b/ReportingServices.UI/appsettings.Development.json similarity index 100% rename from ReportingServices/appsettings.Development.json rename to ReportingServices.UI/appsettings.Development.json diff --git a/ReportingServices/appsettings.Release.json b/ReportingServices.UI/appsettings.Release.json similarity index 100% rename from ReportingServices/appsettings.Release.json rename to ReportingServices.UI/appsettings.Release.json diff --git a/ReportingServices/appsettings.json b/ReportingServices.UI/appsettings.json similarity index 100% rename from ReportingServices/appsettings.json rename to ReportingServices.UI/appsettings.json diff --git a/ReportingServices/wwwroot/Assets/DailyReportInfo.json b/ReportingServices.UI/wwwroot/Assets/DailyReportInfo.json similarity index 78% rename from ReportingServices/wwwroot/Assets/DailyReportInfo.json rename to ReportingServices.UI/wwwroot/Assets/DailyReportInfo.json index c0827ea..2ee6b09 100644 --- a/ReportingServices/wwwroot/Assets/DailyReportInfo.json +++ b/ReportingServices.UI/wwwroot/Assets/DailyReportInfo.json @@ -1 +1 @@ -{"Previous Week":[{"Day":0,"Date":"2022-11-27T00:00:00","OperatorHeadcountDays":6,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":0,"HTRSingleLoadLock":0,"ASMUnloadTempsLessThan700":0,"HTRUnloadTempsLessThan700":0},{"Day":1,"Date":"2022-11-28T00:00:00","OperatorHeadcountDays":6,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":10,"HTRSingleLoadLock":16,"ASMUnloadTempsLessThan700":2,"HTRUnloadTempsLessThan700":1},{"Day":2,"Date":"2022-11-29T00:00:00","OperatorHeadcountDays":14,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":3,"HTRSingleLoadLock":12,"ASMUnloadTempsLessThan700":3,"HTRUnloadTempsLessThan700":1},{"Day":3,"Date":"2022-11-30T00:00:00","OperatorHeadcountDays":6,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":0,"HTRSingleLoadLock":0,"ASMUnloadTempsLessThan700":0,"HTRUnloadTempsLessThan700":0},{"Day":4,"Date":"2022-12-01T00:00:00","OperatorHeadcountDays":6,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":0,"HTRSingleLoadLock":0,"ASMUnloadTempsLessThan700":0,"HTRUnloadTempsLessThan700":0},{"Day":5,"Date":"2022-12-02T00:00:00","OperatorHeadcountDays":0,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":0,"HTRSingleLoadLock":0,"ASMUnloadTempsLessThan700":0,"HTRUnloadTempsLessThan700":0},{"Day":6,"Date":"2022-12-03T00:00:00","OperatorHeadcountDays":13,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":0,"HTRSingleLoadLock":0,"ASMUnloadTempsLessThan700":0,"HTRUnloadTempsLessThan700":0}],"Current Week":[{"Day":0,"Date":"2022-12-04T00:00:00","OperatorHeadcountDays":6,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":0,"HTRSingleLoadLock":0,"ASMUnloadTempsLessThan700":0,"HTRUnloadTempsLessThan700":0},{"Day":1,"Date":"2022-12-05T00:00:00","OperatorHeadcountDays":6,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":5,"HTRSingleLoadLock":14,"ASMUnloadTempsLessThan700":3,"HTRUnloadTempsLessThan700":3},{"Day":2,"Date":"2022-12-13T00:00:00","OperatorHeadcountDays":11,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":0,"HTRSingleLoadLock":0,"ASMUnloadTempsLessThan700":0,"HTRUnloadTempsLessThan700":0},{"Day":3,"Date":"2022-12-07T00:00:00","OperatorHeadcountDays":13,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":3,"HTRSingleLoadLock":12,"ASMUnloadTempsLessThan700":2,"HTRUnloadTempsLessThan700":1},{"Day":4,"Date":"2022-12-08T00:00:00","OperatorHeadcountDays":6,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":3,"HTRSingleLoadLock":12,"ASMUnloadTempsLessThan700":2,"HTRUnloadTempsLessThan700":1},{"Day":5,"Date":"2022-12-09T00:00:00","OperatorHeadcountDays":0,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":2,"HTRSingleLoadLock":14,"ASMUnloadTempsLessThan700":2,"HTRUnloadTempsLessThan700":1},{"Day":6,"Date":"2022-12-10T00:00:00","OperatorHeadcountDays":13,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":0,"HTRSingleLoadLock":0,"ASMUnloadTempsLessThan700":0,"HTRUnloadTempsLessThan700":0}]} \ No newline at end of file +{"Previous Week":[{"Day":0,"Date":"2022-11-27T00:00:00","OperatorHeadcountDays":6,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":0,"HTRSingleLoadLock":0,"ASMUnloadTempsLessThan700":0,"HTRUnloadTempsLessThan700":0},{"Day":1,"Date":"2022-11-28T00:00:00","OperatorHeadcountDays":6,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":10,"HTRSingleLoadLock":16,"ASMUnloadTempsLessThan700":2,"HTRUnloadTempsLessThan700":1},{"Day":2,"Date":"2022-11-29T00:00:00","OperatorHeadcountDays":14,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":3,"HTRSingleLoadLock":12,"ASMUnloadTempsLessThan700":3,"HTRUnloadTempsLessThan700":1},{"Day":3,"Date":"2022-11-30T00:00:00","OperatorHeadcountDays":6,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":0,"HTRSingleLoadLock":0,"ASMUnloadTempsLessThan700":0,"HTRUnloadTempsLessThan700":0},{"Day":4,"Date":"2022-12-01T00:00:00","OperatorHeadcountDays":6,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":0,"HTRSingleLoadLock":0,"ASMUnloadTempsLessThan700":0,"HTRUnloadTempsLessThan700":0},{"Day":5,"Date":"2022-12-02T00:00:00","OperatorHeadcountDays":0,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":0,"HTRSingleLoadLock":0,"ASMUnloadTempsLessThan700":0,"HTRUnloadTempsLessThan700":0},{"Day":6,"Date":"2022-12-03T00:00:00","OperatorHeadcountDays":13,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":0,"HTRSingleLoadLock":0,"ASMUnloadTempsLessThan700":0,"HTRUnloadTempsLessThan700":0}],"Current Week":[{"Day":0,"Date":"2022-12-04T00:00:00","OperatorHeadcountDays":6,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":0,"HTRSingleLoadLock":0,"ASMUnloadTempsLessThan700":0,"HTRUnloadTempsLessThan700":0},{"Day":1,"Date":"2022-12-05T00:00:00","OperatorHeadcountDays":6,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":5,"HTRSingleLoadLock":14,"ASMUnloadTempsLessThan700":3,"HTRUnloadTempsLessThan700":3},{"Day":2,"Date":"2022-12-13T00:00:00","OperatorHeadcountDays":11,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":0,"HTRSingleLoadLock":0,"ASMUnloadTempsLessThan700":0,"HTRUnloadTempsLessThan700":0},{"Day":3,"Date":"2022-12-07T00:00:00","OperatorHeadcountDays":13,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":3,"HTRSingleLoadLock":12,"ASMUnloadTempsLessThan700":2,"HTRUnloadTempsLessThan700":1},{"Day":4,"Date":"2022-12-22T00:00:00","OperatorHeadcountDays":15,"OperatorHeadcountNights":12,"OperatorCallOutsDays":0,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R23,R24,R26,R28","DailyPartChanges":"R21","WeeklyPartChanges":"R21,R23,R25","ASMSingleLoadLock":7,"HTRSingleLoadLock":14,"ASMUnloadTempsLessThan700":4,"HTRUnloadTempsLessThan700":3},{"Day":5,"Date":"2022-12-09T00:00:00","OperatorHeadcountDays":0,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":2,"HTRSingleLoadLock":14,"ASMUnloadTempsLessThan700":2,"HTRUnloadTempsLessThan700":1},{"Day":6,"Date":"2022-12-10T00:00:00","OperatorHeadcountDays":13,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":0,"HTRSingleLoadLock":0,"ASMUnloadTempsLessThan700":0,"HTRUnloadTempsLessThan700":0}]} \ No newline at end of file diff --git a/ReportingServices/wwwroot/Assets/ToolStates.json b/ReportingServices.UI/wwwroot/Assets/ToolStates.json similarity index 100% rename from ReportingServices/wwwroot/Assets/ToolStates.json rename to ReportingServices.UI/wwwroot/Assets/ToolStates.json diff --git a/ReportingServices/wwwroot/Images/Directory.png b/ReportingServices.UI/wwwroot/Images/Directory.png similarity index 100% rename from ReportingServices/wwwroot/Images/Directory.png rename to ReportingServices.UI/wwwroot/Images/Directory.png diff --git a/ReportingServices/wwwroot/Images/ReportFile.png b/ReportingServices.UI/wwwroot/Images/ReportFile.png similarity index 100% rename from ReportingServices/wwwroot/Images/ReportFile.png rename to ReportingServices.UI/wwwroot/Images/ReportFile.png diff --git a/ReportingServices/wwwroot/Images/minusIcon.png b/ReportingServices.UI/wwwroot/Images/minusIcon.png similarity index 100% rename from ReportingServices/wwwroot/Images/minusIcon.png rename to ReportingServices.UI/wwwroot/Images/minusIcon.png diff --git a/ReportingServices/wwwroot/Images/plusIcon.png b/ReportingServices.UI/wwwroot/Images/plusIcon.png similarity index 100% rename from ReportingServices/wwwroot/Images/plusIcon.png rename to ReportingServices.UI/wwwroot/Images/plusIcon.png diff --git a/ReportingServices/wwwroot/css/site.css b/ReportingServices.UI/wwwroot/css/site.css similarity index 100% rename from ReportingServices/wwwroot/css/site.css rename to ReportingServices.UI/wwwroot/css/site.css diff --git a/ReportingServices/wwwroot/favicon.ico b/ReportingServices.UI/wwwroot/favicon.ico similarity index 100% rename from ReportingServices/wwwroot/favicon.ico rename to ReportingServices.UI/wwwroot/favicon.ico diff --git a/ReportingServices/wwwroot/js/site.js b/ReportingServices.UI/wwwroot/js/site.js similarity index 100% rename from ReportingServices/wwwroot/js/site.js rename to ReportingServices.UI/wwwroot/js/site.js diff --git a/ReportingServices/wwwroot/lib/bootstrap/LICENSE b/ReportingServices.UI/wwwroot/lib/bootstrap/LICENSE similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/LICENSE rename to ReportingServices.UI/wwwroot/lib/bootstrap/LICENSE diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css.map b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css.map similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css.map rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css.map diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css.map b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css.map similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css.map rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css.map diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css.map b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css.map similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css.map rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css.map diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css.map b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css.map similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css.map rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css.map diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css.map b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css.map similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css.map rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css.map diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css.map b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css.map similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css.map rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css.map diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css.map b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css.map similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css.map rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css.map diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css.map b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css.map similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css.map rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css.map diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.css b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.css similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.css rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.css diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.css.map b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.css.map similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.css.map rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.css.map diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.min.css b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.min.css similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.min.css rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.min.css diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.min.css.map b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.min.css.map similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.min.css.map rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.min.css.map diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.css b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.css similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.css rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.css diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.css.map b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.css.map similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.css.map rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.css.map diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css.map b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css.map similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css.map rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css.map diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap.css b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap.css similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap.css rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap.css diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css.map b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css.map similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css.map rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css.map diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.css b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.css similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.css rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.css diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.css.map b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.css.map similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.css.map rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.css.map diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.min.css b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.min.css similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.min.css rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.min.css diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.min.css.map b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.min.css.map similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.min.css.map rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.min.css.map diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.js b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.js similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.js rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.js diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.js.map b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.js.map similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.js.map rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.js.map diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.min.js b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.min.js similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.min.js rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.min.js diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.min.js.map b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.min.js.map similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.min.js.map rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.min.js.map diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/js/bootstrap.js b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/js/bootstrap.js similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/js/bootstrap.js rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/js/bootstrap.js diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/js/bootstrap.js.map b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/js/bootstrap.js.map similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/js/bootstrap.js.map rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/js/bootstrap.js.map diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js diff --git a/ReportingServices/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js.map b/ReportingServices.UI/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js.map similarity index 100% rename from ReportingServices/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js.map rename to ReportingServices.UI/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js.map diff --git a/ReportingServices/wwwroot/lib/jquery-validation-unobtrusive/LICENSE.txt b/ReportingServices.UI/wwwroot/lib/jquery-validation-unobtrusive/LICENSE.txt similarity index 100% rename from ReportingServices/wwwroot/lib/jquery-validation-unobtrusive/LICENSE.txt rename to ReportingServices.UI/wwwroot/lib/jquery-validation-unobtrusive/LICENSE.txt diff --git a/ReportingServices/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js b/ReportingServices.UI/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js similarity index 100% rename from ReportingServices/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js rename to ReportingServices.UI/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js diff --git a/ReportingServices/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js b/ReportingServices.UI/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js similarity index 100% rename from ReportingServices/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js rename to ReportingServices.UI/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js diff --git a/ReportingServices/wwwroot/lib/jquery-validation/LICENSE.md b/ReportingServices.UI/wwwroot/lib/jquery-validation/LICENSE.md similarity index 100% rename from ReportingServices/wwwroot/lib/jquery-validation/LICENSE.md rename to ReportingServices.UI/wwwroot/lib/jquery-validation/LICENSE.md diff --git a/ReportingServices/wwwroot/lib/jquery-validation/dist/additional-methods.js b/ReportingServices.UI/wwwroot/lib/jquery-validation/dist/additional-methods.js similarity index 100% rename from ReportingServices/wwwroot/lib/jquery-validation/dist/additional-methods.js rename to ReportingServices.UI/wwwroot/lib/jquery-validation/dist/additional-methods.js diff --git a/ReportingServices/wwwroot/lib/jquery-validation/dist/additional-methods.min.js b/ReportingServices.UI/wwwroot/lib/jquery-validation/dist/additional-methods.min.js similarity index 100% rename from ReportingServices/wwwroot/lib/jquery-validation/dist/additional-methods.min.js rename to ReportingServices.UI/wwwroot/lib/jquery-validation/dist/additional-methods.min.js diff --git a/ReportingServices/wwwroot/lib/jquery-validation/dist/jquery.validate.js b/ReportingServices.UI/wwwroot/lib/jquery-validation/dist/jquery.validate.js similarity index 100% rename from ReportingServices/wwwroot/lib/jquery-validation/dist/jquery.validate.js rename to ReportingServices.UI/wwwroot/lib/jquery-validation/dist/jquery.validate.js diff --git a/ReportingServices/wwwroot/lib/jquery-validation/dist/jquery.validate.min.js b/ReportingServices.UI/wwwroot/lib/jquery-validation/dist/jquery.validate.min.js similarity index 100% rename from ReportingServices/wwwroot/lib/jquery-validation/dist/jquery.validate.min.js rename to ReportingServices.UI/wwwroot/lib/jquery-validation/dist/jquery.validate.min.js diff --git a/ReportingServices/wwwroot/lib/jquery/LICENSE.txt b/ReportingServices.UI/wwwroot/lib/jquery/LICENSE.txt similarity index 100% rename from ReportingServices/wwwroot/lib/jquery/LICENSE.txt rename to ReportingServices.UI/wwwroot/lib/jquery/LICENSE.txt diff --git a/ReportingServices/wwwroot/lib/jquery/dist/jquery.js b/ReportingServices.UI/wwwroot/lib/jquery/dist/jquery.js similarity index 100% rename from ReportingServices/wwwroot/lib/jquery/dist/jquery.js rename to ReportingServices.UI/wwwroot/lib/jquery/dist/jquery.js diff --git a/ReportingServices/wwwroot/lib/jquery/dist/jquery.min.js b/ReportingServices.UI/wwwroot/lib/jquery/dist/jquery.min.js similarity index 100% rename from ReportingServices/wwwroot/lib/jquery/dist/jquery.min.js rename to ReportingServices.UI/wwwroot/lib/jquery/dist/jquery.min.js diff --git a/ReportingServices/wwwroot/lib/jquery/dist/jquery.min.map b/ReportingServices.UI/wwwroot/lib/jquery/dist/jquery.min.map similarity index 100% rename from ReportingServices/wwwroot/lib/jquery/dist/jquery.min.map rename to ReportingServices.UI/wwwroot/lib/jquery/dist/jquery.min.map diff --git a/ReportingServices.sln b/ReportingServices.sln index fd46d98..bb7def5 100644 --- a/ReportingServices.sln +++ b/ReportingServices.sln @@ -3,9 +3,13 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.3.32929.385 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ReportingServices", "ReportingServices\ReportingServices.csproj", "{6CEA25EA-767E-486B-B66E-FE039D6E9951}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ReportingServices.UI", "ReportingServices.UI\ReportingServices.UI.csproj", "{6CEA25EA-767E-486B-B66E-FE039D6E9951}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReportingServices.Test", "ReportingServices.Test\ReportingServices.Test.csproj", "{9E631987-FBF0-4795-B552-1196718F9EBC}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ReportingServices.Test", "ReportingServices.Test\ReportingServices.Test.csproj", "{9E631987-FBF0-4795-B552-1196718F9EBC}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReportingServices.API", "ReportingServicesAPIs\ReportingServices.API.csproj", "{C53BD9A4-EBAF-4C62-9105-F0B01254E72C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReportingServices.Shared", "ReportingServices.Shared\ReportingServices.Shared.csproj", "{0A8FDF86-8BF8-4A3B-9D8B-DBC8DAA35AD5}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -21,6 +25,14 @@ Global {9E631987-FBF0-4795-B552-1196718F9EBC}.Debug|Any CPU.Build.0 = Debug|Any CPU {9E631987-FBF0-4795-B552-1196718F9EBC}.Release|Any CPU.ActiveCfg = Release|Any CPU {9E631987-FBF0-4795-B552-1196718F9EBC}.Release|Any CPU.Build.0 = Release|Any CPU + {C53BD9A4-EBAF-4C62-9105-F0B01254E72C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C53BD9A4-EBAF-4C62-9105-F0B01254E72C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C53BD9A4-EBAF-4C62-9105-F0B01254E72C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C53BD9A4-EBAF-4C62-9105-F0B01254E72C}.Release|Any CPU.Build.0 = Release|Any CPU + {0A8FDF86-8BF8-4A3B-9D8B-DBC8DAA35AD5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0A8FDF86-8BF8-4A3B-9D8B-DBC8DAA35AD5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0A8FDF86-8BF8-4A3B-9D8B-DBC8DAA35AD5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0A8FDF86-8BF8-4A3B-9D8B-DBC8DAA35AD5}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/ReportingServices/Models/PlanningReport/ReactorPSNWORuns.cs b/ReportingServices/Models/PlanningReport/ReactorPSNWORuns.cs deleted file mode 100644 index 2fe1b14..0000000 --- a/ReportingServices/Models/PlanningReport/ReactorPSNWORuns.cs +++ /dev/null @@ -1,16 +0,0 @@ -namespace ReportingServices.Models.PlanningReport -{ - public class ReactorPSNWORuns - { - public string REACTOR { get; set; } - public string PSN { get; set; } - public int WO_COUNT { get; set; } - - public ReactorPSNWORuns(string reactor, string psn, int wo_count) - { - REACTOR = reactor; - PSN = psn; - WO_COUNT = wo_count; - } - } -} diff --git a/ReportingServices/Models/PlanningReport/WeeklyPartChanges.cs b/ReportingServices/Models/PlanningReport/WeeklyPartChanges.cs deleted file mode 100644 index 88e08db..0000000 --- a/ReportingServices/Models/PlanningReport/WeeklyPartChanges.cs +++ /dev/null @@ -1,18 +0,0 @@ -namespace ReportingServices.Models.PlanningReport -{ - public class WeeklyPartChanges - { - public int TotalPartChanges { get; set; } - public string StartDate { get; set; } - public string EndDate { get; set; } - public List ReactorPSNWORuns { get; set; } - - public WeeklyPartChanges(int totalPartChanges, string startDate, string endDate, List reactorPSNWORuns) - { - TotalPartChanges = totalPartChanges; - StartDate = startDate; - EndDate = endDate; - ReactorPSNWORuns = reactorPSNWORuns; - } - } -} diff --git a/ReportingServices/Models/ProductionReport/RDS.cs b/ReportingServices/Models/ProductionReport/RDS.cs deleted file mode 100644 index bcb050e..0000000 --- a/ReportingServices/Models/ProductionReport/RDS.cs +++ /dev/null @@ -1,20 +0,0 @@ -namespace ReportingServices.Models.ProductionReport -{ - public class RDS - { - public int Reactor { get; set; } - public string ReactorType { get; set; } - public DateTime DateOut { get; set; } - public int UnloadTemp { get; set; } - public string LayerType { get; set; } - - public RDS(int reactor, string reactorType, DateTime dateOut, int unloadTemp, string layerType) - { - Reactor = reactor; - ReactorType = reactorType; - DateOut = dateOut; - UnloadTemp = unloadTemp; - LayerType = layerType; - } - } -} diff --git a/ReportingServices/Models/ProductionReport/Reactor.cs b/ReportingServices/Models/ProductionReport/Reactor.cs deleted file mode 100644 index 3f1ea58..0000000 --- a/ReportingServices/Models/ProductionReport/Reactor.cs +++ /dev/null @@ -1,18 +0,0 @@ -namespace ReportingServices.Models.ProductionReport -{ - public class Reactor - { - public int ReactorNumber { get; set; } - public string Type { get; set; } - public string PocketSize { get; set; } - public bool HasDisabledLoadlock { get; set; } - - public Reactor(int reactorNumber, string type, string pocketSize, bool hasDisabledLoadlock) - { - ReactorNumber = reactorNumber; - Type = type; - PocketSize = pocketSize; - HasDisabledLoadlock = hasDisabledLoadlock; - } - } -} diff --git a/ReportingServices/Models/ProductionReport/ReactorOutsByDay.cs b/ReportingServices/Models/ProductionReport/ReactorOutsByDay.cs deleted file mode 100644 index a8f57dc..0000000 --- a/ReportingServices/Models/ProductionReport/ReactorOutsByDay.cs +++ /dev/null @@ -1,14 +0,0 @@ -namespace ReportingServices.Models.ProductionReport -{ - public class ReactorOutsByDay - { - public string StartDate { get; set; } - public int TotalWafers { get; set; } - - public ReactorOutsByDay(string startDate, int totalWafers) - { - StartDate = startDate; - TotalWafers = totalWafers; - } - } -} diff --git a/ReportingServices/Models/ProductionReport/ScrapByDay.cs b/ReportingServices/Models/ProductionReport/ScrapByDay.cs deleted file mode 100644 index e5bf942..0000000 --- a/ReportingServices/Models/ProductionReport/ScrapByDay.cs +++ /dev/null @@ -1,20 +0,0 @@ -namespace ReportingServices.Models.ProductionReport -{ - public class ScrapByDay - { - public string StartDate { get; set; } - public int TW_PROD { get; set; } - public int TOT_REJ_CUST { get; set; } - public int TOT_REJ_MANU { get; set; } - public int TOT_REJ_WFRS { get; set; } - - public ScrapByDay(string startDate, string tw_prod, string tot_rej_cust, string tot_rej_manu) - { - StartDate = startDate; - TW_PROD = int.Parse(tw_prod); - TOT_REJ_CUST = int.Parse(tot_rej_cust); - TOT_REJ_MANU = int.Parse(tot_rej_manu); - TOT_REJ_WFRS = TOT_REJ_CUST + TOT_REJ_MANU; - } - } -} diff --git a/ReportingServices/Views/_ViewImports.cshtml b/ReportingServices/Views/_ViewImports.cshtml deleted file mode 100644 index 53c0306..0000000 --- a/ReportingServices/Views/_ViewImports.cshtml +++ /dev/null @@ -1,3 +0,0 @@ -@using ReportingServices -@using ReportingServices.Models -@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers diff --git a/ReportingServicesAPIs/Controllers/WeatherForecastController.cs b/ReportingServicesAPIs/Controllers/WeatherForecastController.cs new file mode 100644 index 0000000..d44911b --- /dev/null +++ b/ReportingServicesAPIs/Controllers/WeatherForecastController.cs @@ -0,0 +1,33 @@ +using Microsoft.AspNetCore.Mvc; + +namespace ReportingServicesAPIs.Controllers +{ + [ApiController] + [Route("[controller]")] + public class WeatherForecastController : ControllerBase + { + private static readonly string[] Summaries = new[] + { + "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" + }; + + private readonly ILogger _logger; + + public WeatherForecastController(ILogger logger) + { + _logger = logger; + } + + [HttpGet(Name = "GetWeatherForecast")] + public IEnumerable Get() + { + return Enumerable.Range(1, 5).Select(index => new WeatherForecast + { + Date = DateTime.Now.AddDays(index), + TemperatureC = Random.Shared.Next(-20, 55), + Summary = Summaries[Random.Shared.Next(Summaries.Length)] + }) + .ToArray(); + } + } +} \ No newline at end of file diff --git a/ReportingServicesAPIs/Program.cs b/ReportingServicesAPIs/Program.cs new file mode 100644 index 0000000..48863a6 --- /dev/null +++ b/ReportingServicesAPIs/Program.cs @@ -0,0 +1,25 @@ +var builder = WebApplication.CreateBuilder(args); + +// Add services to the container. + +builder.Services.AddControllers(); +// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle +builder.Services.AddEndpointsApiExplorer(); +builder.Services.AddSwaggerGen(); + +var app = builder.Build(); + +// Configure the HTTP request pipeline. +if (app.Environment.IsDevelopment()) +{ + app.UseSwagger(); + app.UseSwaggerUI(); +} + +app.UseHttpsRedirection(); + +app.UseAuthorization(); + +app.MapControllers(); + +app.Run(); diff --git a/ReportingServicesAPIs/Properties/launchSettings.json b/ReportingServicesAPIs/Properties/launchSettings.json new file mode 100644 index 0000000..9f304c7 --- /dev/null +++ b/ReportingServicesAPIs/Properties/launchSettings.json @@ -0,0 +1,31 @@ +{ + "$schema": "https://json.schemastore.org/launchsettings.json", + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:43372", + "sslPort": 44364 + } + }, + "profiles": { + "ReportingServicesAPIs": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "launchUrl": "swagger", + "applicationUrl": "https://localhost:7196;http://localhost:5196", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "launchUrl": "swagger", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/ReportingServicesAPIs/ReportingServices.API.csproj b/ReportingServicesAPIs/ReportingServices.API.csproj new file mode 100644 index 0000000..e7dbb17 --- /dev/null +++ b/ReportingServicesAPIs/ReportingServices.API.csproj @@ -0,0 +1,13 @@ + + + + net6.0 + disable + enable + + + + + + + diff --git a/ReportingServicesAPIs/WeatherForecast.cs b/ReportingServicesAPIs/WeatherForecast.cs new file mode 100644 index 0000000..6fd08f9 --- /dev/null +++ b/ReportingServicesAPIs/WeatherForecast.cs @@ -0,0 +1,13 @@ +namespace ReportingServicesAPIs +{ + public class WeatherForecast + { + public DateTime Date { get; set; } + + public int TemperatureC { get; set; } + + public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); + + public string Summary { get; set; } + } +} \ No newline at end of file diff --git a/ReportingServicesAPIs/appsettings.Development.json b/ReportingServicesAPIs/appsettings.Development.json new file mode 100644 index 0000000..0c208ae --- /dev/null +++ b/ReportingServicesAPIs/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/ReportingServicesAPIs/appsettings.json b/ReportingServicesAPIs/appsettings.json new file mode 100644 index 0000000..10f68b8 --- /dev/null +++ b/ReportingServicesAPIs/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +}