Files
monorepo/LCU.API.Operations.IncentiveAPI/LCU.API.Internal.Operations.IncentiveApi/Services/DuplicateDetection/ReferralDuplicateDetectionStrategy.cs
T
2026-03-17 09:53:09 -05:00

34 lines
1.0 KiB
C#

using LCU.Library.Internal.IncentiveApiModels.Entities;
using LCU.Library.Internal.IncentiveApiModels.Enums;
using LCU.API.Internal.Operations.IncentiveApiLib.Repositories;
namespace LCU.API.Internal.Operations.IncentiveApi.Services.DuplicateDetection;
public class ReferralDuplicateDetectionStrategy : IDuplicateDetectionStrategy
{
private readonly IActivityRepository _activityRepository;
public ReferralDuplicateDetectionStrategy(IActivityRepository activityRepository)
{
_activityRepository = activityRepository;
}
public bool CanDecideActivity(Activity activity)
{
return activity.Type == ActivityType.Referral && activity.SourceSystem != SystemType.Action;
}
public async Task<IReadOnlyCollection<Activity>> FindDuplicates(Activity activity)
{
var duplicates = new List<Activity>();
var duplicate = await _activityRepository.FindDuplicateReferralAsync(activity);
if (duplicate != null)
{
duplicates.Add(duplicate);
}
return duplicates;
}
}