private async Task ObterTotaisDeLeituraPorResponsavel(ObterDadosLeituraComunicadosAgrupadosPorDreQuery request, DadosConsolidacaoNotificacaoResultado dadosLeituraComunicados, DadosLeituraComunicadosResultado dadosLeituraComunicadosResultado)
        {
            var totalNotificacoesLeituraPorResponsavel = await usuarioNotificacaoLeituraRepositorio.ObterTotalNotificacoesLeituraPorResponsavel(request.NotificaoId, long.Parse(dadosLeituraComunicados.DreCodigo));

            var nomeAbreviadoDre = await ObterNomeAvreviadoDrePorCodigo(dadosLeituraComunicados);

            dadosLeituraComunicadosResultado.NomeAbreviadoDre          = nomeAbreviadoDre.NomeAbreviado;
            dadosLeituraComunicadosResultado.ReceberamENaoVisualizaram = (dadosLeituraComunicados.QuantidadeResponsaveisComApp - totalNotificacoesLeituraPorResponsavel);
            dadosLeituraComunicadosResultado.NaoReceberamComunicado    = dadosLeituraComunicados.QuantidadeResponsaveisSemApp;
            dadosLeituraComunicadosResultado.VisualizaramComunicado    = totalNotificacoesLeituraPorResponsavel;
        }
예제 #2
0
        private async Task ObterTotaisDeLeituraPorResponsavel(ObterDadosLeituraComunicadosQuery request, IEnumerable <DadosConsolidacaoNotificacaoResultado> dadosLeituraComunicados, DadosLeituraComunicadosResultado dadosLeituraComunicadosResultado)
        {
            var codigoDre = long.Parse(dadosLeituraComunicados.FirstOrDefault().DreCodigo == "" ? "0" : dadosLeituraComunicados.FirstOrDefault().DreCodigo);
            var totalNotificacoesLeituraPorResponsavel = await usuarioNotificacaoLeituraRepositorio.ObterTotalNotificacoesLeituraPorResponsavel(request.NotificaoId, codigoDre);

            if (dadosLeituraComunicados.Count() == 1)
            {
                dadosLeituraComunicadosResultado.ReceberamENaoVisualizaram = (dadosLeituraComunicados.FirstOrDefault().QuantidadeResponsaveisComApp - totalNotificacoesLeituraPorResponsavel);
                dadosLeituraComunicadosResultado.NaoReceberamComunicado    = dadosLeituraComunicados.FirstOrDefault().QuantidadeResponsaveisSemApp;
                dadosLeituraComunicadosResultado.VisualizaramComunicado    = totalNotificacoesLeituraPorResponsavel;
            }

            if (dadosLeituraComunicados.Count() > 1)
            {
                dadosLeituraComunicadosResultado.ReceberamENaoVisualizaram = (dadosLeituraComunicados.Select(x => x.QuantidadeResponsaveisComApp).Sum() - totalNotificacoesLeituraPorResponsavel);
                dadosLeituraComunicadosResultado.NaoReceberamComunicado    = dadosLeituraComunicados.Select(x => x.QuantidadeResponsaveisSemApp).Sum();
                dadosLeituraComunicadosResultado.VisualizaramComunicado    = totalNotificacoesLeituraPorResponsavel;
            }
        }