using Microsoft.AspNetCore.Mvc; using ReportingServices.Shared.Models.PlanningReport; using ReportingServices.Shared.Models.ProductionReport; using ReportingServices.Shared.Repositories; using ReportingServices.Shared.ViewModels.ProductionReport; namespace ReportingServices.API.Controllers { [Route("api/[controller]")] [ApiController] public class ScrapeDBController : ControllerBase { private readonly IScrapeDatabaseRepository _scrapeDBRepository; public ScrapeDBController(IScrapeDatabaseRepository scrapeDBRepository) { _scrapeDBRepository = scrapeDBRepository; } [HttpGet("ReactorOuts")] public YieldInformation GetReactorOuts(string startDate, string endDate) { List outs = _scrapeDBRepository.GetRDSRunBetweenDates(startDate, endDate); YieldInformation yieldInformation = new() { Outs = outs, Scrap = _scrapeDBRepository.GetScrapByDay(outs) }; return yieldInformation; } [HttpGet("PSNWO")] public List GetReactorPSNWORuns(string startDate, string endDate) { return _scrapeDBRepository.GetReactorPSNWORuns(startDate, endDate); } [HttpGet("PartChanges")] public int GetNumberOfPartChanges(string startDate, string endDate) { return _scrapeDBRepository.GetNumberOfPartChanges(startDate, endDate); } [HttpGet("Targets")] public QuarterlyTargets GetQuarterlyTargets() { return _scrapeDBRepository.GetQuarterlyTargets(); } [HttpGet("Reactors")] public List GetReactors() { return _scrapeDBRepository.GetReactors(); } [HttpGet("RDS")] public List GetRDSForLastDay(string date) { return _scrapeDBRepository.GetRDSForLastDay(date); } [HttpGet("ReactorEvents")] public List GetReactorEvents(string startDate, string endDate, string reactorNumber) { return _scrapeDBRepository.GetReactorEvents(startDate, endDate, reactorNumber); } [HttpGet("ToolEvents")] public ToolEvent GetLatestToolEvent(string toolID) { return _scrapeDBRepository.GetLatestToolEvent(toolID); } } }