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

37 lines
2.3 KiB
C#

using LCU.Library.Internal.IncentiveApiModels.Common;
using LCU.Library.Internal.IncentiveApiModels.Entities;
using LCU.Library.Internal.IncentiveApiModels.Enums;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace LCU.API.Internal.Operations.IncentiveApiLib.Repositories;
public interface IActivityRepository
{
Task<int> SaveActivityAsync(Activity activity);
Task SaveActivityRangeAsync(List<Activity> activities);
Task<IReadOnlyCollection<Activity>> GetActivitiesAsync();
Task<PagedResult<Activity>> GetActivitiesAsync(int page, int limit);
Task<PagedResult<Activity>> GetPagedFilteredActivities(ActivityFilter filter);
Task<Activity> GetActivityById(int activityId);
Task<ICollection<Activity>> FindEmployeeActivityByMonthRange(AppUser appUser, MonthRange monthRange);
Task<ICollection<Activity>> FindDepartmentActivityByMonthRange(int departmentId, MonthRange monthRange);
Task<Activity> GetActivityIncludingPayouts(int activityId);
Task<IReadOnlyCollection<Activity>> FindUnmatchedReferrals();
Task<IReadOnlyCollection<Activity>> FindPendingEStatementsReferrals();
Task<Activity> FindUnmatchedSaleForReferral(Activity referral);
EStatementDeliveryMethod FindDeliveryMethodForEStatement(Activity referral, List<EStatementDeliveryMethod> eStatementActivities);
Task<Activity> FindDuplicateSaleAsync(Activity activity);
Task<Activity> FindDuplicateReferralAsync(Activity activity);
Task<Activity> FindActivityForStateUpdate(Activity activity);
Task<Activity> FindActivityForDetailUpdate(Activity activity);
public void UpdateActivityRangeAsync(List<Activity> activities);
Task<List<Activity>> GetActivitiesBySourceId(List<string> sourceId);
Task<List<Activity>> GetAllActivitiesWithPayoutsForEmployee(string employeeId);
Task<Activity> FindDuplicateReferralBySourceIdAsync(Activity activity);
Task<List<Activity>> FindById(List<int> ids, bool withDetail = true, bool withTracking = true);
Task<List<Activity>> FindLatestBySourceId(List<string> sourceIds, bool withDetail = true, bool withTracking = true);
Task<List<Activity>> FindGapInsuranceEligible(MonthRange monthRange, bool withTracking = true);
Task<List<Activity>> GetFilteredActivities(MonthRange monthRange, Product product, ActivityState activityState, bool withTracking = true);
}