예제 #1
0
        public RegisterDataCollectorBusinessValidator(
            CantExist notExistAlready,
            DisplayNameMustBeUnique haveUniqueDisplayName,
            PhoneNumberShouldNotBeRegistered notBeARegisteredNumber)
        {
            RuleFor(_ => _.DataCollectorId)
            .Must(_ => notExistAlready(_))
            .WithMessage(_ => $"Data Collector with id {_.DataCollectorId.Value} is not registered");

            RuleForEach(_ => _.PhoneNumbers)
            .Must(_ => notBeARegisteredNumber(_)).WithMessage(number => $"Phone number {number} is already registered");

            RuleFor(_ => _.DisplayName)
            .Must(_ => haveUniqueDisplayName(_)).WithMessage(_ => $"Datacollector display name {_.DisplayName} is already taken, choose another");
        }
        public AddPhoneNumberToDataCollectorBusinessValidator(MustExist beAnActualDataCollector, PhoneNumberShouldNotBeRegistered notBeARegisteredNumber)
        {
            RuleFor(_ => _.DataCollectorId)
            .Must(_ => beAnActualDataCollector(_))
            .WithMessage(_ => $"Data Collector with id {_.DataCollectorId.Value} is not registered");

            RuleFor(_ => _.PhoneNumber)
            .Must(_ => notBeARegisteredNumber(_)).WithMessage(number => $"Phone number {number} is already registered");
        }