using System.Collections.Generic; using System.Threading.Tasks; using LCU.Library.Internal.IncentiveApiModels.Entities; using LCU.Library.Internal.IncentiveApiModels.Common; using LCU.Library.Internal.IncentiveApiModels.Results; using LCU.Library.Internal.IncentiveApiModels.Requests; namespace LCU.API.Internal.Operations.IncentiveApiLib.Repositories; public interface IDepartmentRepository { Task> GetAllDepartmentsAsync(); Task FindDepartmentByIdAsync(int id); Task SaveDepartmentAsync(Department department); Task FindOrCreateDepartment(ActiveEmployeeResult employee); Task> FindDepartmentAssignments(DepartmentPersonnelSearchRequest searchRequest); Task FindUserHomeDepartment(AppUser appUser); Task FindDepartmentByBranchName(string name); Task> FindDepartmentsByRegionAsync(Region region); Task> FindCurrentDepartmentAssignments(int departmentId); Task GetDepartmentByDayforceGlCode(int glCode); Task> FindDepartmentAssignmentsForRange(int departmentId, MonthRange monthRange); Task> FindDepartmentsByBusinessLineAsync(BusinessLine businessLine); }