public async Task <bool> Handle(ExcluirPlanejamentoAnualPorTurmaIdEComponenteCurricularIdCommand comando, CancellationToken cancellationToken)
        {
            var planejamentoAnual = await repositorioPlanejamentoAnual.ObterIdPorTurmaEComponenteCurricular(comando.TurmaId, comando.ComponenteCurricularId);

            if (planejamentoAnual == 0)
            {
                return(true);
            }

            var planejamentoAnualPeriodosEscolares = await repositorioPlanejamentoAnualPeriodoEscolar.ObterPorPlanejamentoAnualId(planejamentoAnual);


            foreach (var pape in planejamentoAnualPeriodosEscolares)
            {
                var planejamentoAnualComponente = await repositorioPlanejamentoAnualComponente.ObterPorPlanejamentoAnualPeriodoEscolarId(comando.ComponenteCurricularId, pape.Id);

                var planejamentoAnualObjetivosAprendizagem = await repositorioPlanejamentoAnualObjetivosAprendizagem.ObterPorPlanejamentoAnualComponenteId(planejamentoAnualComponente.Id);

                foreach (var paoa in planejamentoAnualObjetivosAprendizagem)
                {
                    await repositorioPlanejamentoAnualObjetivosAprendizagem.RemoverLogicamenteAsync(paoa.Id);
                }

                await repositorioPlanejamentoAnualComponente.RemoverLogicamenteAsync(planejamentoAnualComponente.Id);

                await repositorioPlanejamentoAnualPeriodoEscolar.RemoverLogicamenteAsync(pape.Id);
            }

            await repositorioPlanejamentoAnual.RemoverLogicamenteAsync(planejamentoAnual);

            return(true);
        }
Ejemplo n.º 2
0
 public async Task <IEnumerable <PlanejamentoAnualPeriodoEscolarResumoDto> > Handle(ObterPeriodosEscolaresPorPlanejamentoAnualIdQuery request, CancellationToken cancellationToken)
 {
     return(await repositorioPlanejamentoAnualPeriodoEscolar.ObterPorPlanejamentoAnualId(request.PlanejamentoAnualId));
 }