using GB5Shared.DTO.Framework.Login; using WiDAL.DTOs; namespace WiDAL.CustomCode.LineRoster; public interface ILineRosterDAL { Task GetRosterHeaderAsync(int productionLineId, DateOnly rosterDate, int shiftId, byte rosterType, LoginDTO login, CancellationToken ct); Task GetRosterByIdAsync(int rosterId, LoginDTO login, CancellationToken ct); Task InsertRosterAsync(LineShiftRosterDTO dto, LoginDTO login, CancellationToken ct); Task UpdateRosterStatusAsync(int rosterId, byte rosterStatus, int inChargeEmployeeId, LoginDTO login, CancellationToken ct); Task GetStaffingByRosterAsync(int rosterId, LoginDTO login, CancellationToken ct); Task InsertStaffingAsync(LineShiftStaffingDTO dto, LoginDTO login, CancellationToken ct); Task MarkAbsentAsync(int staffingId, string? absenceReason, int? replacedByEmployeeId, LoginDTO login, CancellationToken ct); Task GetPlannedVsActualAsync(int productionLineId, DateOnly rosterDate, int shiftId, int plannedInChargeEmployeeId, LoginDTO login, CancellationToken ct); Task GetCopyForwardSourceAsync(int productionLineId, int shiftId, byte rosterType, DateOnly newRosterDate, LoginDTO login, CancellationToken ct); Task GetRosterIdForStaffing(int lineShiftStaffingId, LoginDTO login, CancellationToken ct); }