Exemplo n.º 1
0
        internal void Votar(string id, EnumVoto voto, string just)
        {
            var validador = new ValidadorVotacao();

            validador.ValidaVotoSemSessao(_inicioVotacao);
            validador.ValidaTerminoSessao(_inicioVotacao);
            validador.ValidaVotos(id, Votos);

            validador.ValidaJair(just);
            validador.ValidaTrabalho(just);

            var usuario = Usuarios.FirstOrDefault(p => p.Id.ToString() == id)
                          .ExcecaoSeNull("Este gamelão não foi encontrado.");

            var votoDto = new Voto
            {
                Guid          = Guid.NewGuid(),
                Usuario       = usuario,
                TipoVoto      = voto,
                Justificativa = new JustificativaVoto
                {
                    Guid  = Guid.NewGuid(),
                    Texto = just
                }
            };

            Votos.Add(votoDto);
        }
Exemplo n.º 2
0
        internal void IniciarVotacao(string id, string pergunta)
        {
            var validador = new ValidadorVotacao();

            var usuario = Usuarios.FirstOrDefault(p => p.Id.ToString() == id)
                          .ExcecaoSeNull("Este gamelão não foi encontrado.");

            validador.ValidaBloqueados(Bloqueados, usuario);
            validador.ValidaTempoInicioVotacao(_inicioVotacao);
            validador.ValidaJair(pergunta);
            validador.ValidaTrabalho(pergunta);

            _guid          = Guid.NewGuid();
            _pergunta      = pergunta;
            _inicioVotacao = DateTime.Now;

            _nomeDoSujeitoQueIniciouSessao = string.IsNullOrWhiteSpace(usuario.Nomezinho) ? usuario.Nome : usuario.Nomezinho;
            Votos.Clear();
        }
Exemplo n.º 3
0
        internal void Justificar(string id, string just)
        {
            var validador = new ValidadorVotacao();

            var usuario = Usuarios.FirstOrDefault(p => p.Id.ToString() == id)
                          .ExcecaoSeNull("Não achamos esse gamelão na nossa base baluda.");

            validador.ValidaBloqueados(Bloqueados, usuario);

            var voto = Votos.FirstOrDefault(p => p.Usuario.Id.ToString() == id)
                       .ExcecaoSeNull("Não votasse nessa sessão, só lamento.");

            validador.ValidaJair(just);
            validador.ValidaTrabalho(just);

            voto.Justificativa = new JustificativaVoto
            {
                Guid  = Guid.NewGuid(),
                Texto = just
            };
        }