34 lines
1.0 KiB
C#
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;
|
|
}
|
|
}
|