public List <DTOSolucaoEducacional> ConsultarSolucaoEducacionalPorFornecedor(string idChaveExterna, AuthenticationProviderRequest autenticacao) { solucaoEducacionalBM = new BMSolucaoEducacional(); SolucaoEducacional solucaoFiltro = new SolucaoEducacional(); solucaoFiltro.Fornecedor = new BMFornecedor().ObterPorLogin(autenticacao.Login); solucaoFiltro.IDChaveExterna = idChaveExterna; var listaSolucao = solucaoEducacionalBM.ObterPorFiltro(solucaoFiltro); List <DTOSolucaoEducacional> listaRetorno = new List <DTOSolucaoEducacional>(); foreach (var registro in listaSolucao) { DTOSolucaoEducacional dtoRegistro = new DTOSolucaoEducacional(); dtoRegistro.Apresentacao = registro.Apresentacao; dtoRegistro.Ativo = registro.Ativo; dtoRegistro.Autor = registro.Autor; dtoRegistro.Ementa = registro.Ementa; dtoRegistro.ID = registro.ID; dtoRegistro.IdCategoriaSolucaoEducacional = registro.CategoriaConteudo.ID; dtoRegistro.IDChaveExterna = registro.IDChaveExterna; dtoRegistro.IdFormaAquisicao = registro.FormaAquisicao.ID; dtoRegistro.Nome = registro.Nome; dtoRegistro.Objetivo = registro.Objetivo; dtoRegistro.TemMaterial = registro.TemMaterial; listaRetorno.Add(dtoRegistro); } return(listaRetorno); }
public void ManterExternoSolucaoEducacional(DTOSolucaoEducacional pDTOSolucaoEducacional, AuthenticationProviderRequest pAutenticacao) { try { this.RegistrarLogExecucaoFornecedor((new BMFornecedor()).ObterPorFiltro(new Fornecedor() { Login = pAutenticacao.Login, Senha = pAutenticacao.Senha }).FirstOrDefault(), "CadastrarSolucaoEducacional"); SolucaoEducacional solucaoEducacional = new BMSolucaoEducacional().ObterPorIDFornecedorEIdChaveExterna(pAutenticacao.Login, pDTOSolucaoEducacional.IDChaveExterna); if (solucaoEducacional == null) { //CRIACAO ValidarCamposSolucaoEducacional(pDTOSolucaoEducacional); solucaoEducacional = PreencherObjetoSolucaoEducacional(pDTOSolucaoEducacional, pAutenticacao, solucaoEducacional); solucaoEducacional.DataCadastro = DateTime.Now; if (solucaoEducacional.FormaAquisicao == null) { throw new AcademicoException("A forma de aquisição não foi encontrada"); } if (solucaoEducacional.CategoriaConteudo == null) { throw new AcademicoException("A categoria não foi encontrada"); } new BMSolucaoEducacional().Salvar(solucaoEducacional); } else { ValidarCamposSolucaoEducacional(pDTOSolucaoEducacional); solucaoEducacional = PreencherObjetoSolucaoEducacional(pDTOSolucaoEducacional, pAutenticacao, solucaoEducacional); new BMSolucaoEducacional().Salvar(solucaoEducacional); } } catch (AcademicoException ex) { throw new AcademicoException(ex.Message); } catch (Exception ex) { ErroUtil.Instancia.TratarErro(ex); } }
private static SolucaoEducacional PreencherObjetoSolucaoEducacional(DTOSolucaoEducacional pDTOSolucaoEducacional, AuthenticationProviderRequest pAutenticacao, SolucaoEducacional solucaoEducacional) { solucaoEducacional = new SolucaoEducacional() { Apresentacao = pDTOSolucaoEducacional.Apresentacao, Autor = pDTOSolucaoEducacional.Autor, CategoriaConteudo = pDTOSolucaoEducacional.IdCategoriaSolucaoEducacional > 0 ? (new BMCategoriaConteudo()).ObterPorID(2) : null, Ementa = pDTOSolucaoEducacional.Ementa, FormaAquisicao = (new BMFormaAquisicao()).ObterPorID(pDTOSolucaoEducacional.IdFormaAquisicao), Fornecedor = (new BMFornecedor()).ObterPorFiltro(new Fornecedor() { Login = pAutenticacao.Login }).FirstOrDefault(), Nome = pDTOSolucaoEducacional.Nome, Objetivo = pDTOSolucaoEducacional.Objetivo, Ativo = pDTOSolucaoEducacional.Ativo, TemMaterial = pDTOSolucaoEducacional.TemMaterial, IDChaveExterna = pDTOSolucaoEducacional.IDChaveExterna, Auditoria = new Auditoria(pAutenticacao.Login), }; return(solucaoEducacional); }
public DTOManterOferta ConsultaOferta(string idsOfertas, string idChaveExternaOferta, string idChaveExternaSolucaoEducacional, AuthenticationProviderRequest pAutenticacao) { DTOManterOferta ofResult = null; try { this.RegistrarLogExecucaoFornecedor((new BMFornecedor()).ObterPorFiltro(new Fornecedor() { Login = pAutenticacao.Login }).FirstOrDefault(), "ConsultaOferta"); using (ofertaBM = new BMOferta()) { IList <int> lsIdsOfertas = null; if (!string.IsNullOrEmpty(idsOfertas)) { lsIdsOfertas = idsOfertas.Split(',').Select(Int32.Parse).ToList(); } var oferta = ofertaBM.ObterOfertaPorFornecedor(lsIdsOfertas, pAutenticacao.Login, idChaveExternaOferta, idChaveExternaSolucaoEducacional); if (oferta == null) { throw new AcademicoException("Oferta não encontrada"); } var existeProximaOferta = false; // #1855 - Caso o fornecedor seja Moodle e caso a oferta esteja vencida, // remover o ID da Chave Externa e continuar buscando a oferta atual. if (oferta.SolucaoEducacional.Fornecedor.ID == (int)enumFornecedor.MoodleSebrae) { if (lsIdsOfertas == null) { lsIdsOfertas = new List <int>(); } lsIdsOfertas.Add(oferta.ID); if (oferta.ListaMatriculaOferta.Any(p => p.StatusMatricula != enumStatusMatricula.Inscrito)) { oferta.IDChaveExterna = null; ofertaBM.Salvar(oferta); } var proximaOferta = ofertaBM.ObterOfertaPorFornecedor(lsIdsOfertas, pAutenticacao.Login, idChaveExternaOferta, idChaveExternaSolucaoEducacional); existeProximaOferta = proximaOferta != null && proximaOferta.ID != oferta.ID; } ofResult = new DTOManterOferta { IDChaveExternaOferta = oferta.IDChaveExterna, DataFimInscricoes = oferta.DataFimInscricoes, DataInicioInscricoes = oferta.DataInicioInscricoes, FiladeEspera = oferta.FiladeEspera, TipoOferta = oferta.TipoOferta.ToString(), IDChaveExternaSolucaoEducacional = oferta.SolucaoEducacional.IDChaveExterna, ListaMatriculaAlunoOferta = new List <DTOMatriculaSE>(), ListaTurmasOferta = new List <DTOManterTurma>(), NomedaOferta = oferta.Nome, QuantidadeMaximaInscricoes = oferta.QuantidadeMaximaInscricoes, QTCargaHoraria = oferta.CargaHoraria, InscricaoOnline = oferta.InscricaoOnline, QTDiasPrazo = oferta.DiasPrazo, CodigoMoodle = oferta.CodigoMoodle.ToString(), ProximaOferta = existeProximaOferta, IDOferta = oferta.ID }; foreach (var mo in oferta.ListaMatriculaOferta) { var dtoMatriculaSE = new DTOMatriculaSE { IdMatriculaOferta = mo.ID, Nome = mo.Usuario.Nome, NivelOcupacional = mo.Usuario.NivelOcupacional.Nome, UF = mo.Usuario.UF.Nome, Cpf = mo.Usuario.CPF, DataNascimento = mo.Usuario.DataNascimento, Email = mo.Usuario.Email, Telefone = mo.Usuario.TelefoneExibicao, Endereco = mo.Usuario.Endereco, Cidade = mo.Usuario.Cidade, Estado = mo.Usuario.Estado, Cep = mo.Usuario.Cep, StatusMatricula = mo.StatusMatricula.ToString(), DataSolicitacao = mo.DataSolicitacao, DataStatusMatricula = mo.DataStatusMatricula, LinkAcesso = mo.LinkAcesso, LinkCertificado = mo.LinkCertificado }; if (mo.MatriculaTurma != null && mo.MatriculaTurma.Count > 0) { var matriculaTurma = mo.MatriculaTurma.First(); dtoMatriculaSE.IDTurma = matriculaTurma.Turma.ID; dtoMatriculaSE.IDChaveExternaTurma = matriculaTurma.Turma.IDChaveExterna; dtoMatriculaSE.NomeTurma = matriculaTurma.Turma.Nome; dtoMatriculaSE.DataMatriculaTurma = matriculaTurma.DataMatricula; dtoMatriculaSE.DataLimite = matriculaTurma.DataLimite; dtoMatriculaSE.Nota1 = matriculaTurma.Nota1; dtoMatriculaSE.Nota2 = matriculaTurma.Nota2; dtoMatriculaSE.MediaFinal = matriculaTurma.MediaFinal; dtoMatriculaSE.NotaOnline = matriculaTurma.ValorNotaProvaOnline; dtoMatriculaSE.DataSolicitacao = mo.DataSolicitacao; dtoMatriculaSE.ValorNotaMinima = matriculaTurma.Turma.NotaMinima; dtoMatriculaSE.AcessoAposConclusao = matriculaTurma.Turma.AcessoAposConclusao ? 1 : 0; } ofResult.ListaMatriculaAlunoOferta.Add(dtoMatriculaSE); } //Listando as turmas vinculadas à Oferta. using (var bmTurma = new BMTurma()) { ofResult.ListaTurmasOferta = new BMTurma() .ObterTodos() .Where(turma => turma.Oferta.ID == oferta.ID) .ToList() .Select(MapearListaParaDtoManterTurma()) .ToList(); } } } catch (AcademicoException ex) { throw new AcademicoException(ex.Message); } catch (Exception ex) { ErroUtil.Instancia.TratarErro(ex); } return(ofResult); }
public bool ManterMatriculaTurma(int idMatriculaOferta, int idTurma, double mediaFinal, AuthenticationProviderRequest autenticacao) { try { RegistrarLogExecucaoFornecedor((new BMFornecedor()).ObterPorFiltro(new Fornecedor() { Login = autenticacao.Login }).FirstOrDefault(), "ManterMatriculaTurma"); var bmMatriculaTurma = new BMMatriculaTurma(); var bmMatriculaOferta = new BMMatriculaOferta(); var bmTurma = new BMTurma(); MatriculaTurma matriculaTurma = new MatriculaTurma(); matriculaTurma.MatriculaOferta = new MatriculaOferta(); matriculaTurma.Turma = new Turma(); matriculaTurma.MatriculaOferta.ID = idMatriculaOferta; matriculaTurma.Turma.ID = idTurma; matriculaTurma = bmMatriculaTurma.ObterPorFiltro(matriculaTurma).FirstOrDefault(); if (matriculaTurma != null) { MatriculaOferta matriculaOferta = bmMatriculaOferta.ObterPorID(idMatriculaOferta); Turma turma = bmTurma.ObterPorID(idTurma); matriculaTurma.MediaFinal = matriculaOferta.StatusMatricula == enumStatusMatricula.Abandono ? null : (double?)mediaFinal; if (matriculaTurma.MediaFinal == 0) { matriculaTurma.MediaFinal = null; } if (!matriculaTurma.DataTermino.HasValue) { matriculaTurma.DataTermino = DateTime.Now; } decimal notaMinima = turma.NotaMinima.HasValue ? turma.NotaMinima.Value : 7; decimal notaFinal = matriculaTurma.MediaFinal.HasValue ? Convert.ToDecimal(matriculaTurma.MediaFinal.Value) : decimal.Zero; if (notaFinal >= notaMinima) { matriculaOferta.StatusMatricula = enumStatusMatricula.Aprovado; } else { // Se já tiver terminada a turma vamos reprovar o aluno e ele não obteve nota para ser aprovado vamos reprovar ele if (matriculaTurma.DataLimite < DateTime.Now) { // Se não obteve nenhuma nota é abandono if (notaFinal == 0) { matriculaOferta.StatusMatricula = enumStatusMatricula.Abandono; } // Do contrário é deve ser reprovado else { matriculaOferta.StatusMatricula = enumStatusMatricula.Reprovado; } } } matriculaTurma.Auditoria.UsuarioAuditoria = matriculaOferta.Auditoria.UsuarioAuditoria = autenticacao.Login; matriculaOferta.Auditoria.DataAuditoria = matriculaTurma.Auditoria.DataAuditoria = DateTime.Now; bmMatriculaTurma.Salvar(matriculaTurma); bmMatriculaOferta.Salvar(matriculaOferta); //CASO A OFERTA FOR CONTINUA, VERIFICA E ATUALIZA O ITEM TRILHA DO USUARIO new BP.ManterItemTrilhaParticipacao().vinculaMatriculaOferta(matriculaOferta); new BP.ManterItemTrilhaParticipacao().AtualizarStatusParticipacoesTrilhas(matriculaOferta); } return(true); } catch { return(false); } }
public void ManterOfertaFornecedor(DTOManterOferta dtoOferta, AuthenticationProviderRequest pAutenticacao) { Fornecedor fornecedor = new BMFornecedor().ObterPorFiltro(new Fornecedor() { Login = pAutenticacao.Login }).FirstOrDefault(); try { this.RegistrarLogExecucaoFornecedor(fornecedor, "ManterOferta"); using (ofertaBM = new BMOferta()) { ValidarCamposObrigatoriosOferta(dtoOferta); SolucaoEducacional solucaoEducacional = new BMSolucaoEducacional().ObterSolucaoEducacionalPorFornecedor(pAutenticacao.Login, dtoOferta.IDChaveExternaSolucaoEducacional); if (solucaoEducacional == null) { throw new AcademicoException("Não foi possível encontrar a Solução Educacional"); } Oferta oferta = ofertaBM.ObterOfertaPorFornecedor(null, fornecedor.Login, dtoOferta.IDChaveExternaOferta, dtoOferta.IDChaveExternaSolucaoEducacional); if (oferta == null) { oferta = new Oferta(); oferta.IDChaveExterna = dtoOferta.IDChaveExternaOferta; oferta.SolucaoEducacional = solucaoEducacional; try { oferta.TipoOferta = (enumTipoOferta)Enum.Parse(typeof(enumTipoOferta), dtoOferta.TipoOferta.ToString()); } catch { throw new AcademicoException("Não foi possível encontrar o Tipo da Oferta"); } oferta.ListaMatriculaOferta = new List <MatriculaOferta>(); } else { if (!string.IsNullOrEmpty(dtoOferta.IDChaveExternaOfertaNova)) { oferta.IDChaveExterna = dtoOferta.IDChaveExternaOfertaNova; } } oferta.DataFimInscricoes = dtoOferta.DataFimInscricoes; oferta.DataInicioInscricoes = dtoOferta.DataInicioInscricoes; oferta.FiladeEspera = dtoOferta.FiladeEspera; oferta.InscricaoOnline = dtoOferta.InscricaoOnline; oferta.Nome = dtoOferta.NomedaOferta; if (dtoOferta.IdCertificado > 0) { oferta.CertificadoTemplate = new BMCertificadoTemplate().ObterPorID(dtoOferta.IdCertificado); } int codigoMoodle = 0; if (int.TryParse(dtoOferta.CodigoMoodle, out codigoMoodle)) { oferta.CodigoMoodle = codigoMoodle; } if (dtoOferta.QTDiasPrazo.HasValue) { oferta.DiasPrazo = dtoOferta.QTDiasPrazo.Value; } else { oferta.DiasPrazo = 30; } oferta.QuantidadeMaximaInscricoes = dtoOferta.QuantidadeMaximaInscricoes; oferta.Auditoria = new Auditoria(pAutenticacao.Login); oferta.CargaHoraria = dtoOferta.QTCargaHoraria; if (dtoOferta.ListaMatriculaAlunoOferta != null && dtoOferta.ListaMatriculaAlunoOferta.Count > 0) { var manterItemTrilhaParticipacao = new BP.ManterItemTrilhaParticipacao(); foreach (var dtoMatriculaSE in dtoOferta.ListaMatriculaAlunoOferta) { if (string.IsNullOrWhiteSpace(dtoMatriculaSE.Cpf)) { throw new AcademicoException("O CPF do aluno é obrigatório"); } if (string.IsNullOrWhiteSpace(dtoMatriculaSE.StatusMatricula)) { throw new AcademicoException("O status da matrícula do aluno é obrigatório"); } enumStatusMatricula statusMatricula; try { statusMatricula = (enumStatusMatricula)Enum.Parse(typeof(enumStatusMatricula), dtoMatriculaSE.StatusMatricula); } catch { throw new AcademicoException("Status da matrícula inválido"); } if (statusMatricula == enumStatusMatricula.CanceladoAdm || statusMatricula == enumStatusMatricula.CanceladoAluno) { continue; } MatriculaOferta matriculaOferta = null; Usuario usuario = null; if (dtoMatriculaSE.IdMatriculaOferta > 0) { matriculaOferta = oferta.ListaMatriculaOferta.Where(x => x.ID == dtoMatriculaSE.IdMatriculaOferta).FirstOrDefault(); usuario = matriculaOferta.Usuario; } else { matriculaOferta = new MatriculaOferta(); usuario = (new BMUsuario()).ObterPorCPF(dtoMatriculaSE.Cpf); if (usuario == null) { throw new AcademicoException("Não foi possível encontrar o aluno"); } matriculaOferta.Oferta = oferta; matriculaOferta.Usuario = usuario; matriculaOferta.UF = usuario.UF; matriculaOferta.NivelOcupacional = usuario.NivelOcupacional; } if (matriculaOferta.ID == 0) { //Criar Matricula Oferta matriculaOferta.StatusMatricula = statusMatricula; matriculaOferta.Auditoria = new Auditoria(pAutenticacao.Login); matriculaOferta.DataSolicitacao = dtoMatriculaSE.DataSolicitacao; matriculaOferta.DataStatusMatricula = dtoMatriculaSE.DataStatusMatricula; matriculaOferta.LinkAcesso = dtoMatriculaSE.LinkAcesso; matriculaOferta.LinkCertificado = dtoMatriculaSE.LinkCertificado; if (!string.IsNullOrWhiteSpace(dtoMatriculaSE.IDChaveExternaTurma)) { //Criar matricula Turma Turma turma = new BMTurma().ObterTurmaPorFornecedor(fornecedor.Login, dtoMatriculaSE.IDChaveExternaTurma); if (turma != null) { MatriculaTurma matriculaTurma = new MatriculaTurma() { Turma = turma, MatriculaOferta = matriculaOferta, DataMatricula = dtoMatriculaSE.DataMatriculaTurma.Value, DataLimite = dtoMatriculaSE.DataLimite.Value, Nota1 = dtoMatriculaSE.Nota1, Nota2 = dtoMatriculaSE.Nota2, MediaFinal = dtoMatriculaSE.MediaFinal, ValorNotaProvaOnline = dtoMatriculaSE.NotaOnline, Auditoria = new Auditoria(pAutenticacao.Login), }; if (matriculaOferta.MatriculaTurma == null) { matriculaOferta.MatriculaTurma = new List <MatriculaTurma>(); } matriculaOferta.MatriculaTurma.Add(matriculaTurma); } } } else { //Alterar Dados da Matricula Oferta bool terminou = false; if (matriculaOferta.StatusMatricula != statusMatricula && (statusMatricula == enumStatusMatricula.Aprovado || statusMatricula == enumStatusMatricula.Concluido)) { terminou = true; } matriculaOferta.StatusMatricula = statusMatricula; matriculaOferta.DataStatusMatricula = dtoMatriculaSE.DataStatusMatricula; matriculaOferta.LinkAcesso = dtoMatriculaSE.LinkAcesso; matriculaOferta.LinkCertificado = dtoMatriculaSE.LinkCertificado; matriculaOferta.Auditoria = new Auditoria(pAutenticacao.Login); //matriculaOferta.DataSolicitacao = dtoMatriculaSE.DataSolicitacao; if (!string.IsNullOrWhiteSpace(dtoMatriculaSE.IDChaveExternaTurma)) { if (matriculaOferta.MatriculaTurma != null && matriculaOferta.MatriculaTurma.Count > 0) { matriculaOferta.MatriculaTurma[0].DataMatricula = dtoMatriculaSE.DataMatriculaTurma.Value; matriculaOferta.MatriculaTurma[0].DataLimite = dtoMatriculaSE.DataLimite.Value; matriculaOferta.MatriculaTurma[0].Nota1 = dtoMatriculaSE.Nota1; matriculaOferta.MatriculaTurma[0].Nota2 = dtoMatriculaSE.Nota2; matriculaOferta.MatriculaTurma[0].MediaFinal = dtoMatriculaSE.MediaFinal; matriculaOferta.MatriculaTurma[0].ValorNotaProvaOnline = dtoMatriculaSE.NotaOnline; if (terminou) { matriculaOferta.MatriculaTurma[0].DataTermino = DateTime.Now; manterItemTrilhaParticipacao.AtualizarStatusParticipacoesTrilhas(matriculaOferta); } matriculaOferta.MatriculaTurma[0].Auditoria = new Auditoria(pAutenticacao.Login); } else { Turma turma = new BMTurma().ObterTurmaPorFornecedor(fornecedor.Login, dtoMatriculaSE.IDChaveExternaTurma); if (turma != null) { MatriculaTurma matriculaTurma = new MatriculaTurma() { Turma = turma, MatriculaOferta = matriculaOferta, DataMatricula = dtoMatriculaSE.DataMatriculaTurma.Value, DataLimite = dtoMatriculaSE.DataLimite.Value, Nota1 = dtoMatriculaSE.Nota1, Nota2 = dtoMatriculaSE.Nota2, MediaFinal = dtoMatriculaSE.MediaFinal, ValorNotaProvaOnline = dtoMatriculaSE.NotaOnline, Auditoria = new Auditoria(pAutenticacao.Login) }; if (matriculaOferta.MatriculaTurma == null) { matriculaOferta.MatriculaTurma = new List <MatriculaTurma>(); } matriculaOferta.MatriculaTurma.Add(matriculaTurma); } } } } if (matriculaOferta.ID == 0) { oferta.ListaMatriculaOferta.Add(matriculaOferta); } } } if (oferta.ID != 0) { ofertaBM.EvictOferta(oferta); } ofertaBM.Salvar(oferta); } } catch (AcademicoException ex) { throw new AcademicoException(ex.Message); } catch (Exception ex) { ErroUtil.Instancia.TratarErro(ex); } }
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); } }
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); }