Ejemplo n.º 1
0
        private async Task ValidaProximaExecucaoAsync(AtualizacaoUsuarioGoogleClassroomIdPaginadoDto dto, PaginacaoResultadoDto <UsuarioParaAtualizacaoGoogleClassroomIdDto> resultadoPaginacao)
        {
            if (DeveBuscarAProximaPagina(dto, resultadoPaginacao))
            {
                await PublicaProximaPaginaAsync(dto);

                return;
            }

            await mediator.Send(new FinalizarAtualizacaoUsuarioGoogleClassroomIdCommand());
        }
Ejemplo n.º 2
0
        private async Task PublicaProximaPaginaAsync(AtualizacaoUsuarioGoogleClassroomIdPaginadoDto dto)
        {
            dto.Pagina++;

            try
            {
                var publicarAluno = await mediator.Send(new PublicaFilaRabbitCommand(RotasRabbit.FilaUsuarioGoogleIdSync, RotasRabbit.FilaUsuarioGoogleIdSync, dto));

                if (!publicarAluno)
                {
                    SentrySdk.CaptureMessage("Não foi possível iniciar a próxima página da atualização de GoogleClassroomId.");
                }
            }
            catch (Exception ex)
            {
                SentrySdk.CaptureException(ex);
            }
        }
        public async Task <bool> Executar(int registrosPorPagina)
        {
            var atualizaEmExecucao = await mediator.Send(new VerificarSeExistemMensagemNaFilaQuery(RotasRabbit.FilaUsuarioGoogleIdAtualizar));

            if (atualizaEmExecucao)
            {
                throw new NegocioException("Já existe uma atualização em andamento. Por favor tente mais tarde.");
            }

            var dto = new AtualizacaoUsuarioGoogleClassroomIdPaginadoDto
            {
                Pagina             = 0,
                RegistrosPorPagina = registrosPorPagina
            };

            var publicarSyncFuncionario = await mediator.Send(new PublicaFilaRabbitCommand(RotasRabbit.FilaUsuarioGoogleIdSync, RotasRabbit.FilaUsuarioGoogleIdSync, dto));

            if (!publicarSyncFuncionario)
            {
                throw new NegocioException("Não foi possível iniciar a sincronização de funcionários.");
            }

            return(publicarSyncFuncionario);
        }
Ejemplo n.º 4
0
 private bool DeveBuscarAProximaPagina(AtualizacaoUsuarioGoogleClassroomIdPaginadoDto dto, PaginacaoResultadoDto <UsuarioParaAtualizacaoGoogleClassroomIdDto> resultadoPaginacao)
 => resultadoPaginacao.TotalPaginas > (dto.Pagina + 1);