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> FindDuplicates(Activity activity) { var duplicates = new List(); var duplicate = await _activityRepository.FindDuplicateSaleAsync(activity); if (duplicate != null) { duplicates.Add(duplicate); } return duplicates; } }