Beispiel #1
0
        public EleicaoValidator(EleicaoContext context)
        {
            this.context = context;

            RuleFor(x => x.Ano).NotEmpty().LessThanOrEqualTo(DateTime.Today.Year);
            RuleFor(x => x).MustAsync(NaoTerTidoElecaoDoMesmoCardoNosUltimos2Anos(context)).WithMessage("É preciso esperar pelo menos 2 anos para fazer uma eleição com cargo repetido");
        }
Beispiel #2
0
 public PartidoService(
     EleicaoContext context,
     PartidoValidator validator)
 {
     this.context   = context;
     this.validator = validator;
 }
Beispiel #3
0
        public PartidoValidator(EleicaoContext context)
        {
            this.context = context;

            RuleFor(x => x.Numero).NotEmpty().MustAsync(TerNumeroUnico).WithMessage("Numero deve ser unico");
            RuleFor(x => x.Nome).NotEmpty().MustAsync(TerNomeUnico).WithMessage("Nome deve ser unico");
        }
Beispiel #4
0
        public PoliticoValidator(EleicaoContext context)
        {
            this.context = context;

            RuleFor(x => x.CPF).NotEmpty().MustAsync(TerCPFunico).WithMessage("CPF deve ser unico");
            RuleFor(x => x.RG).NotEmpty().MustAsync(TerRGUnico).WithMessage("RG deve ser unico");
            RuleFor(x => x.DataDeNascimento).Must(TerMaisDe18).WithMessage("O politico deve ser maior de 18 anos");
        }
 protected void Dispose(bool disposing)
 {
     if (disposing)
     {
         if (db != null)
         {
             db.Dispose();
             db = null;
         }
     }
 }
Beispiel #6
0
        public VotoValidator(EleicaoContext context)
        {
            this.context = context;

            When(x => x.Tipo == Enums.TipoVoto.Candidato, () =>
            {
                RuleFor(x => x.PoliticoId).NotNull();
            });

            RuleFor(x => x).MustAsync(VotoUnicoPorEleicao(context));
        }
Beispiel #7
0
 public CandidatoService(CanditatoValidator validator, EleicaoContext context)
 {
     this.validator = validator;
     this.context   = context;
 }
Beispiel #8
0
 private static Func <Eleicao, CancellationToken, Task <bool> > NaoTerTidoElecaoDoMesmoCardoNosUltimos2Anos(EleicaoContext context)
 {
     return(async(eleicao, token) =>
     {
         var anoLimiteAntes = eleicao.Ano - 2;
         var anoLimiteDepois = eleicao.Ano + 2;
         return !await context.Eleicoes.AnyAsync(x => x.Cargo == eleicao.Cargo && (x.Ano > anoLimiteAntes && x.Ano < anoLimiteDepois));
     });
 }
Beispiel #9
0
 private static Func <Voto, CancellationToken, Task <bool> > VotoUnicoPorEleicao(EleicaoContext context)
 {
     return(async(voto, token) =>
     {
         return !await context.Votos.AnyAsync(x => x.EleicaoId == voto.EleicaoId && x.CPFEleitor == voto.CPFEleitor);
     });
 }
Beispiel #10
0
 public VotoService(VotoValidator validator, EleicaoContext context)
 {
     this.validator = validator;
     this.context   = context;
 }
Beispiel #11
0
 public PoliticoService(PoliticoValidator validator, EleicaoContext context)
 {
     this.validator = validator;
     this.context   = context;
 }
Beispiel #12
0
 private static Func <Candidato, CancellationToken, Task <bool> > TemQueSerUnico(EleicaoContext context)
 {
     return(async(cadidato, token) =>
     {
         return !await context.Candidatos.AnyAsync(x => x.EleicaoId == cadidato.EleicaoId && x.PoliticoId == cadidato.PoliticoId);
     });
 }
Beispiel #13
0
 public CanditatoValidator(EleicaoContext context)
 {
     this.context = context;
     RuleFor(x => x).MustAsync(TemQueSerUnico(context)).WithMessage("Um Canditato não pode concorrer mais de uma vez na mesma eleição");
 }