public async Task <IEnumerable <EntidadeBase> > Salvar(PlanoAnualTerritorioSaberDto planoAnualTerritorioSaberDto) { Validar(planoAnualTerritorioSaberDto); var listaAuditoria = new List <EntidadeBase>(); unitOfWork.IniciarTransacao(); var usuarioAtual = servicoUsuario.ObterUsuarioLogado().Result; if (string.IsNullOrWhiteSpace(usuarioAtual.CodigoRf)) { throw new NegocioException("Não foi possível obter o RF do usuário."); } foreach (var bimestrePlanoAnual in planoAnualTerritorioSaberDto.Bimestres) { PlanoAnualTerritorioSaber planoAnualTerritorioSaber = await ObterPlanoAnualTerritorioSaberSimplificado(planoAnualTerritorioSaberDto, bimestrePlanoAnual.Bimestre.Value); if (planoAnualTerritorioSaber != null) { if (usuarioAtual.PerfilAtual == Perfis.PERFIL_PROFESSOR && !servicoUsuario.PodePersistirTurmaDisciplina(usuarioAtual.CodigoRf, planoAnualTerritorioSaberDto.TurmaId.ToString(), planoAnualTerritorioSaberDto.TerritorioExperienciaId.ToString(), DateTime.Now).Result) { throw new NegocioException("Você não pode fazer alterações ou inclusões nesta turma, disciplina e data."); } } planoAnualTerritorioSaber = MapearParaDominio(planoAnualTerritorioSaberDto, planoAnualTerritorioSaber, bimestrePlanoAnual.Bimestre.Value, bimestrePlanoAnual.Desenvolvimento, bimestrePlanoAnual.Reflexao); repositorioPlanoAnualTerritorioSaber.Salvar(planoAnualTerritorioSaber); listaAuditoria.Add(planoAnualTerritorioSaber); } unitOfWork.PersistirTransacao(); return(listaAuditoria); }
private PlanoAnualTerritorioSaber MapearParaDominio(PlanoAnualTerritorioSaberDto planoAnualTerritorioSaberDto, PlanoAnualTerritorioSaber planoAnualTerritorioSaber, int bimestre, string desenvolvimento, string reflexao) { if (planoAnualTerritorioSaber == null) { planoAnualTerritorioSaber = new PlanoAnualTerritorioSaber(); } planoAnualTerritorioSaber.Ano = planoAnualTerritorioSaberDto.AnoLetivo.Value; planoAnualTerritorioSaber.Bimestre = bimestre; planoAnualTerritorioSaber.Reflexao = reflexao ?? string.Empty; planoAnualTerritorioSaber.Desenvolvimento = desenvolvimento ?? string.Empty; planoAnualTerritorioSaber.EscolaId = planoAnualTerritorioSaberDto.EscolaId; planoAnualTerritorioSaber.TurmaId = planoAnualTerritorioSaberDto.TurmaId.Value; planoAnualTerritorioSaber.TerritorioExperienciaId = planoAnualTerritorioSaberDto.TerritorioExperienciaId; return(planoAnualTerritorioSaber); }