Files
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 DefaultDuplicateDetectionStrategy : IDuplicateDetectionStrategy
{
private readonly IActivityRepository _activityRepository;
public DefaultDuplicateDetectionStrategy(IActivityRepository activityRepository)
{
_activityRepository = activityRepository;
}
public bool CanDecideActivity(Activity activity)
{
return activity.Type == ActivityType.Sale || activity.Type == ActivityType.Other;
}
public async Task<IReadOnlyCollection<Activity>> FindDuplicates(Activity activity)
{
var duplicates = new List<Activity>();
var duplicate = await _activityRepository.FindDuplicateSaleAsync(activity);
if (duplicate != null)
{
duplicates.Add(duplicate);
}
return duplicates;
}
}