예제 #1
0
        private AulasPrevistasDadasAuditoriaDto MapearParaDto(AulaPrevista aulaPrevista, IEnumerable <AulaPrevistaBimestreQuantidade> bimestres = null)
        {
            var bimestre = bimestres.FirstOrDefault();

            return(aulaPrevista == null ? null : new AulasPrevistasDadasAuditoriaDto
            {
                Id = aulaPrevista.Id,
                AlteradoEm = bimestre?.AlteradoEm ?? DateTime.MinValue,
                AlteradoPor = bimestre?.AlteradoPor ?? "",
                AlteradoRF = bimestre?.AlteradoRF ?? "",
                CriadoEm = bimestre?.CriadoEm ?? aulaPrevista.CriadoEm,
                CriadoPor = bimestre?.CriadoPor ?? aulaPrevista.CriadoPor,
                CriadoRF = bimestre?.CriadoRF ?? aulaPrevista.CriadoRF,
                AulasPrevistasPorBimestre = bimestres?.Select(x => new AulasPrevistasDadasDto
                {
                    Bimestre = x.Bimestre,
                    Criadas = new AulasQuantidadePorProfessorDto()
                    {
                        QuantidadeCJ = x.CriadasCJ,
                        QuantidadeTitular = x.CriadasTitular
                    },
                    Cumpridas = x.Cumpridas,
                    Inicio = x.Inicio,
                    Fim = x.Fim,
                    Previstas = new AulasPrevistasDto()
                    {
                        Quantidade = x.Previstas
                    },
                    Reposicoes = x.Reposicoes
                }).ToList()
            });
        }
예제 #2
0
        public async Task <AulasPrevistasDadasAuditoriaDto> ObterAulaPrevistaDada(Modalidade modalidade, string turmaId, string disciplinaId)
        {
            var turma = ObterTurma(turmaId);

            var tipoCalendario = ObterTipoCalendarioPorTurmaAnoLetivo(turma.AnoLetivo, turma.ModalidadeCodigo);

            AulasPrevistasDadasAuditoriaDto aulaPrevistaDto;

            var aulaPrevista = await repositorio.ObterAulaPrevistaFiltro(tipoCalendario.Id, turmaId, disciplinaId);

            IEnumerable <AulaPrevistaBimestreQuantidade> aulaPrevistaBimestres;

            if (aulaPrevista != null)
            {
                aulaPrevistaBimestres = await ObterBimestres(aulaPrevista.Id);
            }
            else
            {
                aulaPrevista = new AulaPrevista();

                var periodosBimestre = ObterPeriodosEscolares(tipoCalendario.Id);
                aulaPrevistaBimestres = MapearPeriodoParaBimestreDto(periodosBimestre);
            }

            aulaPrevistaDto = MapearDtoRetorno(aulaPrevista, aulaPrevistaBimestres);

            return(aulaPrevistaDto);
        }
예제 #3
0
        public async Task <AulasPrevistasDadasAuditoriaDto> ObterAulaPrevistaDada(Modalidade modalidade, string turmaId, string disciplinaId, int semestre = 0)
        {
            var turma = await ObterTurma(turmaId);

            var tipoCalendario = await ObterTipoCalendarioPorTurmaAnoLetivo(turma.AnoLetivo, turma.ModalidadeCodigo, semestre);

            AulasPrevistasDadasAuditoriaDto aulaPrevistaDto;

            var aulaPrevista = await repositorio.ObterAulaPrevistaFiltro(tipoCalendario.Id, turmaId, disciplinaId);

            var ehAnoLetivo     = turma.AnoLetivo == DateTime.Today.Year;
            var periodosAbertos = await consultasTurma.PeriodosEmAbertoTurma(turmaId, DateTime.Now, ehAnoLetivo);

            IEnumerable <AulaPrevistaBimestreQuantidade> aulaPrevistaBimestres;

            if (aulaPrevista != null)
            {
                aulaPrevistaBimestres = await ObterBimestres(aulaPrevista.Id);
            }
            else
            {
                aulaPrevista = new AulaPrevista();

                var periodosBimestre = await ObterPeriodosEscolares(tipoCalendario.Id);

                aulaPrevistaBimestres = MapearPeriodoParaBimestreDto(periodosBimestre);
            }

            aulaPrevistaDto = MapearDtoRetorno(aulaPrevista, aulaPrevistaBimestres, periodosAbertos);

            return(aulaPrevistaDto);
        }
