using ReportingServices.Shared.Models.PlanningReport;
using ReportingServices.Shared.Models.ProductionReport;

namespace ReportingServices.Shared.Repositories;

public interface IScrapeDatabaseRepository
{
    public void OpenConnection();
    public void CloseConnection();
    public List<ScrapByDay> GetScrapByDay(List<ReactorOutsByRDS> outs);
    public List<ReactorPSNWORuns> GetReactorPSNWORuns(string startDate, string endDate);
    public int GetNumberOfPartChanges(string startDate, string endDate);
    public QuarterlyTargets GetQuarterlyTargets();
    public List<Reactor> GetReactors();
    public List<RDS> GetRDSForLastDay(string date);
    public List<ReactorOutsByRDS> GetRDSRunBetweenDates(string startDate, string endDate);
    public List<ReactorEvent> GetReactorEvents(string startDate, string endDate, string reactorNumber);
    public ToolEvent GetLatestToolEvent(string toolID);
    public int GetLastUpTransaction(string reactorNumber);
    public OutsAndScrapTotal GetOutsAndScrapTotals(string startDate, string endDate);
    public DateTime GetQuarterStartDate();
    public List<HoldLot> GetCurrentHoldLots();
    public List<string> GetCurrentHotWORunning();
}