using Microsoft.AspNetCore.Mvc; using ReportingServices.Shared.Models.PlanningReport; using ReportingServices.Shared.Models.ProductionReport; using ReportingServices.Shared.Repositories; 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) => _scrapeDBRepository.GetReactorPSNWORuns(startDate, endDate); [HttpGet("PartChanges")] public int GetNumberOfPartChanges(string startDate, string endDate) => _scrapeDBRepository.GetNumberOfPartChanges(startDate, endDate); [HttpGet("Targets")] public QuarterlyTargets GetQuarterlyTargets() => _scrapeDBRepository.GetQuarterlyTargets(); [HttpGet("Reactors")] public List GetReactors() => _scrapeDBRepository.GetReactors(); [HttpGet("RDS")] public List GetRDSForLastDay(string date) => _scrapeDBRepository.GetRDSForLastDay(date); [HttpGet("ReactorEvents")] public List GetReactorEvents(string startDate, string endDate, string reactorNumber) => _scrapeDBRepository.GetReactorEvents(startDate, endDate, reactorNumber); [HttpGet("GetLastUpTransaction")] public int GetLastUpTransaction(string reactorNumber) => _scrapeDBRepository.GetLastUpTransaction(reactorNumber); [HttpGet("ToolEvents")] public ToolEvent GetLatestToolEvent(string toolID) => _scrapeDBRepository.GetLatestToolEvent(toolID); [HttpGet("GetOutsAndScrapTotals")] public OutsAndScrapTotal GetOutsAndScrapTotal(string startDate, string endDate) => _scrapeDBRepository.GetOutsAndScrapTotals(startDate, endDate); [HttpGet("GetQuarterStartDate")] public DateTime GetQuarterStartDate() => _scrapeDBRepository.GetQuarterStartDate(); }