private AulaConsultaDto MapearParaDto(Aula aula, string disciplinaId)
        {
            AulaConsultaDto dto = new AulaConsultaDto()
            {
                Id           = aula.Id,
                DisciplinaId = aula.DisciplinaId,
                DisciplinaCompartilhadaId = aula.DisciplinaCompartilhadaId,
                TurmaId          = aula.TurmaId,
                UeId             = aula.UeId,
                TipoCalendarioId = aula.TipoCalendarioId,
                TipoAula         = aula.TipoAula,
                Quantidade       = aula.Quantidade,
                ProfessorRf      = aula.ProfessorRf,
                DataAula         = aula.DataAula.Local(),
                RecorrenciaAula  = aula.RecorrenciaAula,
                AlteradoEm       = aula.AlteradoEm,
                AlteradoPor      = aula.AlteradoPor,
                AlteradoRF       = aula.AlteradoRF,
                CriadoEm         = aula.CriadoEm,
                CriadoPor        = aula.CriadoPor,
                CriadoRF         = aula.CriadoRF
            };

            dto.VerificarSomenteLeitura(disciplinaId);

            return(dto);
        }
Beispiel #2
0
        private static AulaConsultaDto MapearParaDto(Aula aula, bool aberto, bool usuarioAcessoAoComponente, bool aulaEmManutencao)
        {
            AulaConsultaDto dto = new AulaConsultaDto()
            {
                Id           = aula.Id,
                DisciplinaId = aula.DisciplinaId,
                DisciplinaCompartilhadaId = aula.DisciplinaCompartilhadaId,
                TurmaId          = aula.TurmaId,
                UeId             = aula.UeId,
                TipoCalendarioId = aula.TipoCalendarioId,
                DentroPeriodo    = aberto,
                TipoAula         = aula.TipoAula,
                Quantidade       = aula.Quantidade,
                ProfessorRf      = aula.ProfessorRf,
                DataAula         = aula.DataAula.Local(),
                RecorrenciaAula  = aula.RecorrenciaAula,
                AlteradoEm       = aula.AlteradoEm,
                AlteradoPor      = aula.AlteradoPor,
                AlteradoRF       = aula.AlteradoRF,
                CriadoEm         = aula.CriadoEm,
                CriadoPor        = aula.CriadoPor,
                CriadoRF         = aula.CriadoRF,
                Migrado          = aula.Migrado,
                SomenteLeitura   = !usuarioAcessoAoComponente,
                EmManutencao     = aulaEmManutencao
            };

            return(dto);
        }
Beispiel #3
0
        //[Fact]
        //public async void Deve_Obter_Por_Turma_Disciplina()
        //{
        //    // ACT
        //    var planoAula = await consultasPlanoAula.ObterPlanoAulaPorAula(1);

        //    // ASSERT
        //    Assert.False(planoAula == null);

        //    Assert.True(planoAula.ObjetivosAprendizagemAula.Any());

        //    Assert.True(planoAula.QtdAulas > 0);
        //}

        private void Setup()
        {
            // Plano Aula
            planoAula = new PlanoAula()
            {
                Id        = 1,
                AulaId    = 1,
                Descricao = "Teste plano aula",
            };

            repositorioPlanoAula.Setup(a => a.ObterPlanoAulaPorAula(It.IsAny <long>()))
            .Returns(Task.FromResult(planoAula));

            // Objetivos Aula
            objetivos = new List <ObjetivoAprendizagemAula>()
            {
                new ObjetivoAprendizagemAula()
                {
                    PlanoAulaId            = 1,
                    ObjetivoAprendizagemId = 1,
                    ObjetivoAprendizagem   = new ObjetivoAprendizagem()
                    {
                        ComponenteCurricularId = 1,
                    }
                }
            };

            consultasObjetivosAprendizagemAula.Setup(a => a.ObterObjetivosPlanoAula(It.IsAny <long>()))
            .Returns(Task.FromResult(objetivos));

            // Aula
            aula = new AulaConsultaDto()
            {
                Id           = 1,
                DataAula     = new DateTime(2019, 11, 1),
                DisciplinaId = "7",
                Quantidade   = 3,
                UeId         = "1",
                TurmaId      = "1"
            };

            consultasAula.Setup(a => a.BuscarPorId(It.IsAny <long>()).Result)
            .Returns(aula);

            // Plano anual
            var planoAnual = new PlanoAnualCompletoDto()
            {
                ObjetivosAprendizagem = new List <ObjetivoAprendizagemDto>()
                {
                    new ObjetivoAprendizagemDto()
                    {
                        Id = 1, Ano = "2019", Codigo = "1", Descricao = "Objetivo 1", IdComponenteCurricular = 1
                    }
                }
            };

            consultasPlanoAnual.Setup(a => a.ObterPorEscolaTurmaAnoEBimestre(It.IsAny <FiltroPlanoAnualDto>(), It.IsAny <bool>()))
            .Returns(Task.FromResult(planoAnual));
        }
