public LibrarySalesAreaPassPriorityModelValidationBase(ILibrarySalesAreaPassPrioritiesRepository librarySalesAreaPassPrioritiesRepository,
                                                               ISalesAreaRepository salesAreaRepository)
        {
            _librarySalesAreaPassPrioritiesRepository = librarySalesAreaPassPrioritiesRepository;
            _salesAreaRepository = salesAreaRepository;

            RuleFor(a => a.Name).Must(ContainValidName).WithMessage("Name is required.");

            RuleFor(a => a.DaysOfWeek).NotNull().NotEmpty().Matches(_validDaysOfWeekRegEx)
            .WithMessage("DaysOfWeek is incorrect, Correct Format is: '1111111' which represents Monday to Sunday in 7 digits,use 1 to include the day or 0 to exclude the day");

            RuleFor(a => a.SalesAreaPriorities).Must(ContainSomeSalesAreaPriorities).WithMessage("SalesAreaPriorities is required.");

            When(ContainSomeSalesAreaPriorities, () =>
            {
                RuleFor(a => a.SalesAreaPriorities).Must(ContainOnlyValidSalesAreas)
                .WithMessage("SalesAreaPriorities should contain a valid 'SalesArea' for each item.")
                .Must(NotContainDuplicateSalesAreas)
                .WithMessage("{0}", (c) => CreateDuplicateSalesAreasErrorMessage())
                .Must(ContainOnlyExistingSalesAreas)
                .WithMessage("{0}", (c) => CreateNonExistingSalesAreasErrorMessage())
                .Must(ContainOnlyValidPriority)
                .WithMessage("{0}", (c) => CreateInvalidPriorityErrorMessage());
            });

            When(IsNotAllDay, () =>
            {
                RuleFor(a => a.StartTime).Must(ContainValidTime).WithMessage($"StartTime is invalid, {_validTimeMessage}");
                RuleFor(a => a.EndTime).Must(ContainValidTime).WithMessage($"EndTime is invalid, {_validTimeMessage}");
            });
        }
 public LibrarySalesAreaPassPrioritiesDomainModelHandler(
     ILibrarySalesAreaPassPrioritiesRepository librarySalesAreaPassPrioritiesRepository,
     ISqlServerDbContext dbContext)
 {
     _librarySalesAreaPassPrioritiesRepository = librarySalesAreaPassPrioritiesRepository ??
                                                 throw new ArgumentNullException(
                                                           nameof(librarySalesAreaPassPrioritiesRepository));
     _dbContext = dbContext ?? throw new ArgumentNullException(nameof(dbContext));
 }
예제 #3
0
 /// <summary>
 /// Create an instance of  <see cref="LibrarySalesAreaPassPrioritiesController"/>
 /// </summary>
 /// <param name="librarySalesAreaPassPrioritiesRepository">The repository to use for LibrarySalesAreaPassPriority</param>
 /// <param name="tenantSettingsRepository">The repository to use for TenantSettings</param>
 /// <param name="mapper">The mapper to use for Model Mappings</param>
 /// <param name="validatorForCreate">The Validator For Create</param>
 /// <param name="validatorForUpdate">The Validator For Update</param>
 public LibrarySalesAreaPassPrioritiesController(ILibrarySalesAreaPassPrioritiesRepository librarySalesAreaPassPrioritiesRepository,
                                                 ITenantSettingsRepository tenantSettingsRepository,
                                                 IMapper mapper,
                                                 IModelDataValidator <CreateLibrarySalesAreaPassPriorityModel> validatorForCreate,
                                                 IModelDataValidator <UpdateLibrarySalesAreaPassPriorityModel> validatorForUpdate)
 {
     _mapper = mapper;
     _librarySalesAreaPassPrioritiesRepository = librarySalesAreaPassPrioritiesRepository;
     _tenantSettingsRepository = tenantSettingsRepository;
     _validatorForCreate       = validatorForCreate;
     _validatorForUpdate       = validatorForUpdate;
 }
예제 #4
0
 public UpdateLibrarySalesAreaPassPriorityModelValidation(ILibrarySalesAreaPassPrioritiesRepository repository,
                                                          ISalesAreaRepository salesAreaRepository) : base(repository, salesAreaRepository)
 {
     RuleFor(a => a).MustAsync(ContainUniqueName).When(ContainsValidName).WithName("Name").WithMessage(NameAlreadyExistsMessage);
 }