Пример #1
0
 public IEnumerable <Linha> CalculoDetalhado(IEnumerable <Concurso> concursos, IEnumerable <IEnumerable <int> > jogos)
 {
     OnCalculoStart?.Invoke(this, EventArgs.Empty);
     foreach (var concurso in concursos)
     {
         foreach (var jogo in jogos)
         {
             var arrayJogo = jogo.ToArray();
             var ganhoJogo = CalcularJogo(concurso, arrayJogo, out var pontos);
             yield return(CriarLinhaDetalhe(concurso, arrayJogo, ganhoJogo, pontos));
         }
     }
 }
Пример #2
0
 public IEnumerable <Linha> CalculoSintetico(IEnumerable <Concurso> concursos, IEnumerable <IEnumerable <int> > jogos)
 {
     OnCalculoStart?.Invoke(this, EventArgs.Empty);
     foreach (var concurso in concursos)
     {
         var ganhoJogo = 0M;
         foreach (var jogo in jogos)
         {
             var arrayJogo = jogo.ToArray();
             ganhoJogo += CalcularJogo(concurso, arrayJogo, out var _);
         }
         yield return(CriarLinhaSubTotal(concurso, jogos.Count(), ganhoJogo));
     }
 }
Пример #3
0
        public IEnumerable <Linha> CalculoCompleto(IEnumerable <Concurso> concursos, IEnumerable <IEnumerable <int> > jogos)
        {
            OnCalculoStart?.Invoke(this, EventArgs.Empty);
            var ganhoTotal = 0M;

            foreach (var concurso in concursos)
            {
                var ganhoParcial = 0M;
                foreach (var jogo in jogos)
                {
                    var arrayJogo = jogo.ToArray();
                    var ganhoJogo = CalcularJogo(concurso, arrayJogo, out var pontos);
                    yield return(CriarLinhaDetalhe(concurso, arrayJogo, ganhoJogo, pontos));

                    ganhoParcial += ganhoJogo;
                }
                yield return(CriarLinhaSubTotal(concurso, jogos.Count(), ganhoParcial));

                ganhoTotal += ganhoParcial;
            }
            yield return(CriarLinhaTotal(concursos.Count(), jogos.Count(), ganhoTotal));
        }