예제 #1
0
        public static void ApplyRules <T>(AbstractValidatorBase <T> abstractValidatorBase, ILocalizationService localizationService) where T : StrassenabschnittModelBase
        {
            abstractValidatorBase.RuleForNotNullableString(m => m.Strassenname);
            abstractValidatorBase.RuleFor(m => m.Belastungskategorie).ShouldNotBeEmpty(localizationService);
            abstractValidatorBase.RuleFor(m => m.Belag).NotNull();
            abstractValidatorBase.RuleFor(m => m.Trottoir).NotNull();
            abstractValidatorBase.RuleFor(m => m.Strasseneigentuemer).NotNull();
            abstractValidatorBase.RuleFor(m => m.BreiteFahrbahn).NotNull().InclusiveBetween(1, 50).IsValidDecimalWithDecimalPlaces(2, localizationService);
            abstractValidatorBase.RuleForNullableString(m => m.Ortsbezeichnung);
            abstractValidatorBase.RuleForNullableString(m => m.BezeichnungVon);
            abstractValidatorBase.RuleForNullableString(m => m.BezeichnungBis);
            abstractValidatorBase.RuleForNullableDecimal(m => m.BreiteTrottoirLinks);
            abstractValidatorBase.RuleForNullableDecimal(m => m.BreiteTrottoirRechts);

            abstractValidatorBase.RuleFor(m => m.BreiteTrottoirLinks)
            .InclusiveBetween(0, 30)
            .When(s => s.Trottoir == TrottoirTyp.BeideSeiten || s.Trottoir == TrottoirTyp.Links)
            .ShouldBeEmpty(localizationService)
            .When(s => s.Trottoir == TrottoirTyp.NochNichtErfasst || s.Trottoir == TrottoirTyp.KeinTrottoir || s.Trottoir == TrottoirTyp.Rechts);
            abstractValidatorBase.RuleFor(m => m.BreiteTrottoirRechts)
            .InclusiveBetween(0, 30)
            .When(s => s.Trottoir == TrottoirTyp.BeideSeiten || s.Trottoir == TrottoirTyp.Rechts)
            .ShouldBeEmpty(localizationService)
            .When(s => s.Trottoir == TrottoirTyp.NochNichtErfasst || s.Trottoir == TrottoirTyp.KeinTrottoir || s.Trottoir == TrottoirTyp.Links);
            abstractValidatorBase.RuleFor(m => m.BreiteTrottoirLinks)
            .InclusiveBetween(0, 30)
            .When(s => s.Trottoir == TrottoirTyp.BeideSeiten || s.Trottoir == TrottoirTyp.Links)
            .NotEmpty()
            .When(s => s.Trottoir == TrottoirTyp.BeideSeiten || s.Trottoir == TrottoirTyp.Links);
            abstractValidatorBase.RuleFor(m => m.BreiteTrottoirRechts)
            .InclusiveBetween(0, 30)
            .When(s => s.Trottoir == TrottoirTyp.BeideSeiten || s.Trottoir == TrottoirTyp.Rechts)
            .NotEmpty()
            .When(s => s.Trottoir == TrottoirTyp.BeideSeiten || s.Trottoir == TrottoirTyp.Rechts);
        }
 public static void ApplyRules <T>(AbstractValidatorBase <T> abstractValidatorBase, ILocalizationService localizationService) where T : ZustandsabschnittModelBase
 {
     abstractValidatorBase.RuleForNullableString(m => m.BezeichnungVon);
     abstractValidatorBase.RuleForNullableString(m => m.BezeichnungBis);
     abstractValidatorBase.RuleForNullableLongString(m => m.Bemerkung);
     abstractValidatorBase.RuleFor(m => m.Aufnahmedatum).NotNull().InclusiveBetween(Defaults.MinDateTime, Defaults.MaxDateTime);
 }