public CarComplectationQueryFunctionality(IUnitOfWork unitOfWork, IMapperFactory mapperFactory, IGenericReadRepository readRepository, ICarComplectationFiltersProvider complectationFiltersProvider, ICarComplectationOptionFiltersProvider complectationOptionFiltersProvider) : base(unitOfWork, mapperFactory, readRepository, complectationFiltersProvider) { _complectationFiltersProvider = complectationFiltersProvider; _complectationOptionFiltersProvider = complectationOptionFiltersProvider; }
public CarComplectationOptionsAssignCommandValidator(IGenericReadRepository readRepository, ICarComplectationFiltersProvider filtersProvider) : base(readRepository) { _filtersProvider = filtersProvider; RuleFor(x => x.ComplectationId) .NotEmptyWithMessage() .MustExistsWithMessageAsync(ComplectationExists); RuleForEach(x => x.Options) .NotEmptyWithMessage() .MaxLengthWithMessage(CarComplectationConstraints.NameMaxLength); }
public CarStockUpdateCommandValidator(IGenericReadRepository readRepository, IModelSupportsBodyTypeFiltersProvider modelBodyTypeFiltersProvider, ICarModelFiltersProvider modelFiltersProvider, IModelSupportsColorFiltersProvider modelColorFiltersProvider, ICarComplectationFiltersProvider complectationFiltersProvider, IEngineSupportsGearboxFiltersProvider engineGearboxFiltersProvider, ICarStockFiltersProvider carStockFiltersProvider) : base(readRepository) { _modelBodyTypeFiltersProvider = modelBodyTypeFiltersProvider; _modelFiltersProvider = modelFiltersProvider; _modelColorFiltersProvider = modelColorFiltersProvider; _complectationFiltersProvider = complectationFiltersProvider; _engineGearboxFiltersProvider = engineGearboxFiltersProvider; _carStockFiltersProvider = carStockFiltersProvider; RuleFor(x => x.Id) .NotEmptyWithMessage() .MustExistsWithMessageAsync(CarExists); RuleFor(x => x.ModelId) .NotEmptyWithMessage() .MustExistsWithMessageAsync(ModelExists) .DependentRules(() => { RuleFor(x => x.BodyTypeId) .NotEmptyWithMessage() .MustAsync(BodyTypeIsValid) .WithMessage($"The {{PropertyName}} is not compatible with the provided model."); RuleFor(x => x.ColorId) .NotEmptyWithMessage() .MustAsync(ColorIsValid) .WithMessage($"The {{PropertyName}} is not compatible with the provided model."); RuleFor(x => x.EngineGearboxId) .NotEmptyWithMessage() .MustAsync(EngineGearboxIsValid) .WithMessage($"The {{PropertyName}} is not compatible with the provided model."); RuleFor(x => x.ComplectationId) .NotEmptyWithMessage() .MustAsync(ComplectationIsValid) .WithMessage($"The {{PropertyName}} is not compatible with the provided model."); }); RuleFor(x => x.Amount) .IsPositiveOrZeroWithMessage(); RuleFor(x => x.Price) .IsPositiveOrZeroWithMessage(); }