public DTOManterTurma CounsultaTurma(string idChaveExternaTurma, string idChaveExternaOferta, AuthenticationProviderRequest pAutenticacao) { DTOManterTurma result = null; try { this.RegistrarLogExecucaoFornecedor((new BMFornecedor()).ObterPorFiltro(new Fornecedor() { Login = pAutenticacao.Login }).FirstOrDefault(), "CounsultaTurma"); using (BMTurma turmaBM = new BMTurma()) { Turma turma = turmaBM.ObterTurmaPorFornecedoreOferta(pAutenticacao.Login, idChaveExternaTurma, idChaveExternaOferta); if (turma == null) { throw new AcademicoException("Turma não encontrada"); } result = new DTOManterTurma() { DataFinal = turma.DataFinal, DataInicio = turma.DataInicio, IDChaveExternaTurma = turma.IDChaveExterna, Local = turma.Local, NomedaTurma = turma.Nome, TipoTutoria = turma.TipoTutoria, NomeProfessor = turma.Professor != null ? turma.Professor.Nome : string.Empty, CPFProfessor = turma.Professor != null ? turma.Professor.Cpf : string.Empty, EmailProfessor = turma.Professor != null ? turma.Professor.Email : string.Empty, QuantideInscritos = turma.ListaMatriculas.Count, IDChaveExternaOferta = turma.Oferta.IDChaveExterna }; } } catch (AcademicoException ex) { throw ex; } catch (Exception ex) { ErroUtil.Instancia.TratarErro(ex); } return(result); }
public void ManterCadastroTurma(DTOManterTurma pTurma, AuthenticationProviderRequest pAutenticacao) { try { ValidarCamposObrigatoriosTurma(pTurma); this.RegistrarLogExecucaoFornecedor((new BMFornecedor()).ObterPorFiltro(new Fornecedor() { Login = pAutenticacao.Login }).FirstOrDefault(), "CadastrarTurma"); using (BMTurma turmaBM = new BMTurma()) { Turma turma = turmaBM.ObterTurmaPorFornecedoreOferta(pAutenticacao.Login, pTurma.IDChaveExternaTurma, pTurma.IDChaveExternaOferta); if (turma == null) { turma = new Turma(); turma.IDChaveExterna = pTurma.IDChaveExternaTurma; turma.Oferta = (new BMOferta()).ObterOfertaPorFornecedor(pAutenticacao.Login, pTurma.IDChaveExternaOferta); if (turma.Oferta == null) { throw new AcademicoException("Oferta não encontrada na base de dados"); } } else { if (!string.IsNullOrEmpty(pTurma.IDChaveExternaTurmaNova)) { turma.IDChaveExterna = pTurma.IDChaveExternaTurmaNova; } } turma.Local = pTurma.Local; turma.Nome = pTurma.NomedaTurma; turma.TipoTutoria = pTurma.TipoTutoria; turma.DataInicio = pTurma.DataInicio; turma.DataFinal = pTurma.DataFinal; turma.InAberta = true; if (!string.IsNullOrEmpty(pTurma.NomeProfessor)) { turma.Professor = (new BMProfessor()).ObterPorFiltros(new Professor() { Nome = pTurma.NomeProfessor }).FirstOrDefault(); } else { turma.Professor = null; } if (pTurma.IDQuestionarioPre > 0) { AdicionarQuestionarioATurma(turma, pTurma.IDQuestionarioPre, enumTipoQuestionarioAssociacao.Pre); } if (pTurma.IDQuestionarioPos > 0) { AdicionarQuestionarioATurma(turma, pTurma.IDQuestionarioPos, enumTipoQuestionarioAssociacao.Pos); } if (pTurma.IDQuestionarioProva > 0) { AdicionarQuestionarioATurma(turma, pTurma.IDQuestionarioProva, enumTipoQuestionarioAssociacao.Prova); } turma.Auditoria = new Auditoria(pAutenticacao.Login); turmaBM.Salvar(turma); } } catch (Exception ex) { ErroUtil.Instancia.TratarErro(ex); } }