using System; using System.Collections.Generic; using System.Threading.Tasks; using LCU.Library.Internal.IncentiveApiModels.Common; using LCU.Library.Internal.IncentiveApiModels.Entities; using LCU.Library.Internal.IncentiveApiModels.Requests; namespace LCU.API.Internal.Operations.IncentiveApiLib.Repositories; public interface IGoalRepository { Task SaveGoalAsync(Goal goalChange); Task> GetGoalsAsync(GoalSearchRequest goalSearchRequest); Task FindExistingGoal(GoalChange goalChange); Task> FindDepartmentGoals(int departmentId, DateTime start, DateTime end); Task> FindAnnualDepartmentGoals(int departmentId, int year); Task> FindPersonnelGoals(int departmentId, List users, DateTime start, DateTime end); Task> FindMonthlyPersonnelGoals(int departmentId, List users, int year, int month); Task> FindPersonnelGoalsByMonthRange(int departmentId, List users, MonthRange monthRange); Task> FindPersonnelGoalsByMonthRange(int departmentId, List employeeIds, MonthRange monthRange); Task> FindDepartmentGoalsByMonthRange(int departmentId, MonthRange monthRange); }