Exemplo n.º 1
0
        public ContaRequestValidator(IGlobalContainerAccessor globalContainerAccessor)
        {
            _globalContainerAccessor = globalContainerAccessor;

            RuleFor(x => x.PessoaId).Must(PessoaDeveExistir).WithMessage("Pessoa informada não existe");
            RuleFor(x => x.Nome).NotEmpty().WithMessage("Nome da Conta é obrigatório");
        }
        public PessoaRequestValidator(IGlobalContainerAccessor globalContainerAccessor)
        {
            _globalContainerAccessor = globalContainerAccessor;

            When(x => x.PessoaFisica != null, () =>
            {
                RuleFor(x => x.PessoaJuridica).Null()
                .WithMessage("Não é possivel Adicionar uma Pessoa Fisica e Juridica ao mesmo tempo.");

                RuleFor(x => x.PessoaFisica.Cpf).Must(ValidadorDocumento.HasValidCpf)
                .WithMessage("CPF precisa ser válido");

                RuleFor(x => x.PessoaFisica.Cpf).Must(PessoaFisicaCpfUnico)
                .WithMessage("Já existe uma Pessoa com o CPF informado");

                RuleFor(x => x.PessoaFisica.NomeCompleto).NotEmpty().WithMessage("Nome Completo é obrigatório");
                RuleFor(x => x.PessoaFisica.DataNascimento).NotEmpty().WithMessage("Data Nascimento é obrigatório");
            });

            When(x => x.PessoaJuridica != null, () =>
            {
                RuleFor(x => x.PessoaFisica).Null()
                .WithMessage("Não é possivel Adicionar uma Pessoa Fisica e Juridica ao mesmo tempo.");

                RuleFor(x => x.PessoaJuridica.Cnpj).Must(ValidadorDocumento.HasValidCnpj)
                .WithMessage("CNPJ precisa ser válido");

                RuleFor(x => x.PessoaJuridica.Cnpj).Must(PessoaFisicaCnpjUnico)
                .WithMessage("Já existe uma Pessoa com o CNPJ informado");

                RuleFor(x => x.PessoaJuridica.RazaoSocial).NotEmpty().WithMessage("RazaoSocial é obrigatório");
                RuleFor(x => x.PessoaJuridica.NomeFantasia).NotEmpty().WithMessage("NomeFantasia é obrigatório");
            });
        }
Exemplo n.º 3
0
        public TransacaoAporteRequestValidator(IGlobalContainerAccessor globalContainerAccessor)
        {
            _globalContainerAccessor = globalContainerAccessor;

            RuleFor(x => x.ContaDestinoId).Must(ContaDeveExistir)
            .WithMessage("Conta não existe ou está Inativa/Cancelada");

            RuleFor(x => x.Valor).Must(x => x > 0).WithMessage("Valor deve ser maior que zero.");
        }
Exemplo n.º 4
0
        public TransacaoExtornoRequestValidator(IGlobalContainerAccessor globalContainerAccessor)
        {
            _globalContainerAccessor = globalContainerAccessor;

            RuleFor(x => x.TransacaoId).Must(DeveExistirTransacao)
            .WithMessage("Transação Não encontrada ou já foi extornada");
            RuleFor(x => x.TransacaoId)
            .Must((model, transacaoid) => ExtornoAporteDeveConterCodigo(transacaoid, model.CodigoAporte))
            .WithMessage("Para extornar Aportes precisa conter um código válido");
        }
        public TransacaoTransferenciaRequestValidator(IGlobalContainerAccessor globalContainerAccessor)
        {
            _globalContainerAccessor = globalContainerAccessor;

            RuleFor(x => x.ContaDestinoId).Must((model, destino) => destino != model.ContaOrigemId)
            .WithMessage("Conta Destino não pode ser a mesma que Origem");

            RuleFor(x => x.ContaDestinoId).Must(ContaDeveExistir)
            .WithMessage("Conta Destino não existe ou está Inativa/Cancelada");

            RuleFor(x => x.ContaDestinoId).Must(ContaDestinoNaoPodeSerMatriz)
            .WithMessage("Conta Destino não pode ser do Tipo Matriz");

            RuleFor(x => x.ContaOrigemId).Must(ContaDeveExistir)
            .WithMessage("Conta Origem não existe ou está Inativa/Cancelada");

            RuleFor(x => x.Valor).Must(x => x > 0).WithMessage("Valor deve ser maior que zero.");
        }