private async Task ValidaProximaExecucaoAsync(AtualizacaoUsuarioGoogleClassroomIdPaginadoDto dto, PaginacaoResultadoDto <UsuarioParaAtualizacaoGoogleClassroomIdDto> resultadoPaginacao) { if (DeveBuscarAProximaPagina(dto, resultadoPaginacao)) { await PublicaProximaPaginaAsync(dto); return; } await mediator.Send(new FinalizarAtualizacaoUsuarioGoogleClassroomIdCommand()); }
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); }
private bool DeveBuscarAProximaPagina(AtualizacaoUsuarioGoogleClassroomIdPaginadoDto dto, PaginacaoResultadoDto <UsuarioParaAtualizacaoGoogleClassroomIdDto> resultadoPaginacao) => resultadoPaginacao.TotalPaginas > (dto.Pagina + 1);