예제 #1
0
        public CreateRewardDtoValidator(IMemberLevelRepository memberLevelRepository)
        {
            RuleFor(x => x.Title)
            .NotEmpty();

            RuleFor(x => x.Description)
            .NotEmpty();

            RuleFor(x => x.PointsRequired)
            .GreaterThanOrEqualTo(0);

            RuleFor(x => x.ExtraCashAmount)
            .Must((dto, amount) =>
            {
                if (dto.ExtraCashRequired)
                {
                    return(amount.HasValue && amount.Value > 0);
                }

                return(true);
            })
            .WithMessage("Extra cash amount must have a value greater than 0 if extraCashRequired is set to true.");

            RuleFor(x => x.ExpiryDate)
            .GreaterThanOrEqualTo(DateTimeOffset.UtcNow);

            RuleFor(x => x.MinimumMemberLevel)
            .MustAsync(async(level, cancellationToken) =>
            {
                var memberLevel = await memberLevelRepository.GetMemberLevelByLevelAsync(level);
                return(!(memberLevel is null));
            })
            .WithMessage("Member level does not exist.");
        }
예제 #2
0
 public RewardService(
     IRewardRepository rewardRepository,
     IMemberLevelRepository memberLevelRepository,
     IRewardRedemptionRepository rewardRedemptionRepository,
     IConsumerUserRepository consumerUserRepository,
     IBackgroundTaskQueue backgroundTaskQueue,
     IMockBackgroundTaskFactory mockBackgroundTaskFactory)
 {
     _rewardRepository           = rewardRepository;
     _memberLevelRepository      = memberLevelRepository;
     _rewardRedemptionRepository = rewardRedemptionRepository;
     _consumerUserRepository     = consumerUserRepository;
     _backgroundTaskQueue        = backgroundTaskQueue;
     _mockBackgroundTaskFactory  = mockBackgroundTaskFactory;
 }
 public MemberLevelController(IMemberLevelRepository memberLevelRepository)
 {
     _memberLevelRepository = memberLevelRepository;
 }
예제 #4
0
 public MemberLevelService(IMemberLevelRepository memberLevelRepository)
 {
     _memberLevelRepository = memberLevelRepository;
 }
예제 #5
0
 public MemberLevelBusiness(IMemberLevelRepository memberLevel, IUnitOfWork unitOfWork)
 {
     _memberLevel = memberLevel;
     _unitOfWork  = unitOfWork;
 }
 public MemberLevelAppService(IMemberLevelRepository repository) : base(repository)
 {
     _repository = repository;
 }