예제 #1
0
        public ProfessorValidador(IUsuarioServico usuarioServico, IEscolaridadeServico escolaridadeServico, IModalidadeEnsinoServico modalidadeServico, IResourceLocalizer resource)
        {
            _resource            = resource;
            _usuarioServico      = usuarioServico;
            _escolaridadeServico = escolaridadeServico;
            _modalidadeServico   = modalidadeServico;

            RuleFor(x => x.UsuarioId)
            .NotNull()
            .NotEmpty()
            .WithMessage(string.Format(_resource.GetString("FIELD_REQUIRED"), "Id do usuário"))
            .Must(x => _usuarioServico.ObterPorId(x) != null)
            .WithMessage(string.Format(_resource.GetString("INEXISTENT_ID"), "Usuário"));

            RuleFor(x => x.EscolaridaPubAlvoId)
            .NotNull()
            .NotEmpty()
            .WithMessage(string.Format(_resource.GetString("FIELD_REQUIRED"), "Id da escolaridade do público alvo"))
            .Must(x => _escolaridadeServico.ObterEscolaridadePorId(x) != null)
            .WithMessage(string.Format(_resource.GetString("INEXISTENT_ID"), "Modelo de escolaridade"));

            RuleFor(x => x.ModalidadeEnsinoId)
            .NotNull()
            .NotEmpty()
            .WithMessage(string.Format(_resource.GetString("FIELD_REQUIRED"), "Id da Modalidade de ensino"))
            .Must(x => _modalidadeServico.ObterModalidadePorId(x) != null)
            .WithMessage(string.Format(_resource.GetString("INEXISTENT_ID"), "Modelo de modalidade de ensino"));

            RuleFor(x => x.Email)
            .NotNull()
            .NotEmpty()
            .WithMessage(string.Format(_resource.GetString("FIELD_REQUIRED"), "Email"))
            .Must(x => EmailUtils.EmailValido(x))
            .WithMessage(string.Format(_resource.GetString("FIELD_FORMAT"), "Email"));

            RuleFor(x => x.Senha)
            .NotNull()
            .NotEmpty()
            .WithMessage(string.Format(_resource.GetString("FIELD_REQUIRED"), "Senha"));

            RuleFor(x => x.ValorHora)
            .NotNull()
            .NotEmpty()
            .WithMessage(string.Format(_resource.GetString("FIELD_REQUIRED"), "Valor por hora/aula"))
            .Must(x => x >= 10 && x <= 200)
            .WithMessage(string.Format(_resource.GetString("VALUE_HOUR_RULE"), "10", "200"));
        }