Esempio n. 1
0
        public AddVersionValidator(ITextModuleRules textModuleRules,
                                   IModuleRules moduleRules,
                                   ISiteRules siteRules,
                                   ILanguageRules languageRules,
                                   IValidator <AddVersion.VersionLocalisation> localisationValidator)
        {
            _textModuleRules       = textModuleRules;
            _moduleRules           = moduleRules;
            _siteRules             = siteRules;
            _languageRules         = languageRules;
            _localisationValidator = localisationValidator;

            RuleFor(c => c.ModuleId)
            .NotEmpty().WithMessage("Module id is required.")
            .Must(BeAnExistingModule).WithMessage("Module does not exist.");

            RuleFor(c => c.SiteId)
            .NotEmpty().WithMessage("Site id is required.")
            .Must(BeAnExistingSite).WithMessage("Site does not exist.");

            RuleFor(c => c.Content)
            .NotEmpty().WithMessage("Content is required.");

            RuleFor(c => c.Description)
            .Length(1, 250).WithMessage("Description cannot be longer of 250 characters.")
            .When(c => !string.IsNullOrWhiteSpace(c.Description));

            RuleFor(c => c.VersionLocalisations)
            .Must(IncludeAllSupportedLanguages).WithMessage("All supported languages should be included.");

            RuleFor(c => c.VersionLocalisations)
            .SetCollectionValidator(_localisationValidator);
        }
        public CreateTextModuleValidator(ITextModuleRules textModuleRules,
                                         IModuleRules moduleRules,
                                         ISiteRules siteRules)
            : base(siteRules)
        {
            _textModuleRules = textModuleRules;
            _moduleRules     = moduleRules;

            RuleFor(c => c.Id)
            .NotEmpty().WithMessage("Id is required.")
            .Must(HaveUniqueId).WithMessage("An text with the same id already exists.");

            RuleFor(c => c.ModuleId)
            .NotEmpty().WithMessage("Module id is required.")
            .Must(BeAnExistingModule).WithMessage("Module does not exist.");

            RuleFor(c => c.Content)
            .NotEmpty().WithMessage("Content is required.");
        }