25 lines
1.3 KiB
C#
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);
|
|
}
|