68 lines
2.0 KiB
C#
68 lines
2.0 KiB
C#
using Microsoft.AspNetCore.Mvc;
|
|
using ReportingServices.Shared.HelperClasses;
|
|
using ReportingServices.Shared.Models.ProductionReport;
|
|
using ReportingServices.Shared.ViewModels.ProductionReport;
|
|
using ReportingServices.UI.Models;
|
|
|
|
namespace ReportingServices.UI.Controllers;
|
|
|
|
public class ProductionReportController : Controller
|
|
{
|
|
private readonly ILogger<ProductionReportController> _logger;
|
|
private readonly Dictionary<string, string> _filePaths;
|
|
private readonly string _baseDBUrl;
|
|
|
|
public ProductionReportController(ILogger<ProductionReportController> logger, AppSettings appSettings)
|
|
{
|
|
_logger = logger;
|
|
_baseDBUrl = appSettings.BaseAPIAddress;
|
|
|
|
_filePaths = new()
|
|
{
|
|
{ "DailyReport", appSettings.DailyReportFilePath },
|
|
{ "ToolStateOwners", appSettings.ToolStateOwnerFilePath },
|
|
{ "SLL", appSettings.SLLFilePath },
|
|
};
|
|
|
|
_logger.LogInformation("Base Database Address: {baseUrl}", _baseDBUrl);
|
|
}
|
|
|
|
public IActionResult Index() => View();
|
|
|
|
public IActionResult DailyReport()
|
|
{
|
|
try
|
|
{
|
|
DailyReport dailyReport = DailyReportHelper.SetUpDailyReport(_logger, _filePaths, _baseDBUrl);
|
|
|
|
return View(dailyReport);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogCritical(ex, "Failed to load report");
|
|
return View();
|
|
}
|
|
}
|
|
|
|
public IActionResult EditDailyReport()
|
|
{
|
|
ManualReportEntries entries = JsonFileHandler.LoadJSONFile<ManualReportEntries>(_filePaths["DailyReport"]);
|
|
|
|
return View(entries);
|
|
}
|
|
|
|
[HttpPost]
|
|
public IActionResult EditDailyReport(ManualReportEntries rpt)
|
|
{
|
|
JsonFileHandler.SaveJSONFile(rpt, _filePaths["DailyReport"]);
|
|
|
|
return RedirectToAction("DailyReport");
|
|
}
|
|
|
|
public IActionResult HoldLotReport()
|
|
{
|
|
List<HoldLot> holdLots = ApiCaller.GetApi<List<HoldLot>>(_baseDBUrl + "GetCurrentHoldLots").Result;
|
|
|
|
return View(holdLots);
|
|
}
|
|
} |