public CarBodyTypeQueryFunctionality(IUnitOfWork unitOfWork, IMapperFactory mapperFactory, IGenericReadRepository readRepository, ICarBodyTypeFiltersProvider bodyTypeFiltersProvider, IModelSupportsBodyTypeFiltersProvider modelBodyTypeFiltersProvider, IModelSupportsBodyTypeRelationsProvider relationsProvider) : base(unitOfWork, mapperFactory, readRepository, bodyTypeFiltersProvider) { _modelBodyTypeFiltersProvider = modelBodyTypeFiltersProvider; _relationsProvider = relationsProvider; }
public CarPhotoCreateCommandValidator(IGenericReadRepository readRepository, ICarModelFiltersProvider modelFiltersProvider, ICarBodyTypeFiltersProvider bodyTypeFiltersProvider, IColorCodeFiltersProvider colorFiltersProvider) : base(readRepository) { _modelFiltersProvider = modelFiltersProvider; _bodyTypeFiltersProvider = bodyTypeFiltersProvider; _colorFiltersProvider = colorFiltersProvider; RuleFor(x => x.ModelId) .NotEmptyWithMessage() .MustExistsWithMessageAsync(ModelExists); RuleFor(x => x.BodyTypeId) .NotEmptyWithMessage() .MustExistsWithMessageAsync(BodyTypeExists); RuleFor(x => x.ColorId) .NotEmptyWithMessage() .MustExistsWithMessageAsync(ColorExists); RuleFor(x => x.Photo) .NotEmptyWithMessage() .DependentRules(() => { RuleFor(x => x.Photo) .Cascade(CascadeMode.Continue) .MustAsync(FileSizeIsValid) .WithMessage($"File size should be up to {CarPhotoConstraints.FileMaxSize / 1000000.0f}MB") .MustAsync(FileTypeIsValid) .WithMessage($"File type is prohibited. Allowed types - {GetSupportedFileTypesString()}"); }); }
public CarBodyTypeCreateCommandValidator(IGenericReadRepository readRepository, ICarBodyTypeFiltersProvider filtersProvider) : base(readRepository) { _filtersProvider = filtersProvider; RuleFor(x => x.Name) .NotEmptyWithMessage() .MaxLengthWithMessage(CarBodyTypeConstraints.NameMaxLength) .MustNotExistWithMessageAsync(NameDoesNotExist); }
public CarBodyTypeAssignCommandValidator(IGenericReadRepository readRepository, ICarModelFiltersProvider modelFiltersProvider, ICarBodyTypeFiltersProvider bodyTypeFiltersProvider, IModelSupportsBodyTypeFiltersProvider modelBodyTypeFiltersProvider) : base(readRepository) { _modelFiltersProvider = modelFiltersProvider; _bodyTypeFiltersProvider = bodyTypeFiltersProvider; _modelBodyTypeFiltersProvider = modelBodyTypeFiltersProvider; RuleFor(x => x.ModelId) .NotEmptyWithMessage() .MustExistsWithMessageAsync(ModelExists); RuleFor(x => x.BodyTypeId) .NotEmptyWithMessage() .MustExistsWithMessageAsync(BodyTypeExists); RuleFor(x => x.Price) .IsPositiveOrZeroWithMessage(); }