Files
2026-03-17 09:53:09 -05:00

23 lines
1.3 KiB
C#

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<int> SaveGoalAsync(Goal goalChange);
Task<IReadOnlyCollection<Goal>> GetGoalsAsync(GoalSearchRequest goalSearchRequest);
Task<Goal> FindExistingGoal(GoalChange goalChange);
Task<ICollection<Goal>> FindDepartmentGoals(int departmentId, DateTime start, DateTime end);
Task<ICollection<Goal>> FindAnnualDepartmentGoals(int departmentId, int year);
Task<ICollection<Goal>> FindPersonnelGoals(int departmentId, List<AppUser> users, DateTime start, DateTime end);
Task<ICollection<Goal>> FindMonthlyPersonnelGoals(int departmentId, List<AppUser> users, int year, int month);
Task<ICollection<Goal>> FindPersonnelGoalsByMonthRange(int departmentId, List<AppUser> users, MonthRange monthRange);
Task<ICollection<Goal>> FindPersonnelGoalsByMonthRange(int departmentId, List<string> employeeIds, MonthRange monthRange);
Task<ICollection<Goal>> FindDepartmentGoalsByMonthRange(int departmentId, MonthRange monthRange);
}