using GB5Shared.DTO.Framework.Criteria; using GB5Shared.DTO.Framework.Login; using MMDAL.DTO.Shift; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace MMDAL.CustomCode.Shift { /// /// Data Access Layer interface for managing Shift records in the database. /// Provides methods to retrieve, insert, update, and delete shifts. /// public interface IShiftDAL { /// /// Retrieves a single shift by its unique identifier. /// /// The unique identifier of the shift. /// The current user's login details. /// A JSON string representing the shift details. Task GetShift(int ShiftId, LoginDTO LoginDTO); /// /// Retrieves a list of shifts based on specified criteria. /// Typically used for populating dropdowns or picklists. /// /// Filter criteria for selecting shifts. /// The current user's login details. /// A JSON string representing a list of shifts. Task GetSelectListShift(CriteriaDTO CriteriaDTO, LoginDTO LoginDTO); /// /// Inserts a new shift record into the database. /// /// The shift data to save. /// The current user's login details. /// The number of rows affected (should be 1 if successful). Task SaveShift(ShiftDTO ShiftDTO, LoginDTO LoginDTO); /// /// Updates an existing shift record in the database. /// /// The updated shift data. /// The current user's login details. /// The number of rows affected (should be 1 if successful). Task UpdateShift(ShiftDTO ShiftDTO, LoginDTO LoginDTO); /// /// Deletes a shift record by its unique identifier. /// /// The unique identifier of the shift to delete. /// The current user's login details. /// A JSON string indicating success or failure of the delete operation. Task DeleteShift(int ShiftId, LoginDTO LoginDTO); } }