Files
monorepo/LCU.API.Operations.IncentiveAPI/LCU.API.Internal.Operations.IncentiveApiLib/Repositories/IDepartmentRepository.cs
T
2026-03-17 09:53:09 -05:00

25 lines
1.3 KiB
C#

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<IReadOnlyCollection<Department>> GetAllDepartmentsAsync();
Task<Department> FindDepartmentByIdAsync(int id);
Task<Department> SaveDepartmentAsync(Department department);
Task<Department> FindOrCreateDepartment(ActiveEmployeeResult employee);
Task<List<AppUser>> FindDepartmentAssignments(DepartmentPersonnelSearchRequest searchRequest);
Task<Department> FindUserHomeDepartment(AppUser appUser);
Task<Department> FindDepartmentByBranchName(string name);
Task<IReadOnlyCollection<Department>> FindDepartmentsByRegionAsync(Region region);
Task<IReadOnlyCollection<UserDepartment>> FindCurrentDepartmentAssignments(int departmentId);
Task<Department> GetDepartmentByDayforceGlCode(int glCode);
Task<IReadOnlyCollection<UserDepartment>> FindDepartmentAssignmentsForRange(int departmentId, MonthRange monthRange);
Task<IReadOnlyCollection<Department>> FindDepartmentsByBusinessLineAsync(BusinessLine businessLine);
}