예제 #4
0
        private AulasPrevistasDadasAuditoriaDto MapearDtoRetorno(AulaPrevista aulaPrevista, IEnumerable <AulaPrevistaBimestreQuantidade> aulasPrevistasBimestre)
        {
            AulasPrevistasDadasAuditoriaDto aulaPrevistaDto = MapearParaDto(aulaPrevista, aulasPrevistasBimestre) ?? new AulasPrevistasDadasAuditoriaDto();

            aulaPrevistaDto = MapearMensagens(aulaPrevistaDto);

            return(aulaPrevistaDto);
        }
예제 #5
0
        private AulasPrevistasDadasAuditoriaDto MapearDtoRetorno(AulaPrevista aulaPrevista, IEnumerable <AulaPrevistaBimestreQuantidade> aulasPrevistasBimestre, IEnumerable <PeriodoEscolarAbertoDto> periodosAbertos = null)
        {
            AulasPrevistasDadasAuditoriaDto aulaPrevistaDto = MapearParaDto(aulaPrevista, aulasPrevistasBimestre, periodosAbertos) ?? new AulasPrevistasDadasAuditoriaDto();

            aulaPrevistaDto = MapearMensagens(aulaPrevistaDto);

            return(aulaPrevistaDto);
        }
예제 #6
0
 private AulaPrevista MapearParaDominio(AulaPrevistaDto aulaPrevistaDto, AulaPrevista aulaPrevista, long tipoCalendarioId)
 {
     if (aulaPrevista == null)
     {
         aulaPrevista = new AulaPrevista();
     }
     aulaPrevista.DisciplinaId     = aulaPrevistaDto.DisciplinaId;
     aulaPrevista.TipoCalendarioId = tipoCalendarioId;
     aulaPrevista.TurmaId          = aulaPrevistaDto.TurmaId;
     return(aulaPrevista);
 }
예제 #7
0
        private async Task <long> Inserir(AulaPrevistaDto aulaPrevistaDto, AulaPrevista aulaPrevista)
        {
            aulaPrevistaDto.Id = repositorio.Salvar(aulaPrevista);

            if (aulaPrevistaDto.BimestresQuantidade != null)
            {
                foreach (var bimestreQuantidadeDto in aulaPrevistaDto.BimestresQuantidade)
                {
                    await repositorioBimestre.SalvarAsync(new AulaPrevistaBimestre()
                    {
                        AulaPrevistaId = aulaPrevistaDto.Id,
                        Bimestre       = bimestreQuantidadeDto.Bimestre,
                        Previstas      = bimestreQuantidadeDto.Quantidade
                    });
                }
            }

            return(aulaPrevistaDto.Id);
        }
예제 #8
0
        public async Task <long> Inserir(AulaPrevistaDto dto)
        {
            var turma = await ObterTurma(dto.TurmaId);

            var tipoCalendario = await ObterTipoCalendarioPorTurmaAnoLetivo(turma.AnoLetivo, turma.ModalidadeCodigo);

            long id;

            AulaPrevista aulaPrevista = null;

            aulaPrevista = MapearParaDominio(dto, aulaPrevista, tipoCalendario.Id);

            unitOfWork.IniciarTransacao();

            id = await Inserir(dto, aulaPrevista);

            unitOfWork.PersistirTransacao();

            return(id);
        }