Beispiel #4
0
        public async Task Migrar(MigrarPlanoAulaDto migrarPlanoAulaDto)
        {
            var usuario = await servicoUsuario.ObterUsuarioLogado();

            var planoAulaDto = repositorio.ObterPorId(migrarPlanoAulaDto.PlanoAulaId);
            var aula         = repositorioAula.ObterPorId(planoAulaDto.AulaId);

            await ValidarMigracao(migrarPlanoAulaDto, usuario.CodigoRf, usuario.EhProfessorCj(), aula.UeId);

            var objetivosPlanoAulaDto = await repositorioObjetivosAula.ObterObjetivosPlanoAula(migrarPlanoAulaDto.PlanoAulaId);

            unitOfWork.IniciarTransacao();

            foreach (var planoTurma in migrarPlanoAulaDto.IdsPlanoTurmasDestino)
            {
                AulaConsultaDto aulaConsultaDto = await
                                                  repositorioAula.ObterAulaDataTurmaDisciplina(
                    planoTurma.Data,
                    planoTurma.TurmaId,
                    migrarPlanoAulaDto.DisciplinaId
                    );

                if (aulaConsultaDto == null)
                {
                    throw new NegocioException($"Não há aula cadastrada para a turma {planoTurma.TurmaId} para a data {planoTurma.Data.ToString("dd/MM/yyyy")} nesta disciplina!");
                }

                var planoCopia = new PlanoAulaDto()
                {
                    Id                          = planoTurma.Sobreescrever ? migrarPlanoAulaDto.PlanoAulaId : 0,
                    AulaId                      = aulaConsultaDto.Id,
                    Descricao                   = planoAulaDto.Descricao,
                    DesenvolvimentoAula         = planoAulaDto.DesenvolvimentoAula,
                    LicaoCasa                   = migrarPlanoAulaDto.MigrarLicaoCasa ? planoAulaDto.LicaoCasa : string.Empty,
                    ObjetivosAprendizagemJurema = !usuario.EhProfessorCj() ||
                                                  migrarPlanoAulaDto.MigrarObjetivos ?
                                                  objetivosPlanoAulaDto.Select(o => o.ObjetivoAprendizagemPlano.ObjetivoAprendizagemJuremaId).ToList() : null,
                    RecuperacaoAula = migrarPlanoAulaDto.MigrarRecuperacaoAula ?
                                      planoAulaDto.RecuperacaoAula : string.Empty
                };

                await Salvar(planoCopia, false);
            }

            unitOfWork.PersistirTransacao();
        }
        public async Task <bool> Handle(MigrarPlanoAulaCommand request, CancellationToken cancellationToken)
        {
            var usuario      = request.Usuario;
            var planoAulaDto = repositorioPlanoAula.ObterPorId(request.PlanoAulaMigrar.PlanoAulaId);
            var aula         = await mediator.Send(new ObterAulaPorIdQuery(planoAulaDto.AulaId));

            await ValidarMigracao(request.PlanoAulaMigrar, usuario.CodigoRf, usuario.EhProfessorCj(), aula.UeId);

            unitOfWork.IniciarTransacao();

            foreach (var planoTurma in request.PlanoAulaMigrar.IdsPlanoTurmasDestino)
            {
                AulaConsultaDto aulaConsultaDto = await
                                                  mediator.Send(new ObterAulaDataTurmaDisciplinaQuery(
                                                                    planoTurma.Data,
                                                                    planoTurma.TurmaId,
                                                                    request.PlanoAulaMigrar.DisciplinaId
                                                                    ));

                if (aulaConsultaDto == null)
                {
                    throw new NegocioException($"Não há aula cadastrada para a turma {planoTurma.TurmaId} para a data {planoTurma.Data.ToString("dd/MM/yyyy")} nesta disciplina!");
                }

                var planoCopia = new PlanoAulaDto()
                {
                    Id                              = planoTurma.Sobreescrever ? request.PlanoAulaMigrar.PlanoAulaId : 0,
                    AulaId                          = aulaConsultaDto.Id,
                    Descricao                       = planoAulaDto.Descricao,
                    DesenvolvimentoAula             = planoAulaDto.DesenvolvimentoAula,
                    LicaoCasa                       = request.PlanoAulaMigrar.MigrarLicaoCasa ? planoAulaDto.LicaoCasa : string.Empty,
                    ObjetivosAprendizagemComponente = !usuario.EhProfessorCj() ||
                                                      request.PlanoAulaMigrar.MigrarObjetivos ?
                                                      (await mediator.Send(new ObterObjetivosComComponentePorPlanoAulaIdQuery(request.PlanoAulaMigrar.PlanoAulaId)))?.ToList() : null,
                    RecuperacaoAula = request.PlanoAulaMigrar.MigrarRecuperacaoAula ?
                                      planoAulaDto.RecuperacaoAula : string.Empty
                };

                await mediator.Send(new SalvarPlanoAulaCommand(planoCopia));
            }

            unitOfWork.PersistirTransacao();
            return(true);
        }
Beispiel #6
0
        private AulaConsultaDto MapearParaDto(Aula aula)
        {
            AulaConsultaDto dto = new AulaConsultaDto()
            {
                Id               = aula.Id,
                DisciplinaId     = aula.DisciplinaId,
                TurmaId          = aula.TurmaId,
                UeId             = aula.UeId,
                TipoCalendarioId = aula.TipoCalendarioId,
                TipoAula         = aula.TipoAula,
                Quantidade       = aula.Quantidade,
                DataAula         = aula.DataAula,
                RecorrenciaAula  = aula.RecorrenciaAula,
                AlteradoEm       = aula.AlteradoEm,
                AlteradoPor      = aula.AlteradoPor,
                AlteradoRF       = aula.AlteradoRF,
                CriadoEm         = aula.CriadoEm,
                CriadoPor        = aula.CriadoPor,
                CriadoRF         = aula.CriadoRF
            };

            return(dto);
        }