Пример #1
0
        public async Task <IEnumerable <PlanoAnualCompletoDto> > Salvar(PlanoAnualDto planoAnualDto)
        {
            var usuarioAtual = servicoUsuario.ObterUsuarioLogado().Result;

            if (string.IsNullOrWhiteSpace(usuarioAtual.CodigoRf))
            {
                throw new NegocioException("Não foi possível obter o RF do usuário.");
            }

            unitOfWork.IniciarTransacao();
            foreach (var bimestrePlanoAnual in planoAnualDto.Bimestres)
            {
                PlanoAnual planoAnual = await ObterPlanoAnualSimplificado(planoAnualDto, bimestrePlanoAnual.Bimestre.Value);

                if (planoAnual != null)
                {
                    if (!usuarioAtual.EhProfessorCj() && !await servicoUsuario.PodePersistirTurmaDisciplina(usuarioAtual.CodigoRf, planoAnualDto.TurmaId.ToString(), planoAnualDto.ComponenteCurricularEolId.ToString(), DateTime.Now))
                    {
                        throw new NegocioException("Você não pode fazer alterações ou inclusões nesta turma, disciplina e data.");
                    }
                }
                planoAnual = MapearParaDominio(planoAnualDto, planoAnual, bimestrePlanoAnual.Bimestre.Value, bimestrePlanoAnual.Descricao);
                Salvar(planoAnualDto, planoAnual, bimestrePlanoAnual);
            }
            unitOfWork.PersistirTransacao();

            var resposta = await consultasPlanoAnual.ObterPorUETurmaAnoEComponenteCurricular(planoAnualDto.EscolaId, planoAnualDto.TurmaId.ToString(), planoAnualDto.AnoLetivo.Value, planoAnualDto.ComponenteCurricularEolId);

            return(resposta);
        }
Пример #2
0
 private void Salvar(PlanoAnualDto planoAnualDto, PlanoAnual planoAnual, BimestrePlanoAnualDto bimestrePlanoAnualDto)
 {
     planoAnualDto.Id = repositorioPlanoAnual.Salvar(planoAnual);
     if (!planoAnual.Migrado)
     {
         AjustarObjetivosAprendizagem(planoAnualDto, bimestrePlanoAnualDto);
     }
 }
Пример #3
0
 public void Salvar(PlanoAnualDto planoAnualDto)
 {
     using (var transacao = unitOfWork.IniciarTransacao())
     {
         foreach (var bimestrePlanoAnual in planoAnualDto.Bimestres)
         {
             PlanoAnual planoAnual = ObterPlanoAnualSimplificado(planoAnualDto, bimestrePlanoAnual.Bimestre.Value);
             planoAnual = MapearParaDominio(planoAnualDto, planoAnual, bimestrePlanoAnual);
             Salvar(planoAnualDto, planoAnual, bimestrePlanoAnual);
         }
         unitOfWork.PersistirTransacao();
     }
 }
Пример #4
0
 private PlanoAnual MapearParaDominio(PlanoAnualDto planoAnualDto, PlanoAnual planoAnual, BimestrePlanoAnualDto bimestrePlanoAnual)
 {
     if (planoAnual == null)
     {
         planoAnual = new PlanoAnual();
     }
     planoAnual.Ano       = planoAnualDto.AnoLetivo.Value;
     planoAnual.Bimestre  = bimestrePlanoAnual.Bimestre.Value;
     planoAnual.Descricao = bimestrePlanoAnual.Descricao;
     planoAnual.EscolaId  = planoAnualDto.EscolaId;
     planoAnual.TurmaId   = planoAnualDto.TurmaId.Value;
     planoAnual.ComponenteCurricularEolId = planoAnualDto.ComponenteCurricularEolId;
     return(planoAnual);
 }
 private PlanoAnual MapearParaDominio(PlanoAnualDto planoAnualDto, PlanoAnual planoAnual, int bimestre, string descricao, bool objetivosAprendizagemOpcionais)
 {
     if (planoAnual == null)
     {
         planoAnual = new PlanoAnual();
     }
     planoAnual.Ano       = planoAnualDto.AnoLetivo.Value;
     planoAnual.Bimestre  = bimestre;
     planoAnual.Descricao = descricao;
     planoAnual.EscolaId  = planoAnualDto.EscolaId;
     planoAnual.TurmaId   = planoAnualDto.TurmaId.Value;
     planoAnual.ComponenteCurricularEolId      = planoAnualDto.ComponenteCurricularEolId;
     planoAnual.ObjetivosAprendizagemOpcionais = objetivosAprendizagemOpcionais;
     return(planoAnual);
 }
        public async Task <IEnumerable <PlanoAnualCompletoDto> > Salvar(PlanoAnualDto planoAnualDto)
        {
            var usuarioAtual = servicoUsuario.ObterUsuarioLogado().Result;

            if (string.IsNullOrWhiteSpace(usuarioAtual.CodigoRf))
            {
                throw new NegocioException("Não foi possível obter o RF do usuário.");
            }

            if (planoAnualDto.TurmaId.HasValue && !await consultasTurma.TurmaEmPeriodoAberto(planoAnualDto.TurmaId.Value.ToString(), DateTime.Today))
            {
                throw new NegocioException("Turma não esta em período aberto");
            }

            unitOfWork.IniciarTransacao();
            foreach (var bimestrePlanoAnual in planoAnualDto.Bimestres)
            {
                PlanoAnual planoAnual = ObterPlanoAnualSimplificado(planoAnualDto, bimestrePlanoAnual.Bimestre.Value);
                if (planoAnual != null)
                {
                    var podePersistir = await servicoUsuario.PodePersistirTurmaDisciplina(usuarioAtual.CodigoRf, planoAnualDto.TurmaId.ToString(), planoAnualDto.ComponenteCurricularEolId.ToString(), DateTime.Now);

                    if (usuarioAtual.PerfilAtual == Perfis.PERFIL_PROFESSOR && !podePersistir)
                    {
                        throw new NegocioException("Você não pode fazer alterações ou inclusões nesta turma, disciplina e data.");
                    }
                }
                planoAnual = MapearParaDominio(planoAnualDto, planoAnual, bimestrePlanoAnual.Bimestre.Value, bimestrePlanoAnual.Descricao, bimestrePlanoAnual.ObjetivosAprendizagemOpcionais);
                Salvar(planoAnualDto, planoAnual, bimestrePlanoAnual);
            }
            unitOfWork.PersistirTransacao();

            var resposta = await consultasPlanoAnual.ObterPorUETurmaAnoEComponenteCurricular(planoAnualDto.EscolaId, planoAnualDto.TurmaId.ToString(), planoAnualDto.AnoLetivo.Value, planoAnualDto.ComponenteCurricularEolId);

            return(resposta);
        }