Esempio n. 1
0
        private VencedorDaSemana ObterVencedorSemanal(IEnumerable <Voto> votos, DataInicioEFimDaSemana periodo)
        {
            if (votos == null)
            {
                return(null);
            }
            var totalDeVotos = votos.Sum(p => p.Quantidade);
            var emAndamento  = CompararData.MaiorIgualHoje(periodo.Inicio) && CompararData.MenorIgualHoje(periodo.Fim);
            var vencedor     = votos.OrderByDescending(p => p.Quantidade).FirstOrDefault();

            return(new VencedorDaSemana(periodo.Inicio, periodo.Fim, vencedor.PretendenteId, vencedor.Pretendente.Nome, vencedor.Quantidade, CalcularPorcentagem(vencedor.Quantidade, totalDeVotos), emAndamento));
        }
Esempio n. 2
0
        private VencedorDoDia ObterVencedorDiario(IEnumerable <Voto> votos)
        {
            if (votos == null)
            {
                return(null);
            }
            var diaDosVotos    = votos.Select(p => p.Data).FirstOrDefault();
            var periodoVotacao = ObterPeriodoVotacao();
            var emAndamento    = CompararData.MaiorIgualHoje(diaDosVotos) && CompararData.MenorIgualHoje(diaDosVotos);
            var totalDeVotos   = votos.Sum(p => p.Quantidade);
            var vencedor       = votos.OrderByDescending(p => p.Quantidade).FirstOrDefault();

            return(new VencedorDoDia(
                       vencedor.Data, vencedor.PretendenteId, vencedor.Pretendente.Nome, vencedor.Quantidade,
                       CalcularPorcentagem(vencedor.Quantidade, totalDeVotos), emAndamento));
        }