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); }
private void Salvar(PlanoAnualDto planoAnualDto, PlanoAnual planoAnual, BimestrePlanoAnualDto bimestrePlanoAnualDto) { planoAnualDto.Id = repositorioPlanoAnual.Salvar(planoAnual); if (!planoAnual.Migrado) { AjustarObjetivosAprendizagem(planoAnualDto, bimestrePlanoAnualDto); } }
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(); } }
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); }