using GB5Shared.DTO.Framework.Login; using WiDAL.DTOs; namespace WiBLL.LineRoster; public interface ILineRosterBLL { Task GetRosterAsync(int productionLineId, DateOnly rosterDate, int shiftId, byte rosterType, LoginDTO login, CancellationToken ct); Task SaveRosterAsync(LineShiftRosterDTO dto, LoginDTO login, CancellationToken ct); Task ConfirmRosterAsync(int rosterId, int inChargeEmployeeId, LoginDTO login, CancellationToken ct); Task CloseRosterAsync(int rosterId, LoginDTO login, CancellationToken ct); Task CopyForwardAsync(int productionLineId, int shiftId, DateOnly newRosterDate, LoginDTO login, CancellationToken ct); Task SaveStaffingAsync(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 GetStaffingByRosterAsync(int rosterId, LoginDTO login, CancellationToken ct); Task SaveRosterWithStaffingAsync(SaveLineRosterWithStaffingDTO request, LoginDTO login, CancellationToken ct); }