public async Task <IActionResult> IniciaCargaInicial([FromServices] ICargaInicialUseCase useCase,
                                                             [FromQuery] FiltroCargaInicialDto filtro)
        {
            var retorno = await useCase.Executar(filtro);

            return(retorno ? Ok(retorno) : StatusCode(500));
        }
 public IncluirParametroCargaInicialCommand(FiltroCargaInicialDto filtro)
 {
     Ano      = filtro.AnoLetivo;
     TiposUes = filtro.TiposUes;
     Ues      = filtro.Ues;
     Turmas   = filtro.Turmas;
 }
        public async Task <bool> Executar(FiltroCargaInicialDto filtro)
        {
            var inseriu = await mediator.Send(new IncluirParametroCargaInicialCommand(filtro));

            var replicou = await mediator.Send(new ReplicarParametrosDoSistemaPorAnoCommand(filtro.AnoLetivo));

            if (!inseriu || !replicou)
            {
                return(false);
            }

            if ((filtro.Ues == null || !filtro.Ues.Any()) && (filtro.Turmas == null || !filtro.Turmas.Any()) &&
                (filtro.TiposUes == null || !filtro.TiposUes.Any()))
            {
                var parametros = await mediator.Send(new ObterParametrosCargaIncialPorAnoQuery(filtro.AnoLetivo));

                filtro = new FiltroCargaInicialDto(
                    parametros.AnoLetivo ?? filtro.AnoLetivo,
                    parametros.TiposUes,
                    parametros.Ues,
                    parametros.Turmas);
            }

            await mediator.Send(new PublicaFilaRabbitCommand(RotasRabbit.FilaGsaCargaInicial, filtro));

            return(true);
        }
        public async Task <bool> Executar(FiltroCargaInicialDto filtro)
        {
            var publicarSyncAtribuicao = await mediator.Send(new PublicaFilaRabbitCommand(RotasRabbit.FilaProfessorCursoAtribuicaoSync, RotasRabbit.FilaProfessorCursoAtribuicaoSync, filtro));

            if (!publicarSyncAtribuicao)
            {
                throw new NegocioException("Não foi possível iniciar a sincronização de atribuições de cursos dos professores.");
            }

            return(publicarSyncAtribuicao);
        }
Ejemplo n.º 5
0
        public async Task <IActionResult> IniciarSincronizacaoAtribuicoes([FromQuery] FiltroCargaInicialDto filtro, [FromServices] IIniciarSyncGoogleAtribuicoesDosProfessoresUseCase iniciarSyncGoogleAtribuicoesDosProfessoresUseCase)
        {
            var retorno = await iniciarSyncGoogleAtribuicoesDosProfessoresUseCase.Executar(filtro);

            return(Ok(retorno));
        }