private async Task ObterTotaisDeLeituraPorAluno(ObterDadosLeituraComunicadosAgrupadosPorDreQuery request, DadosConsolidacaoNotificacaoResultado dadosLeituraComunicados, DadosLeituraComunicadosResultado dadosLeituraComunicadosResultado)
        {
            var totalNotificacoesLeituraPorAluno = await usuarioNotificacaoLeituraRepositorio.ObterTotalNotificacoesLeituraPorAluno(request.NotificaoId, long.Parse(dadosLeituraComunicados.DreCodigo));

            var nomeAbreviadoDre = await ObterNomeAvreviadoDrePorCodigo(dadosLeituraComunicados);

            dadosLeituraComunicadosResultado.NomeAbreviadoDre          = nomeAbreviadoDre.NomeAbreviado;
            dadosLeituraComunicadosResultado.ReceberamENaoVisualizaram = (dadosLeituraComunicados.QuantidadeAlunosComApp - totalNotificacoesLeituraPorAluno);
            dadosLeituraComunicadosResultado.NaoReceberamComunicado    = dadosLeituraComunicados.QuantidadeAlunosSemApp;
            dadosLeituraComunicadosResultado.VisualizaramComunicado    = totalNotificacoesLeituraPorAluno;
        }
Beispiel #2
0
        private async Task ObterTotaisDeLeituraPorAluno(ObterDadosLeituraComunicadosQuery request, IEnumerable <DadosConsolidacaoNotificacaoResultado> dadosLeituraComunicados, DadosLeituraComunicadosResultado dadosLeituraComunicadosResultado)
        {
            var codigoDre = long.Parse(dadosLeituraComunicados.FirstOrDefault().DreCodigo == "" ? "0" : dadosLeituraComunicados.FirstOrDefault().DreCodigo);
            var totalNotificacoesLeituraPorAluno = await usuarioNotificacaoLeituraRepositorio.ObterTotalNotificacoesLeituraPorAluno(request.NotificaoId, codigoDre);

            if (dadosLeituraComunicados.Count() == 1)
            {
                dadosLeituraComunicadosResultado.ReceberamENaoVisualizaram = (dadosLeituraComunicados.FirstOrDefault().QuantidadeAlunosComApp - totalNotificacoesLeituraPorAluno);
                dadosLeituraComunicadosResultado.NaoReceberamComunicado    = dadosLeituraComunicados.FirstOrDefault().QuantidadeAlunosSemApp;
                dadosLeituraComunicadosResultado.VisualizaramComunicado    = totalNotificacoesLeituraPorAluno;
            }

            if (dadosLeituraComunicados.Count() > 1)
            {
                dadosLeituraComunicadosResultado.ReceberamENaoVisualizaram = (dadosLeituraComunicados.Select(x => x.QuantidadeAlunosComApp).Sum() - totalNotificacoesLeituraPorAluno);
                dadosLeituraComunicadosResultado.NaoReceberamComunicado    = dadosLeituraComunicados.Select(x => x.QuantidadeAlunosSemApp).Sum();
                dadosLeituraComunicadosResultado.VisualizaramComunicado    = totalNotificacoesLeituraPorAluno;
            }
        }