public IList <DTOHistoricoAcademicoCursos> ConsultaHistoricoAcademicoCursos(int pIdUsuario) { BMMatriculaOferta moBM = new BMMatriculaOferta(); List <MatriculaOferta> lista = new List <MatriculaOferta>(); lista = moBM.ObterPorUsuario(pIdUsuario).Where(x => x.StatusMatricula == enumStatusMatricula.Concluido || x.StatusMatricula == enumStatusMatricula.Aprovado).ToList(); IList <DTOHistoricoAcademicoCursos> retorno = new List <DTOHistoricoAcademicoCursos>(); foreach (var registro in lista) { DTOHistoricoAcademicoCursos itemAdicionar = new DTOHistoricoAcademicoCursos(); itemAdicionar.NomeCurso = registro.Oferta.SolucaoEducacional.Nome; if (registro.MatriculaTurma != null && registro.MatriculaTurma.Count > 0 && registro.MatriculaTurma.FirstOrDefault().DataTermino.HasValue) { itemAdicionar.DataConclusao = registro.MatriculaTurma.FirstOrDefault().DataTermino.Value; } itemAdicionar.FormaAquisicao = registro.Oferta.SolucaoEducacional.FormaAquisicao.Nome; itemAdicionar.CargaHoraria = registro.Oferta.CargaHoraria; itemAdicionar.Fornecedor = registro.Oferta.SolucaoEducacional.Fornecedor.Nome; if (registro.MatriculaTurma != null && registro.MatriculaTurma.Count > 0 && registro.MatriculaTurma.FirstOrDefault().MediaFinal.HasValue) { itemAdicionar.MediaFinal = registro.MatriculaTurma.FirstOrDefault().MediaFinal.Value; } retorno.Add(itemAdicionar); } return(retorno); }
private MatriculaTurma ObterObjetoMatriculaTurma(int idMatriculaOferta) { var matriculaOferta = new BMMatriculaOferta().ObterPorID(idMatriculaOferta); MatriculaTurma matriculaTurma = new MatriculaTurma(); /* * Demanda #3474 * * usuários com perfis de gestores UC e administradores, podem fazer inscrições de alunos fora do prazo de inscrição estipulado pela oferta. */ if (matriculaOferta != null && matriculaOferta.MatriculaTurma != null) { matriculaTurma = matriculaOferta.MatriculaTurma.FirstOrDefault(); } else { matriculaTurma = new MatriculaTurma { Turma = new BMTurma().ObterPorID(int.Parse(ddlTurma.SelectedValue)), MatriculaOferta = matriculaOferta, DataMatricula = IsAdminOrGestorUc && !string.IsNullOrEmpty(txtDataInscricao.Text) ? Convert.ToDateTime(txtDataInscricao.Text) : DateTime.Now, //Demanda #3474 DataTermino = IsAdminOrGestorUc && !string.IsNullOrEmpty(txtDataConclusao.Text) ? Convert.ToDateTime(txtDataConclusao.Text) : DateTime.Now //Demanda #3474 }; } if (!string.IsNullOrEmpty(txtJustificativa.Text)) { matriculaTurma.Observacao = txtJustificativa.Text; } var informarDataInscricao = matriculaTurma.Turma.Oferta.DataInicioInscricoes.HasValue && matriculaTurma.Turma.Oferta.DataFimInscricoes.HasValue && matriculaTurma.DataMatricula.Between( matriculaTurma.Turma.Oferta.DataInicioInscricoes.Value.Date, matriculaTurma.Turma.Oferta.DataFimInscricoes.Value.Date); if (!informarDataInscricao) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, matriculaTurma.Turma.Oferta.DataInicioInscricoes.HasValue && matriculaTurma.Turma.Oferta.DataFimInscricoes.HasValue ? "Data de Matrícula deve ser entre " + matriculaTurma.Turma.Oferta.DataInicioInscricoes.Value.Date.ToString("dd/MM/yyyy") + " e " + matriculaTurma.Turma.Oferta.DataFimInscricoes.Value.Date.ToString("dd/MM/yyyy") : "Data de Matrícula inválida."); return(null); } matriculaTurma.DataLimite = matriculaTurma.CalcularDataLimite(matriculaOferta.Oferta); return(matriculaTurma); }
public List <DTOItemMeusCursos> ObterMeusCursos(int id_Usuario, bool portalNovo = false) { var resultado = new List <DTOItemMeusCursos>(); try { if (id_Usuario > 0) { var listaMatriculaOferta = new BMMatriculaOferta() .ObterPorUsuarioSemMatriculasCapacitacoes(id_Usuario); PreencherDTOComInformacoesDaMatriculaOferta(resultado, listaMatriculaOferta); // Busca matriculas em Trilhas e Programas PreencherDTOComInformacoesDoUsuarioTrilha(id_Usuario, resultado); PreencherDTOComInformacoesDaMatriculaPrograma(id_Usuario, resultado); } } catch (Exception ex) { ErroUtil.Instancia.TratarErro(ex); } return(resultado); }
public string CancelaMatriculaSolucaoEducacionalGestorUC(int idMatriculaOferta, string solicitante) { BMMatriculaOferta bmMatriculaOferta = new BMMatriculaOferta(); MatriculaOferta matriculaOferta = bmMatriculaOferta.ObterPorID(idMatriculaOferta); if (matriculaOferta.StatusMatricula == enumStatusMatricula.Inscrito) { matriculaOferta.StatusMatricula = enumStatusMatricula.CanceladoAdm; if (matriculaOferta.MatriculaTurma != null && matriculaOferta.MatriculaTurma.Count > 0) { matriculaOferta.MatriculaTurma.Clear(); } matriculaOferta.Auditoria = new Auditoria(solicitante); bmMatriculaOferta.Salvar(matriculaOferta); } else if (matriculaOferta.StatusMatricula == enumStatusMatricula.CanceladoAdm || matriculaOferta.StatusMatricula == enumStatusMatricula.CanceladoAluno) { throw new AcademicoException("A matrícula já se encontra cancelada"); } else { throw new AcademicoException("O status atual da matrícula não permite o cancelamento."); } return(string.Empty); }
public void CancelarMatriculaSolucaoEducacional(int idMatriculaOferta, AuthenticationRequest autenticacao) { MatriculaOferta matriculaOferta = new BMMatriculaOferta().ObterPorID(idMatriculaOferta); if (matriculaOferta != null) { TimeSpan diasMatriculados = Convert.ToDateTime(DateTime.Now) - Convert.ToDateTime(matriculaOferta.DataSolicitacao); if (diasMatriculados.Days > int.Parse(ConfiguracaoSistemaUtil.ObterInformacoes(enumConfiguracaoSistema.DiasCancelamentoCurso).Registro)) { //Passou do Limite para cancelamento throw new AcademicoException("Prazo expirado para o cancelamento"); } if (matriculaOferta.MatriculaTurma != null) { //matriculaOferta.MatriculaTurma.StatusMatricula = enumStatusMatricula.CanceladoAluno; //matriculaOferta.MatriculaTurma.Auditoria = new Auditoria(autenticacao.Login); } matriculaOferta.StatusMatricula = enumStatusMatricula.CanceladoAluno; if (matriculaOferta.MatriculaTurma != null && matriculaOferta.MatriculaTurma.Count > 0) { matriculaOferta.MatriculaTurma.Clear(); } matriculaOferta.Auditoria = new Auditoria(autenticacao.Login); new BMMatriculaOferta().Salvar(matriculaOferta); } else { throw new AcademicoException("Matrícula não encontrada"); } }
private void ValidarOfertaNormal(Oferta oferta, int idUsuario, List <int> pListaIdMetaIndividualAssociada, List <int> pListaIdMetaInstitucionalAssociada, AuthenticationRequest autenticacao) { int qtdInscritosNaOferta = oferta.ListaMatriculaOferta.Where(x => (x.StatusMatricula != enumStatusMatricula.CanceladoAdm && x.StatusMatricula != enumStatusMatricula.CanceladoAluno)) .Count(); Usuario usuario = new BMUsuario().ObterPorId(idUsuario); MatriculaOferta matriculaOferta = new MatriculaOferta() { Oferta = new BMOferta().ObterPorId(oferta.ID), Usuario = usuario, Auditoria = new Auditoria(autenticacao.Login), DataSolicitacao = DateTime.Now, UF = new BMUf().ObterPorId(usuario.UF.ID), NivelOcupacional = new BMNivelOcupacional().ObterPorID(usuario.NivelOcupacional.ID) }; if ((oferta.QuantidadeMaximaInscricoes > 0) && qtdInscritosNaOferta >= oferta.QuantidadeMaximaInscricoes) { if (oferta.FiladeEspera) { matriculaOferta.StatusMatricula = enumStatusMatricula.FilaEspera; } else { throw new AcademicoException("Erro: A quantidade máxima de alunos foi atingida"); } } else { matriculaOferta.StatusMatricula = enumStatusMatricula.Inscrito; } BMMatriculaOferta bmMatriculaOferta = new BMMatriculaOferta(); bmMatriculaOferta.Salvar(matriculaOferta); qtdInscritosNaOferta++; //validando se a turma já está chegando ao limite. if (qtdInscritosNaOferta > (oferta.QuantidadeMaximaInscricoes - int.Parse( ConfiguracaoSistemaUtil.ObterInformacoes(enumConfiguracaoSistema.LimiteAlertaInscricaoOferta) .Registro))) { EnviarEmailLimiteOferta(oferta, matriculaOferta); } ValidarMetaIndividual(idUsuario, oferta.SolucaoEducacional.ID, pListaIdMetaIndividualAssociada, autenticacao); ValidarMetaInstitucional(idUsuario, oferta.SolucaoEducacional.ID, pListaIdMetaInstitucionalAssociada, autenticacao); }
public bool ConsultarVeracidadeCertificado(string codigo, int idUsuario) { // Certificado do tutor. if (codigo.Length < 32 && codigo.StartsWith("cr")) { var verificarCertificado = new ManterCertificadoTemplate().VerificarCertificadoTutor(codigo); if (verificarCertificado.Valido) { return(true); } } var retorno = false; var usuario = new Usuario(); if (idUsuario > 0) { usuario = new BMUsuario().ObterPorId(idUsuario); if (usuario == null) { throw new AcademicoException("Usuário não localizado na base"); } } if (string.IsNullOrEmpty(codigo)) { throw new AcademicoException("O código do certificado não foi preenchido"); } var bmMatriculaOferta = new BMMatriculaOferta(); var buscaMatOferta = bmMatriculaOferta.ObterPorCodigoCertificado(codigo, usuario); if (buscaMatOferta != null) { retorno = true; } else { BMUsuarioTrilha BMUsuarioTrilha = new BMUsuarioTrilha(); UsuarioTrilha buscaUsuarioTrilha = BMUsuarioTrilha.ObterPorCodigoCertificao(codigo, usuario); if (buscaUsuarioTrilha != null) { retorno = true; } } return(retorno); }
public IList <DTOMatriculasPorUF> ObterMatriculasPorUf(DateTime?dataInicio, DateTime?dataFim) { IDictionary <string, object> lstParam = new Dictionary <string, object>(); lstParam.Add("pDataInicio", (!dataInicio.HasValue ? "01/01/" + DateTime.Now.Year : dataInicio.Value.ToString("MM/dd/yyyy")) + " 00:00:00"); lstParam.Add("pDataFim", (!dataFim.HasValue ? DateTime.Now.Date.ToString("MM/dd/yyyy") : dataFim.Value.ToString("MM/dd/yyyy")) + " 23:59:59"); var bmMatriculaOferta = new BMMatriculaOferta(); return(bmMatriculaOferta.ExecutarProcedure <DTOMatriculasPorUF>("DASHBOARD_REL_GraficoMatriculadosUF", lstParam)); }
public void ValidarMatriculaExistente(int idUsuario, int idSolucaoEducacional) { MatriculaOferta buscaMatricula = new MatriculaOferta(); buscaMatricula.Usuario = new Usuario(); buscaMatricula.Usuario.ID = idUsuario; List <MatriculaOferta> possiveisMatriculas = new BMMatriculaOferta().ObterPorFiltro(buscaMatricula).ToList(); if (possiveisMatriculas != null && possiveisMatriculas.Any( y => y.Oferta.SolucaoEducacional.ID == idSolucaoEducacional && !(y.StatusMatricula == enumStatusMatricula.CanceladoAdm || y.StatusMatricula == enumStatusMatricula.CanceladoAluno))) { throw new AcademicoException( "Erro: O usuário já está matriculado em uma oferta desta Solução Educacional"); } }
public IList <DTOConcluintesEspacoOcupacional> ObterConcluintesExternos(DateTime inicio, DateTime fim, int idUf) { var lstParam = new Dictionary <string, object> { { "DataInicio", inicio }, { "DataFim", fim } }; if (idUf != 0) { lstParam.Add("IdUf", idUf); } var bmMatriculaOferta = new BMMatriculaOferta(); return (bmMatriculaOferta.ExecutarProcedure <DTOConcluintesEspacoOcupacional>( "DASHBOARD_REL_CONCLUINTES_EXTERNOS", lstParam)); }
public IList <DTOMatriculasPorMes> ObterMatriculasPorMes(DateTime?dataInicio, DateTime?dataFim, int idUf) { IDictionary <string, object> lstParam = new Dictionary <string, object>(); lstParam.Add("pDataInicio", (!dataInicio.HasValue ? "01/01/" + DateTime.Now.Year : dataInicio.Value.ToString("MM/dd/yyyy")) + " 00:00:00"); lstParam.Add("pDataFim", (!dataFim.HasValue ? DateTime.Now.Date.ToString("MM/dd/yyyy") : dataFim.Value.ToString("MM/dd/yyyy")) + " 23:59:59"); if (idUf != 0) { lstParam.Add("IdUf", idUf); } var bmMatriculaOferta = new BMMatriculaOferta(); return(bmMatriculaOferta.ExecutarProcedure <DTOMatriculasPorMes>("DASHBOARD_REL_MatriculasPorMes", lstParam)); }
public IList <DTOProcInscricoesPorStatusENivel> ConsultarRelatorioInscricoesPorStatusENivel(string statuses, string niveisOcupacionais, int?idUf, int?idSolucaoEducacional, DateTime?dataInicial, DateTime?dataFinal, IEnumerable <int> pUfResponsavel) { var parametros = new Dictionary <string, object> { { "p_Statuses", statuses }, { "p_NiveisOcupacionais", niveisOcupacionais }, { "p_UF", idUf }, { "p_SolucaoEducacional", idSolucaoEducacional }, { "p_DataInicioMatricula", dataInicial }, { "p_DataFimMatricula", dataFinal } }; if (pUfResponsavel != null && pUfResponsavel.Any()) { parametros.Add("P_UFResponsavel", string.Join(", ", pUfResponsavel)); } else { parametros.Add("P_UFResponsavel", DBNull.Value); } var bmMatriculaOferta = new BMMatriculaOferta(); return (bmMatriculaOferta.ExecutarProcedure <DTOProcInscricoesPorStatusENivel>( "SP_REL_INSCRICOES_POR_STATUS_E_NIVEL", parametros)); }
public List <DTOItemHistoricoAcademico> ConsultarHistorico(int id_Usuario) { try { var listaMatriculaOferta = new BMMatriculaOferta() .ObterPorUsuario(id_Usuario) .Where(x => x.StatusMatricula != enumStatusMatricula.CanceladoAdm && x.StatusMatricula != enumStatusMatricula.PendenteConfirmacaoAluno) .ToList(); var resultado = PreencherDTOComInformacoesDaMatriculaOferta(listaMatriculaOferta, id_Usuario); PreencherDTOComInformacoesDoUsuarioTrilha(id_Usuario, resultado); PreencherDTOComInformacoesDaMatriculaPrograma(id_Usuario, resultado); PreencherDTOComInformacoesDoHistoricoExtraCurricular(id_Usuario, resultado); PreencherDTOComInformacoesDoHistoricoSGTC(id_Usuario, resultado); return(resultado.OrderByDescending(x => ConverterData(x.DataInicio)).ToList()); } catch (Exception ex) { throw new Exception(ex.Message); } }
public void EnviarDadosOferta(int idOferta) { var matriculaFiltro = new MatriculaOferta { Oferta = new Oferta { ID = idOferta } }; var listaProcessar = new BMMatriculaOferta().ObterPorFiltro(matriculaFiltro).ToList(); foreach (var item in listaProcessar) { var soapCliente = new moodle.IntegracaoSoapClient(); var firstOrDefault = item.MatriculaTurma.FirstOrDefault(); if (firstOrDefault != null) { soapCliente.MatricularAluno(item.Usuario.Nome, item.Usuario.CPF, item.Usuario.Email, item.Usuario.Cidade, item.Oferta.CodigoMoodle.ToString(), firstOrDefault.Turma.IDChaveExterna); } } }
public DTOMatriculas ObterMatriculasConcluintes(DateTime?inicio, DateTime?fim, int idUf) { inicio = inicio.HasValue ? inicio : DateTime.Now.AddYears(-1); fim = fim.HasValue ? fim : DateTime.Now; var listPrm = new Dictionary <string, object> { { "DataInicio", inicio }, { "DataFim", fim } }; if (idUf != 0) { listPrm.Add("IdUf", idUf); } var bmMatriculaOferta = new BMMatriculaOferta(); return (bmMatriculaOferta.ExecutarProcedure <DTOMatriculas>("DASHBOARD_REL_CONCLUINTES", listPrm) .FirstOrDefault()); }
public void AtualizarMatriculaOferta(MatriculaOferta pMatriculaOferta, bool verificarPoliticaDeConsequencia = true, bool fazerMerge = false) { try { ValidarMatriculaOfertaInformada(pMatriculaOferta); // Verifica se o usuário está bloqueado pelas políticas de consequência. if (verificarPoliticaDeConsequencia) { _bmMatriculaOferta.VerificarPoliticaDeConsequencia(pMatriculaOferta); } var bmMatriculaOferta = new BMMatriculaOferta(); if (fazerMerge) { bmMatriculaOferta.FazerMerge(pMatriculaOferta); } else { bmMatriculaOferta.Salvar(pMatriculaOferta); } //TODO: para retirar esse try catch é preciso atualizar os lugares que dependem desse metodo. } catch (PoliticaConsequenciaException) { throw; } catch { throw new AcademicoException(string.Format( "Houve um erro no salvamento da matrícula do aluno {0} ({1})", pMatriculaOferta.Usuario.Nome, pMatriculaOferta.Usuario.CPF)); } }
public void MatricularSolucaoEducacional(int idUsuario, int idSolucaoEducacional, int idOferta, List <int> pListaIdMetaIndividualAssociada, List <int> pListaIdMetaInstitucionalAssociada, AuthenticationRequest autenticacao) { Usuario userSelected = new BMUsuario().ObterPorId(idUsuario); SolucaoEducacional solucaoEducacional = new BMSolucaoEducacional().ObterPorId(idSolucaoEducacional); BMMatriculaOferta moBM = new BMMatriculaOferta(); if (solucaoEducacional == null) { throw new AcademicoException("Solução Educacional não encontrada"); } //VALIDAR SE ELE TEM ALGUMA OFERTA EXCLUSIVA PENDENTE DE CONFIRMACAO if (userSelected.ListaMatriculaOferta.Any(x => x.Oferta.ID == idOferta && x.Oferta.SolucaoEducacional.ID == idSolucaoEducacional && x.StatusMatricula == enumStatusMatricula.PendenteConfirmacaoAluno && x.Oferta.DataFim.Value.Date >= DateTime.Now.Date)) { MatriculaOferta mo = userSelected.ListaMatriculaOferta.Where(x => x.Oferta.SolucaoEducacional.ID == idSolucaoEducacional && x.StatusMatricula == enumStatusMatricula.PendenteConfirmacaoAluno).FirstOrDefault(); if (mo != null) { mo.StatusMatricula = enumStatusMatricula.Inscrito; mo.Auditoria = new Auditoria(autenticacao.Login); moBM.Salvar(mo); ValidarMetaIndividual(idUsuario, idSolucaoEducacional, pListaIdMetaIndividualAssociada, autenticacao); ValidarMetaInstitucional(idUsuario, idSolucaoEducacional, pListaIdMetaInstitucionalAssociada, autenticacao); if (!(mo.MatriculaTurma != null && mo.MatriculaTurma.Count > 0)) { try { if (mo.Oferta.TipoOferta.Equals(enumTipoOferta.Continua)) { string retornows; switch (mo.Oferta.SolucaoEducacional.Fornecedor.ID) { case (int)enumFornecedor.MoodleSebrae: moodle.IntegracaoSoapClient soapCliente = new moodle.IntegracaoSoapClient(); retornows = soapCliente.MatricularAluno( userSelected.Nome, userSelected.CPF, userSelected.Email, userSelected.Cidade, mo.Oferta.SolucaoEducacional.IDChaveExterna.ToString(), mo.MatriculaTurma.FirstOrDefault().Turma.IDChaveExterna.ToString()); break; case (int)enumFornecedor.WebAula: Turma turma = mo.MatriculaTurma.FirstOrDefault().Turma; webaula.waIntegracaoSoapClient wa = new webaula.waIntegracaoSoapClient(); webaula.AuthenticationProviderRequest aut = new webaula.AuthenticationProviderRequest(); webaula.DTOUsuario dtoUsuario = new webaula.DTOUsuario(); webaula.DTOTurma dtoTurma = new webaula.DTOTurma(); dtoTurma.IDChaveExterna = turma.IDChaveExterna; dtoUsuario.CPF = userSelected.CPF; dtoUsuario.Email = userSelected.Email; dtoUsuario.Nome = userSelected.Nome; dtoUsuario.Sexo = userSelected.Sexo; dtoUsuario.UF = userSelected.UF.Sigla; aut.Login = mo.Oferta.SolucaoEducacional.Fornecedor.Login; aut.Senha = CriptografiaHelper.Decriptografar(mo.Oferta.SolucaoEducacional.Fornecedor.Senha); retornows = wa.Matricular(aut, dtoUsuario, dtoTurma); break; } } } catch (Exception ex) { ErroUtil.Instancia.TratarErro(ex); } } if (!string.IsNullOrEmpty(mo.Usuario.Email)) { Template mensagemRecuperacaoDeSenhaSemConfirmacao = TemplateUtil.ObterInformacoes(enumTemplate.InscricaoSESucesso); string assuntoDoEmail = mensagemRecuperacaoDeSenhaSemConfirmacao.DescricaoTemplate.Substring(0, mensagemRecuperacaoDeSenhaSemConfirmacao.DescricaoTemplate.IndexOf(Environment.NewLine)); Dictionary <string, string> registros = new Dictionary <string, string>(); registros.Add("NOMESOLUCAOEDUCACIONAL", mo.Oferta.SolucaoEducacional.Nome); registros.Add("DATASISTEMA", DateTime.Now.ToString("dd'/'MM'/'yyyy HH:mm")); registros.Add("NOMEALUNO", mo.Usuario.Nome); //Envia e-mail para o usuário EmailUtil.Instancia.EnviarEmail(mo.Usuario.Email, assuntoDoEmail, this.FormatarTextoEmail(registros, mensagemRecuperacaoDeSenhaSemConfirmacao.DescricaoTemplate) ); } return; } } //Verificando se existe alguma matricula na SE. MatriculaOferta buscaMatricula = new MatriculaOferta(); buscaMatricula.Usuario = new Usuario(); buscaMatricula.Usuario.ID = userSelected.ID; List <MatriculaOferta> possiveisMatriculas = new BMMatriculaOferta().ObterPorFiltro(buscaMatricula).ToList(); if (possiveisMatriculas != null && possiveisMatriculas.Any(y => y.Oferta.SolucaoEducacional.ID == idSolucaoEducacional && !(y.StatusMatricula == enumStatusMatricula.CanceladoAdm || y.StatusMatricula == enumStatusMatricula.CanceladoAluno))) { throw new AcademicoException("Erro: O usuário já está matriculado em uma oferta desta Solução Educacional"); } //VALIDAR SE O USUARIO POSSUI ACESSO A SE bool usuarioPossuiPermissao = new BMSolucaoEducacional().VerificarSeUsuarioPossuiPermissao(idUsuario, solucaoEducacional.ID); // .ObterListaUsuariosPermitidos(); if (!usuarioPossuiPermissao) { throw new AcademicoException("Erro: O usuário Informado não possui permissão à Solução Educacional"); } //VALIDAR SE O USUARIO ESTA CURSANDO OUTRA SE if (userSelected.ListaMatriculaOferta.Any(y => y.Usuario.ID == userSelected.ID && y.StatusMatricula == enumStatusMatricula.Inscrito)) { throw new AcademicoException("Erro: O usuário já está inscrito em outra oferta."); } //VALIDAR SE O USUARIO ESTA COM ALGUM ABANDONO ATIVO if (new BMUsuarioAbandono().ValidarAbandonoAtivo(idUsuario)) { throw new AcademicoException("Erro: Existe um abandono registrado para este usuário!"); } Oferta oferta = new Oferta(); oferta = solucaoEducacional.ListaOferta.FirstOrDefault(x => x.ID == idOferta); if (oferta == null) { throw new AcademicoException("Erro: Oferta não encontrada"); } //VALIDADO OFERTA CONTINUA. if (oferta.TipoOferta.Equals(enumTipoOferta.Continua)) { Turma t = null; if (oferta.SolucaoEducacional.Fornecedor.PermiteGestaoSGUS) { t = oferta.ListaTurma.FirstOrDefault(x => x.DataFinal == null || x.DataFinal.Value.Date >= DateTime.Now.Date && x.InAberta); } int qtdInscritosNaOferta = oferta.ListaMatriculaOferta.Where(x => (x.StatusMatricula != enumStatusMatricula.CanceladoAdm && x.StatusMatricula != enumStatusMatricula.CanceladoAluno)).Count(); MatriculaOferta matriculaOferta = new MatriculaOferta() { Oferta = new BMOferta().ObterPorId(oferta.ID), Usuario = new BMUsuario().ObterPorId(userSelected.ID), Auditoria = new Auditoria(autenticacao.Login), DataSolicitacao = DateTime.Now, UF = new BMUf().ObterPorId(userSelected.UF.ID), NivelOcupacional = new BMNivelOcupacional().ObterPorID(userSelected.NivelOcupacional.ID) }; if (qtdInscritosNaOferta >= oferta.QuantidadeMaximaInscricoes) { if (oferta.FiladeEspera) { matriculaOferta.StatusMatricula = enumStatusMatricula.FilaEspera; } else { throw new AcademicoException("Erro: A quantidade máxima de alunos foi atingida"); } } else { matriculaOferta.StatusMatricula = enumStatusMatricula.Inscrito; } qtdInscritosNaOferta++; if (t != null) { MatriculaTurma matriculaTurma = new MatriculaTurma() { Turma = new BMTurma().ObterPorID(t.ID), Auditoria = new Auditoria(autenticacao.Login), DataMatricula = DateTime.Now, MatriculaOferta = matriculaOferta, DataLimite = DateTime.Today.AddDays(oferta.DiasPrazo) }; if (matriculaOferta.MatriculaTurma == null) { matriculaOferta.MatriculaTurma = new List <MatriculaTurma>(); } matriculaOferta.MatriculaTurma.Add(matriculaTurma); } moBM.Salvar(matriculaOferta); //validando se a turma já está chegando ao limite. if (qtdInscritosNaOferta > (oferta.QuantidadeMaximaInscricoes - int.Parse(ConfiguracaoSistemaUtil.ObterInformacoes(enumConfiguracaoSistema.LimiteAlertaInscricaoOferta).Registro))) { EnviarEmailLimiteOferta(oferta, matriculaOferta); } ValidarMetaIndividual(idUsuario, idSolucaoEducacional, pListaIdMetaIndividualAssociada, autenticacao); ValidarMetaInstitucional(idUsuario, idSolucaoEducacional, pListaIdMetaInstitucionalAssociada, autenticacao); try { if (matriculaOferta.Oferta.TipoOferta.Equals(enumTipoOferta.Continua) && matriculaOferta.MatriculaTurma != null) { string retornows; switch (matriculaOferta.Oferta.SolucaoEducacional.Fornecedor.ID) { case (int)enumFornecedor.MoodleSebrae: moodle.IntegracaoSoapClient soapCliente = new moodle.IntegracaoSoapClient(); retornows = soapCliente.MatricularAluno(userSelected.Nome, userSelected.CPF, userSelected.Email, userSelected.Cidade, matriculaOferta.Oferta.SolucaoEducacional.IDChaveExterna.ToString(), matriculaOferta.MatriculaTurma.FirstOrDefault().Turma.IDChaveExterna.ToString()); break; case (int)enumFornecedor.WebAula: Turma turma = matriculaOferta.MatriculaTurma.FirstOrDefault().Turma; webaula.waIntegracaoSoapClient wa = new webaula.waIntegracaoSoapClient(); webaula.AuthenticationProviderRequest aut = new webaula.AuthenticationProviderRequest(); webaula.DTOUsuario dtoUsuario = new webaula.DTOUsuario(); webaula.DTOTurma dtoTurma = new webaula.DTOTurma(); dtoTurma.IDChaveExterna = turma.IDChaveExterna; dtoUsuario.CPF = userSelected.CPF; dtoUsuario.Email = userSelected.Email; dtoUsuario.Nome = userSelected.Nome; dtoUsuario.Sexo = userSelected.Sexo; dtoUsuario.UF = userSelected.UF.Sigla; aut.Login = matriculaOferta.Oferta.SolucaoEducacional.Fornecedor.Login; aut.Senha = CriptografiaHelper.Decriptografar(matriculaOferta.Oferta.SolucaoEducacional.Fornecedor.Senha); retornows = wa.Matricular(aut, dtoUsuario, dtoTurma); break; } } } catch (Exception ex) { ErroUtil.Instancia.TratarErro(ex); } return; } //VALIDANDO A OFETA NORMAL if (oferta.TipoOferta.Equals(enumTipoOferta.Normal)) { int qtdInscritosNaOferta = oferta.ListaMatriculaOferta.Where(x => (x.StatusMatricula != enumStatusMatricula.CanceladoAdm && x.StatusMatricula != enumStatusMatricula.CanceladoAluno)).Count(); MatriculaOferta matriculaOferta = new MatriculaOferta() { Oferta = new BMOferta().ObterPorId(oferta.ID), Usuario = new BMUsuario().ObterPorId(userSelected.ID), Auditoria = new Auditoria(autenticacao.Login), DataSolicitacao = DateTime.Now, UF = new BMUf().ObterPorId(userSelected.UF.ID), NivelOcupacional = new BMNivelOcupacional().ObterPorID(userSelected.NivelOcupacional.ID) }; if (qtdInscritosNaOferta >= oferta.QuantidadeMaximaInscricoes) { if (oferta.FiladeEspera) { matriculaOferta.StatusMatricula = enumStatusMatricula.FilaEspera; } else { throw new AcademicoException("Erro: A quantidade máxima de alunos foi atingida"); } } else { matriculaOferta.StatusMatricula = enumStatusMatricula.Inscrito; } BMMatriculaOferta bmMatriculaOferta = new BMMatriculaOferta(); bmMatriculaOferta.Salvar(matriculaOferta); qtdInscritosNaOferta++; //validando se a turma já está chegando ao limite. if (qtdInscritosNaOferta > (oferta.QuantidadeMaximaInscricoes - int.Parse(ConfiguracaoSistemaUtil.ObterInformacoes(enumConfiguracaoSistema.LimiteAlertaInscricaoOferta).Registro))) { EnviarEmailLimiteOferta(oferta, matriculaOferta); } ValidarMetaIndividual(idUsuario, idSolucaoEducacional, pListaIdMetaIndividualAssociada, autenticacao); ValidarMetaInstitucional(idUsuario, idSolucaoEducacional, pListaIdMetaInstitucionalAssociada, autenticacao); return; } throw new Exception("Não foi encontrado ofertas para esse usuário!"); }
public ManterMatriculaOferta() { _bmMatriculaOferta = new BMMatriculaOferta(); }
public ManterFormacaoDeMultiplicadores() { _bmMatriculaOferta = new BMMatriculaOferta(); _bmOferta = new BMOferta(); }
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 RetornoWebService AtualizarNotaAlunoMoodle(string chaveExternaSolucao, string chaveExternaTurma, string codCurso, string idUsuario, string nota, string dataConclusao) { try { //Pega a última turma var turma = new BMTurma().ObterUltimaTurmaPorChaveExterna(chaveExternaTurma); //Pega o id do pelo cpf(idUsuario) usuário var usuario = new BMUsuario().ObterPorCPF(idUsuario); if (usuario?.ID > 0) { //Pegar a MatriculaOferta var bmMatriculaOrfeta = new BMMatriculaOferta(); var matriculaOferta = bmMatriculaOrfeta.ObterPorOfertaEUsuario(turma.Oferta.ID, usuario.ID); //Pegar a MatriculaTurma var matriculaTurma = new BMMatriculaTurma().ObterMatriculaTurma(usuario.ID, turma.Oferta.ID); double notaFinal; if (double.TryParse(nota, out notaFinal)) { matriculaTurma.MediaFinal = notaFinal; } matriculaTurma.DataTermino = DateTime.Now; new BMMatriculaTurma().Salvar(matriculaTurma); if (notaFinal >= 7) { matriculaOferta.StatusMatricula = enumStatusMatricula.Aprovado; } else { matriculaOferta.StatusMatricula = enumStatusMatricula.Reprovado; } bmMatriculaOrfeta.Salvar(matriculaOferta); return(new RetornoWebService() { Erro = 0, Mensagem = string.Empty }); } return(new RetornoWebService() { Erro = 1, Mensagem = "usuario não encontrado" }); } catch (Exception ex) { return(new RetornoWebService() { Erro = 1, Mensagem = ex.Message }); } }
/// <summary> /// Método usado para gerar o certificado de cursos normais e de trilha /// </summary> /// <param name="pTexto"></param> /// <param name="pIdMatriculaOferta"></param> /// <param name="pIdUsuarioTrilha"></param> /// <returns></returns> public static string FormatarTextoCertificadoTrilhaTurma(string pTexto, int pIdMatriculaPrograma, int pIdMatriculaOferta, int pIdUsuarioTrilha) { var tI = new CultureInfo("pt-Br", true).TextInfo; if (pIdMatriculaPrograma > 0) { var matriculaCapacitacao = new BMMatriculaCapacitacao().ObterPorId(pIdMatriculaPrograma); if (matriculaCapacitacao != null) { var nomeUsuario = tI.ToTitleCase(matriculaCapacitacao.Usuario.Nome.ToLower()); var dataInicioTurma = string.Empty; var dataFimTurma = string.Empty; if (matriculaCapacitacao.ListaMatriculaTurmaCapacitacao != null && matriculaCapacitacao.ListaMatriculaTurmaCapacitacao.Any()) { if (matriculaCapacitacao.ListaMatriculaTurmaCapacitacao.FirstOrDefault().TurmaCapacitacao != null && matriculaCapacitacao.ListaMatriculaTurmaCapacitacao.FirstOrDefault() .TurmaCapacitacao.DataInicio.HasValue) { dataInicioTurma = matriculaCapacitacao.ListaMatriculaTurmaCapacitacao.FirstOrDefault() .TurmaCapacitacao.DataInicio.Value.ToString("dd/MM/yyyy"); } if (matriculaCapacitacao.ListaMatriculaTurmaCapacitacao.FirstOrDefault().TurmaCapacitacao != null && matriculaCapacitacao.ListaMatriculaTurmaCapacitacao.FirstOrDefault() .TurmaCapacitacao.DataFim.HasValue) { dataFimTurma = matriculaCapacitacao.ListaMatriculaTurmaCapacitacao.FirstOrDefault() .TurmaCapacitacao.DataFim.Value.ToString("dd/MM/yyyy"); } } pTexto = pTexto .Replace("#CODIGOCERTIFICADO", matriculaCapacitacao.CDCertificado) .Replace("#DATEGERACAOCERTIFICADO", matriculaCapacitacao.DataGeracaoCertificado.HasValue ? matriculaCapacitacao.DataGeracaoCertificado.Value.ToString("dd/MM/yyyy") : string.Empty) .Replace("#DATAGERACAOCERTIFICADO", matriculaCapacitacao.DataGeracaoCertificado.HasValue ? matriculaCapacitacao.DataGeracaoCertificado.Value.ToString("dd/MM/yyyy") : string.Empty) .Replace("#DATASISTEMAEXTENSO", DateTime.Now.ToLongDateString().ToString()) .Replace("#DATASISTEMA", DateTime.Now.ToString("dd/MM/yyyy")) .Replace("#DATAHORASISTEMA", DateTime.Now.ToString("dd/MM/yyyy HH:mm")) .Replace("#ALUNO", nomeUsuario) .Replace("#CPF", WebFormHelper.FormatarCPF(matriculaCapacitacao.Usuario.CPF)) .Replace("#EMAILALUNO", matriculaCapacitacao.Usuario.Email) .Replace("#OFERTA", matriculaCapacitacao.Capacitacao.Nome) .Replace("#NOMEPROGRAMA", matriculaCapacitacao.Capacitacao.Programa.Nome) .Replace("#DATAINICIOOFERTA", matriculaCapacitacao.Capacitacao.DataInicio.ToString("dd/MM/yyyy")) .Replace("#DATAFIMOFERTA", matriculaCapacitacao.Capacitacao.DataFim.HasValue ? matriculaCapacitacao.Capacitacao.DataFim.Value.ToString("dd/MM/yyyy") : string.Empty) .Replace("#DATAMATRICULA", matriculaCapacitacao.ListaMatriculaTurmaCapacitacao != null ? matriculaCapacitacao.ListaMatriculaTurmaCapacitacao.FirstOrDefault() .DataMatricula.ToString("dd/MM/yyyy") : string.Empty); var matriculaTurmaCapacitacao = matriculaCapacitacao.ListaMatriculaTurmaCapacitacao != null ? matriculaCapacitacao.ListaMatriculaTurmaCapacitacao.FirstOrDefault() : null; var dataTermino = matriculaTurmaCapacitacao != null && matriculaTurmaCapacitacao.MatriculaCapacitacao != null && matriculaTurmaCapacitacao.MatriculaCapacitacao.DataFim.HasValue ? matriculaTurmaCapacitacao.MatriculaCapacitacao.DataFim.Value.ToString("dd/MM/yyyy") : ""; pTexto = pTexto.Replace("#DATATERMINO", dataTermino); pTexto.Replace("#TURMA", matriculaCapacitacao.ListaMatriculaTurmaCapacitacao != null ? matriculaCapacitacao.ListaMatriculaTurmaCapacitacao.FirstOrDefault() .TurmaCapacitacao.Nome : string.Empty) .Replace("#STATUS", matriculaCapacitacao.StatusMatriculaFormatado) .Replace("#DATAINICIOTURMA", dataInicioTurma) .Replace("#DATAFIMTURMA", dataFimTurma); return(pTexto); } } if (pIdMatriculaOferta > 0) { MatriculaOferta matriculaOferta = new BMMatriculaOferta().ObterPorID(pIdMatriculaOferta); if (matriculaOferta != null) { var nomeUsuario = tI.ToTitleCase(matriculaOferta.Usuario.Nome.ToLower()); var dataInicioTurma = string.Empty; var dataFimTurma = string.Empty; var matriculaTurma = matriculaOferta.MatriculaTurma.FirstOrDefault(); if (matriculaOferta.MatriculaTurma != null && matriculaTurma != null) { if (matriculaTurma.Turma != null) { dataInicioTurma = matriculaTurma.Turma.DataInicio.ToString("dd/MM/yyyy"); } if (matriculaTurma.Turma != null && matriculaTurma.Turma.DataFinal.HasValue) { dataFimTurma = matriculaTurma.Turma.DataFinal.Value.ToString("dd/MM/yyyy"); } } int totalHoras = matriculaOferta.Oferta.SolucaoEducacional.ListaItemTrilha .Where(x => x.Aprovado == enumStatusSolucaoEducacionalSugerida.Aprovado) .Sum(x => x.CargaHoraria); return(pTexto .Replace("#DATASISTEMAEXTENSO", DateTime.Now.ToLongDateString().ToString()) .Replace("#DATASISTEMA", DateTime.Now.ToString("dd/MM/yyyy")) .Replace("#DATAHORASISTEMA", DateTime.Now.ToString("dd/MM/yyyy HH:mm")) .Replace("#ALUNO", nomeUsuario) .Replace("#CPF", WebFormHelper.FormatarCPF(matriculaOferta.Usuario.CPF)) .Replace("#EMAILALUNO", matriculaOferta.Usuario.Email) .Replace("#CARGAHORARIASOLUCAOSEBRAE", totalHoras.ToString()) .Replace("#OFERTA", matriculaOferta.Oferta.Nome) .Replace("#CARGAHORARIA", matriculaOferta.Oferta.CargaHoraria.ToString()) .Replace("#NOMESE", matriculaOferta.Oferta.SolucaoEducacional.Nome) .Replace("#DATAINICIOOFERTA", matriculaTurma != null ? matriculaTurma.Turma.DataInicio.ToString("dd/MM/yyyy") : "") .Replace("#DATAFIMOFERTA", matriculaTurma.Turma.DataFinal.HasValue ? matriculaTurma.Turma.DataFinal.Value.ToString("dd/MM/yyyy") : string.Empty) .Replace("#DATAMATRICULA", matriculaOferta.MatriculaTurma != null ? matriculaTurma.DataMatricula.ToString("dd/MM/yyyy") : string.Empty) .Replace("#DATATERMINO", matriculaOferta.MatriculaTurma != null && matriculaTurma.DataTermino.HasValue ? matriculaTurma .DataTermino.Value.ToString("dd/MM/yyyy") : string.Empty) .Replace("#EMENTA", matriculaOferta.Oferta.SolucaoEducacional.Ementa) .Replace("#TURMA", matriculaOferta.MatriculaTurma != null ? matriculaTurma.Turma.Nome : string.Empty) .Replace("#PROFESSOR", matriculaTurma != null && matriculaTurma.Turma.Professores.Any() ? string.Join(", ", matriculaTurma.Turma.Professores.Select(x => x.Nome).ToArray()) : string.Empty) .Replace("#LOCAL", matriculaTurma.Turma.Local != null ? matriculaTurma.Turma.Local : "Sem Local") .Replace("#CODIGOCERTIFICADO", matriculaOferta.CDCertificado) .Replace("#MEDIAFINALTURMA", matriculaOferta.MatriculaTurma != null && matriculaTurma.MediaFinal.HasValue ? matriculaTurma.MediaFinal.Value.ToString() : string.Empty) .Replace("#DATEGERACAOCERTIFICADO", matriculaOferta.DataGeracaoCertificado.HasValue ? matriculaOferta.DataGeracaoCertificado.Value.ToString("dd/MM/yyyy") : string.Empty) .Replace("#DATAGERACAOCERTIFICADO", matriculaOferta.DataGeracaoCertificado.HasValue ? matriculaOferta.DataGeracaoCertificado.Value.ToString("dd/MM/yyyy") : string.Empty) .Replace("#NOTAFINAL", matriculaOferta.MatriculaTurma != null && matriculaTurma.MediaFinal.HasValue ? matriculaTurma.MediaFinal.Value.ToString() : string.Empty) .Replace("#STATUS", matriculaOferta.StatusMatriculaFormatado) .Replace("#DATAINICIOTURMA", dataInicioTurma) .Replace("#DATAFIMTURMA", dataFimTurma) .Replace("#TEXTOPORTAL", matriculaOferta.Oferta.SolucaoEducacional.Apresentacao != null ? Regex.Replace(matriculaOferta.Oferta.SolucaoEducacional.Apresentacao, "<.*?>", string.Empty) : string.Empty) .Replace("#INFORMACOESADICIONAIS", matriculaOferta.Oferta.InformacaoAdicional != null ? Regex.Replace(matriculaOferta.Oferta.InformacaoAdicional, "<.*?>", string.Empty) : string.Empty) .Replace("#AREATEMATICA", matriculaOferta.Oferta.SolucaoEducacional.ListaAreasTematicas.Any() ? string.Join(", ", matriculaOferta.Oferta.SolucaoEducacional.ListaAreasTematicas.Select( x => x.AreaTematica.Nome).ToArray()) : string.Empty) ); } } if (pIdUsuarioTrilha > 0) { MatriculaOferta matriculaOferta = new BMMatriculaOferta().ObterPorID(pIdMatriculaOferta); var bmUsuarioTrilha = new BMUsuarioTrilha(); var usuarioTrilha = bmUsuarioTrilha.ObterPorId(pIdUsuarioTrilha); if (usuarioTrilha == null || !usuarioTrilha.StatusMatricula.Equals(enumStatusMatricula.Aprovado)) { return("Erro ao gerar o certificado"); } var nomeUsuario = tI.ToTitleCase(usuarioTrilha.Usuario.Nome.ToLower()); var cargaHoraria = bmUsuarioTrilha.ObterTotalCargaHoraria(usuarioTrilha); return(pTexto .Replace("#DATASISTEMAEXTENSO", DateTime.Now.ToLongDateString().ToString()) .Replace("#DATASISTEMA", DateTime.Now.ToString("dd/MM/yyyy")) .Replace("#DATAHORASISTEMA", DateTime.Now.ToString("dd/MM/yyyy HH:mm")) .Replace("#ALUNO", nomeUsuario) .Replace("#CPF", WebFormHelper.FormatarCPF(usuarioTrilha.Usuario.CPF)) .Replace("#EMAILALUNO", usuarioTrilha.Usuario.Email) .Replace("#TRILHANIVEL", usuarioTrilha.TrilhaNivel.Nome) .Replace("#TRILHA", usuarioTrilha.TrilhaNivel.Trilha.Nome) .Replace("#DATALIMITE", usuarioTrilha.DataLimite.ToString("dd/MM/yyyy")) .Replace("#DATAINICIOTRILHA", usuarioTrilha.DataInicio.ToString("dd/MM/yyyy")) .Replace("#CARGAHORARIASOLUCAOSEBRAE", cargaHoraria.ToString()) .Replace("#DATAFIMTRILHA", usuarioTrilha.DataFim.HasValue ? usuarioTrilha.DataFim.Value.ToString("dd/MM/yyyy") : string.Empty) .Replace("#MEDIAFINALTRILHA", usuarioTrilha.NotaProva.HasValue ? usuarioTrilha.NotaProva.Value.ToString() : string.Empty) .Replace("#CODIGOCERTIFICADO", usuarioTrilha.CDCertificado) .Replace("#CARGAHORARIA", cargaHoraria.ToString()) .Replace("#DATEGERACAOCERTIFICADO", usuarioTrilha.DataGeracaoCertificado.HasValue ? usuarioTrilha.DataGeracaoCertificado.Value.ToString("dd/MM/yyyy") : string.Empty) .Replace("#DATAGERACAOCERTIFICADO", usuarioTrilha.DataGeracaoCertificado.HasValue ? usuarioTrilha.DataGeracaoCertificado.Value.ToString("dd/MM/yyyy") : string.Empty)); } return("Erro ao gerar o certificado"); }
public static CertificadoTemplate ConsultarCertificado(int pIdMatriculaPrograma, int pIdMatriculaOferta, int pIdUsuarioTrilha, int emitidoPeloGestor) { if (pIdMatriculaPrograma > 0) { var matriculaCapacitacao = (new BMMatriculaCapacitacao()).ObterPorId(pIdMatriculaPrograma); if (matriculaCapacitacao == null) { return(null); } if (matriculaCapacitacao.Capacitacao.Certificado == null) { return(null); } if (matriculaCapacitacao.Capacitacao.Certificado.ID == 0) { return(null); } if (matriculaCapacitacao.StatusMatricula == enumStatusMatricula.Aprovado || matriculaCapacitacao.StatusMatricula == enumStatusMatricula.Concluido || matriculaCapacitacao.StatusMatricula == enumStatusMatricula.AprovadoComoMultiplicador || matriculaCapacitacao.StatusMatricula == enumStatusMatricula.AprovadoComoMultiplicadorComAcompanhamento || matriculaCapacitacao.StatusMatricula == enumStatusMatricula.AprovadoComoFacilitador || matriculaCapacitacao.StatusMatricula == enumStatusMatricula.AprovadoComoFacilitadorComAcompanhamento || matriculaCapacitacao.StatusMatricula == enumStatusMatricula.AprovadoComoConsultor || matriculaCapacitacao.StatusMatricula == enumStatusMatricula.AprovadoComoConsultorComAcompanhamento || matriculaCapacitacao.StatusMatricula == enumStatusMatricula.AprovadoComoModerador || matriculaCapacitacao.StatusMatricula == enumStatusMatricula.AprovadoComoModeradorComAcompanhamento | matriculaCapacitacao.StatusMatricula == enumStatusMatricula.AprovadoComoFacilitadorConsultor || matriculaCapacitacao.StatusMatricula == enumStatusMatricula.AprovadoComoGestor) { if (string.IsNullOrEmpty(matriculaCapacitacao.CDCertificado)) { matriculaCapacitacao.CDCertificado = WebFormHelper.ObterStringAleatoria(); matriculaCapacitacao.DataGeracaoCertificado = DateTime.Now; if (emitidoPeloGestor > 0) { matriculaCapacitacao.CertificadoEmitidoPorGestor = emitidoPeloGestor; } new BMMatriculaCapacitacao().Salvar(matriculaCapacitacao); } return(new BMCertificadoTemplate().ObterPorID(matriculaCapacitacao.Capacitacao.Certificado.ID)); } return(null); } if (pIdMatriculaOferta > 0) { var mo = new BMMatriculaOferta().ObterPorID(pIdMatriculaOferta); if (!(mo != null && mo.Oferta.CertificadoTemplate != null && mo.Oferta.CertificadoTemplate.ID > 0)) { return(null); } if (mo.StatusMatricula == enumStatusMatricula.Aprovado || mo.StatusMatricula == enumStatusMatricula.Concluido || mo.StatusMatricula == enumStatusMatricula.AprovadoComoMultiplicador || mo.StatusMatricula == enumStatusMatricula.AprovadoComoMultiplicadorComAcompanhamento || mo.StatusMatricula == enumStatusMatricula.AprovadoComoFacilitador || mo.StatusMatricula == enumStatusMatricula.AprovadoComoFacilitadorComAcompanhamento || mo.StatusMatricula == enumStatusMatricula.AprovadoComoConsultor || mo.StatusMatricula == enumStatusMatricula.AprovadoComoConsultorComAcompanhamento || mo.StatusMatricula == enumStatusMatricula.AprovadoComoModerador || mo.StatusMatricula == enumStatusMatricula.AprovadoComoModeradorComAcompanhamento | mo.StatusMatricula == enumStatusMatricula.AprovadoComoFacilitadorConsultor || mo.StatusMatricula == enumStatusMatricula.AprovadoComoGestor ) { if (string.IsNullOrEmpty(mo.CDCertificado)) { mo.CDCertificado = WebFormHelper.ObterStringAleatoria(); mo.DataGeracaoCertificado = DateTime.Now; if (emitidoPeloGestor > 0) { mo.CertificadoEmitidoPorGestor = emitidoPeloGestor; } new BMMatriculaOferta().Salvar(mo); } return(new BMCertificadoTemplate().ObterPorID(mo.Oferta.CertificadoTemplate.ID)); } return(null); } if (pIdUsuarioTrilha > 0) { var bmUsuarioTrilha = new BMUsuarioTrilha(); UsuarioTrilha ut = bmUsuarioTrilha.ObterPorId(pIdUsuarioTrilha); if ( !(ut != null && ut.TrilhaNivel.CertificadoTemplate != null && ut.TrilhaNivel.CertificadoTemplate.ID > 0)) { return(null); } // inicio #2720 // ajuste feito pois não existe status concluido para usuariotrilha, deve ser aprovado. if (ut.StatusMatricula == enumStatusMatricula.Concluido) { ut.StatusMatricula = enumStatusMatricula.Aprovado; bmUsuarioTrilha.Salvar(ut); } // fim #2720 if (ut.StatusMatricula == enumStatusMatricula.Aprovado) { if (string.IsNullOrEmpty(ut.CDCertificado)) { ut.CDCertificado = WebFormHelper.ObterStringAleatoria(); ut.DataGeracaoCertificado = DateTime.Now; bmUsuarioTrilha.Salvar(ut); } return(new BMCertificadoTemplate().ObterPorID(ut.TrilhaNivel.CertificadoTemplate.ID)); } else { return(null); } } else { return(null); } }
public CertificadoTemplate ObterCertificado(int pIdMatriculaOferta, int pIdUsuarioTrilha) { CertificadoTemplate certificadoTemplate = null; try { if (pIdMatriculaOferta > 0) { MatriculaOferta mo = new BMMatriculaOferta().ObterPorID(pIdMatriculaOferta); if (!(mo != null && mo.Oferta.CertificadoTemplate != null && mo.Oferta.CertificadoTemplate.ID > 0)) { return(certificadoTemplate); } if (mo.StatusMatricula == enumStatusMatricula.Concluido) { if (string.IsNullOrEmpty(mo.CDCertificado)) { mo.CDCertificado = InfraEstrutura.Core.Helper.WebFormHelper.ObterStringAleatoria(); mo.DataGeracaoCertificado = DateTime.Now; new BMMatriculaOferta().Salvar(mo); } certificadoTemplate = new BMCertificadoTemplate().ObterPorID(mo.Oferta.CertificadoTemplate.ID); } else { return(null); } } else if (pIdUsuarioTrilha > 0) { UsuarioTrilha ut = new BMUsuarioTrilha().ObterPorId(pIdUsuarioTrilha); if (!(ut != null && ut.TrilhaNivel.CertificadoTemplate != null && ut.TrilhaNivel.CertificadoTemplate.ID > 0)) { return(certificadoTemplate); } if (ut.StatusMatricula == enumStatusMatricula.Aprovado) { if (string.IsNullOrEmpty(ut.CDCertificado)) { ut.CDCertificado = InfraEstrutura.Core.Helper.WebFormHelper.ObterStringAleatoria(); ut.DataGeracaoCertificado = DateTime.Now; new BMUsuarioTrilha().Salvar(ut); } return(new BMCertificadoTemplate().ObterPorID(ut.TrilhaNivel.CertificadoTemplate.ID)); } else { return(certificadoTemplate); } } else { return(certificadoTemplate); } } catch (AcademicoException ex) { throw ex; } catch (Exception ex) { ErroUtil.Instancia.TratarErro(ex); } return(certificadoTemplate); }