private void ValidarMetaInstitucional(int pUsuario, int pSolucaoEducacional, List <int> pListaIdMetaInstitucionalAssociada, AuthenticationRequest autenticacao) { try { MetaInstitucional mi = null; if (pListaIdMetaInstitucionalAssociada != null && pListaIdMetaInstitucionalAssociada.Count > 0) { foreach (int IdMetaIndividualAssociada in pListaIdMetaInstitucionalAssociada) { mi = new BMMetaInstitucional().ObterPorID(IdMetaIndividualAssociada); if (!mi.ListaItensMetaInstitucional.Any(x => x.Usuario.ID == pUsuario && x.SolucaoEducacional.ID == pSolucaoEducacional)) { mi.ListaItensMetaInstitucional.Add(new ItemMetaInstitucional() { Auditoria = new Auditoria(autenticacao.Login), MetaInstitucional = new BMMetaInstitucional().ObterPorID(mi.ID), SolucaoEducacional = new BMSolucaoEducacional().ObterPorId(pSolucaoEducacional), Usuario = new BMUsuario().ObterPorId(mi.ID), }); using (BMMetaInstitucional miBM = new BMMetaInstitucional()) miBM.Salvar(mi); } } SolucaoEducacional se = null; using (BMSolucaoEducacional seBM = new BMSolucaoEducacional()) se = seBM.ObterPorId(pSolucaoEducacional); Usuario user = null; using (BMUsuario userBM = new BMUsuario()) user = userBM.ObterPorId(pUsuario); foreach (var tagSe in se.ListaTags) { UsuarioTag ut = user.ListaTag.FirstOrDefault(x => x.Tag.ID == tagSe.ID); if (ut == null) { user.ListaTag.Add(new UsuarioTag() { Usuario = new BMUsuario().ObterPorId(pUsuario), Auditoria = new Auditoria(autenticacao.Login), Tag = new BMTag().ObterPorID(tagSe.Tag.ID), Adicionado = false }); } using (BMUsuario userBM = new BMUsuario()) userBM.Salvar(user); } } } catch { } }
public void AtualizarPermissoesSolucaoVinculada(SolucaoEducacional solucao) { IList <OfertaPermissao> ofertaPermissao = new List <OfertaPermissao>(); foreach (var item in solucao.ListaPermissao) { ofertaPermissao.Add(new OfertaPermissao() { NivelOcupacional = item.NivelOcupacional, Perfil = item.Perfil, QuantidadeVagasPorEstado = item.QuantidadeVagasPorEstado, Uf = item.Uf }); } foreach (var oferta in solucao.ListaOferta) { foreach (var permissao in ofertaPermissao) { permissao.Oferta = oferta; } oferta.ListaPermissao = ofertaPermissao; try { bmOferta.Salvar(oferta); } catch { continue; } } }
public override bool Equals(object obj) { var objeto = obj as SolucaoEducacionalAreaTematica; return(objeto == null ? false : SolucaoEducacional.Equals(objeto.SolucaoEducacional) && AreaTematica.Equals(objeto.AreaTematica)); }
public IList <SolucaoEducacional> BuscarporNome(SolucaoEducacional pSolucaoEducacional) { // return repositorio.GetByProperty("Nome", pSolucaoEducacional.Nome); var query = repositorio.session.Query <SolucaoEducacional>(); return(query.Where(x => x.ID == pSolucaoEducacional.ID).ToList <SolucaoEducacional>()); }
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); }
private void ValidarSolucaoEducacionalInformado(SolucaoEducacional pSolucaoEducacional) { ValidarInstancia(pSolucaoEducacional); //Nome da Solução Educacional if (string.IsNullOrWhiteSpace(pSolucaoEducacional.Nome)) { throw new AcademicoException("Nome. Campo Obrigatório"); } //Fornecedor if ((pSolucaoEducacional.Fornecedor) == null || (pSolucaoEducacional != null && pSolucaoEducacional.Fornecedor.ID <= 0)) { throw new AcademicoException("Fornecedor. Campo Obrigatório"); } //Forma de Aquisição if ((pSolucaoEducacional.FormaAquisicao) == null || (pSolucaoEducacional != null && pSolucaoEducacional.FormaAquisicao.ID <= 0)) { throw new AcademicoException("Forma de Aquisição. Campo Obrigatório"); } //Categoria //if ((pSolucaoEducacional.CategoriaConteudo) == null || (pSolucaoEducacional != null && pSolucaoEducacional.CategoriaConteudo.ID <= 0)) throw new AcademicoException("Categoria. Campo Obrigatório"); VerificarConsistenciaUk(pSolucaoEducacional); }
/// <summary> /// Alterar (faz update) nas informações de uma solução educacional. /// </summary> /// <param name="pSolucaoEducacional">Informações de uma solução educacional</param> /// <param name="urlBase">URL para criação do NODE ID</param> public void AlterarSolucaoEducacional(SolucaoEducacional pSolucaoEducacional, string urlBase) { var manterOferta = new ManterOferta(); try { base.PreencherInformacoesDeAuditoria(pSolucaoEducacional); bmSolucaoEducacional.Salvar(pSolucaoEducacional); AtualizarNodeIdDrupal(pSolucaoEducacional); } catch (AlertException ex) { throw ex; } catch (AcademicoException ex) { throw ex; } catch (Exception ex) { ErroUtil.Instancia.TratarErro(ex); } finally { Task.Run(() => manterOferta.AtualizarPermissoesSolucaoVinculada(pSolucaoEducacional)); } }
public override bool Equals(object obj) { SolucaoEducacionalTags objeto = obj as SolucaoEducacionalTags; return(objeto == null ? false : SolucaoEducacional.Equals(objeto.SolucaoEducacional) && Tag.Equals(objeto.Tag)); }
public int?SalvaNodeDrupalRest(SolucaoEducacional registro, BMConfiguracaoSistema bmConfiguracaoSistema = null, BMLogSincronia bmLogSincronia = null, Usuario usuarioLogado = null) { var postParameters = DrupalUtil.InitPostParameters(registro.ID, registro.Nome, registro.Apresentacao, "solucao", registro.Ativo); /*1 - Cursos Online; 2 - Cursos Presenciais; 3 - Cursos Mistos; 4 - Trilhas; 5 - Programas*/ int tipoDeSolucao; switch (registro.FormaAquisicao.ID) { // Curso presencial. case 22: tipoDeSolucao = 2; break; // Curso misto. case 40: tipoDeSolucao = 3; break; // Jogo online, Jogo presencial e Jogo misto. case 43: case 44: case 45: case 113: tipoDeSolucao = 6; break; default: tipoDeSolucao = 1; break; } postParameters.Add("data[field_tipo_de_solucao]", tipoDeSolucao.ToString()); DrupalUtil.PermissoesAreaTematica(registro.ListaAreasTematicas.Select(x => x.AreaTematica.ID).ToList(), ref postParameters); DrupalUtil.PermissoesUf(registro.ListaPermissao.Where(p => p.Uf != null).Select(x => x.Uf.ID).ToList(), ref postParameters); DrupalUtil.PermissoesPerfil( registro.ListaPermissao.Where(p => p.Perfil != null).Select(x => x.Perfil.ID).ToList(), ref postParameters); DrupalUtil.PermissoesNivelOcupacional( registro.ListaPermissao.Where(p => p.NivelOcupacional != null) .Select(x => x.NivelOcupacional.ID) .ToList(), ref postParameters); try { return(DrupalUtil.SalvaNodeDrupalRest(postParameters, true, bmConfiguracaoSistema, bmLogSincronia, usuarioLogado)); } catch (Exception) { throw new AlertException("Erro na sincronização. Tente salvar novamente."); } }
internal void PreencherComboSolucaoEducacional(SolucaoEducacional solucaoEducacional, bool desabilitaCombo = false) { this.ObterSolucoesEducacionaisDaCategoria(solucaoEducacional.CategoriaConteudo.ID); //Seta o valor na combo de Solucao Educacional WebFormHelper.SetarValorNaCombo(solucaoEducacional.ID.ToString(), this.ddlSolucao, true); this.ddlOferta.Items.Clear(); }
internal void PreencherComboCategoriaSolucaoEducacional(SolucaoEducacional solucaoEducacional) { this.PreencherCombos(); if (ddlCategoria.SelectedIndex > 0) { WebFormHelper.SetarValorNaCombo(solucaoEducacional.CategoriaConteudo.ID.ToString(), this.ddlCategoria, true); } }
public void Salvar(SolucaoEducacional pSolucaoEducacional, bool validar = true) { if (validar) { ValidarSolucaoEducacionalInformado(pSolucaoEducacional); } repositorio.Salvar(pSolucaoEducacional); }
public override int GetHashCode() { int result = 17; result = 31 * result + ID; result = 31 * result + SolucaoEducacional.GetHashCode(); result = 31 * result + ProdutoSebrae.GetHashCode(); return(result); }
public override int GetHashCode() { int result = 17; result = 31 * result + ID; result = 31 * result + SolucaoEducacional.GetHashCode(); result = 31 * result + Cargo.GetHashCode(); return(result); }
/// <summary> /// Verifica se a classe Solução Educacional possui dependências, ou seja, se possui registros filhos de entidades gerenciadas. /// </summary> /// <param name="pSolucaoEducacional">Objeto da Classe SolucaoEducacional</param> /// <observacoes>Este método normamente é codificado antes da exclusão de um objeto, pois por default, não são permitidas /// exclusões em cascata de entidades gerenciadas. (delete cascade )</observacoes> /// <returns>Retorna True, caso a classe Solução Educacional possua dependências, ou seja, registros filhos. /// Retorna False, caso a classe Solução Educacional não possua dependências, ou seja, não possua registros filhos. </returns> protected override bool ValidarDependencias(object pSolucaoEducacional) { SolucaoEducacional solucaoEducacional = (SolucaoEducacional)pSolucaoEducacional; return((solucaoEducacional.ListaItemTrilha != null && solucaoEducacional.ListaItemTrilha.Count > 0) || (solucaoEducacional.ListaOferta != null && solucaoEducacional.ListaOferta.Any()) || (solucaoEducacional.ListaProgramaSolucaoEducacional != null && solucaoEducacional.ListaProgramaSolucaoEducacional.Count > 0) ); }
public void Excluir(SolucaoEducacional pSolucaoEducacional) { if (ValidarDependencias(pSolucaoEducacional)) { throw new AcademicoException("Exclusão de registro negada. Existem Registros Dependentes desta Solução Educacional."); } repositorio.Excluir(pSolucaoEducacional); }
public SolucaoEducacional ObterPorIDFornecedorEIdChaveExterna(string loginFornecedor, string idChaveExterna) { SolucaoEducacional solucaoEducacional = null; var query = repositorio.session.Query <SolucaoEducacional>(); solucaoEducacional = query.FirstOrDefault(x => x.Fornecedor.Login == loginFornecedor && x.IDChaveExterna == idChaveExterna); return(solucaoEducacional); }
private void ObterInformacoesDaOfertaPorSolucaoEducacional(int idSolucaoEducacional) { var solucaoEducacional = new SolucaoEducacional() { ID = idSolucaoEducacional }; var listaOferta = new ManterOferta().ObterOfertaPorSolucaoEducacional(solucaoEducacional); WebFormHelper.PreencherLista(listaOferta, ddlOferta, false, true); }
public IQueryable <SolucaoEducacional> ObterPorFiltro(SolucaoEducacional pSolucaoEducacional, int ufPermitida) { var query = repositorio.session.Query <SolucaoEducacional>(); if (pSolucaoEducacional != null) { if (!string.IsNullOrWhiteSpace(pSolucaoEducacional.Nome)) { query = query.Where(x => x.Nome.Trim().ToUpper().Contains(pSolucaoEducacional.Nome.Trim().ToUpper())); } if (pSolucaoEducacional.FormaAquisicao != null) { query = query.Where(x => x.FormaAquisicao.ID == pSolucaoEducacional.FormaAquisicao.ID); } if (pSolucaoEducacional.Fornecedor != null) { query = query.Where(x => x.Fornecedor.ID == pSolucaoEducacional.Fornecedor.ID); } if (!string.IsNullOrWhiteSpace(pSolucaoEducacional.IDChaveExterna)) { query = query.Where( x => x.IDChaveExterna.Trim() .ToUpper() .Contains(pSolucaoEducacional.IDChaveExterna.Trim().ToUpper())); } } // Gestores só podem ver soluções educacionais do seu estado var bmUsuario = new BMUsuario(); var usuario = bmUsuario.ObterUsuarioLogado(); if (usuario.IsGestor()) { var uf = usuario.UF; FiltrarPermissaoVisualizacao(ref query, uf.ID); } if (ufPermitida > 0) { query = query.Where(x => x.ListaPermissao.Any(l => l.Uf.ID == ufPermitida)); } return(query); }
public bool AlterouSolucaoEducacional(int idOferta, SolucaoEducacional novaSolucao) { var oferta = repositorio.session.Query <Oferta>().First(s => s.ID == idOferta); if (oferta.SolucaoEducacional == null) { return(novaSolucao != null); } else { return(novaSolucao == null || oferta.SolucaoEducacional.ID != novaSolucao.ID); } }
private static bool UsuarioPossuiPermissaoSolucao(Usuario usuario, SolucaoEducacional solucao, ref DTODisponibilidadeSolucaoEducacional retorno) { // Verifica se o usuário não tiver acesso à Solução Educacional. if (solucao.UsuarioPossuiPermissaoMatricula(usuario)) { return(false); } retorno.TextoDisponibilidade = "Solução não disponível para seu perfil. Entre em contato no fale conosco."; retorno.CodigoDisponibilidade = (int)enumDisponibilidadeSolucaoEducacional.NaoPossuiDisponibilidade; return(true); }
public IQueryable <Oferta> ObterOfertaPorSolucaoEducacional(SolucaoEducacional solucaoEducacional) { try { if (solucaoEducacional == null || solucaoEducacional.ID < 0) { throw new AcademicoException("Informe a Solução Educacional"); } return(bmOferta.ObterOfertaPorSolucaoEducacional(solucaoEducacional)); } catch (AcademicoException ex) { throw ex; } }
public void VerificarConsistenciaUk(SolucaoEducacional pSolucaoEducacional) { if (string.IsNullOrWhiteSpace(pSolucaoEducacional.Nome)) { throw new AcademicoException("Nome da Solução Educacional não pode ser vazio"); } var usuarioLogado = new BMUsuario().ObterUsuarioLogado(); if (pSolucaoEducacional.UFGestor == null || !usuarioLogado.IsGestor()) { var solucoes = ObterPorNome(pSolucaoEducacional.Nome) .Where( s => s.Fornecedor != null && pSolucaoEducacional.Fornecedor != null && s.Fornecedor.ID == pSolucaoEducacional.Fornecedor.ID && s.Ativo && pSolucaoEducacional.ID != s.ID); if (solucoes.Any()) { throw new AcademicoException("Nome da Solução Educacional já cadastrado para este fornecedor"); } } else { var solucoes = ObterPorNome(pSolucaoEducacional.Nome).AsEnumerable() .Where( s => s.Fornecedor.ID == pSolucaoEducacional.Fornecedor.ID && s.Fornecedor != null && pSolucaoEducacional.Fornecedor != null && s.UFGestor != null && !s.UFGestor.PermiteSesMesmoNome() && s.Ativo && pSolucaoEducacional.ID != s.ID).AsQueryable(); FiltrarPermissaoVisualizacao(ref solucoes, usuarioLogado.ID); if (solucoes.Any()) { throw new AcademicoException("Nome da Solução Educacional já cadastrado para esta UF e este fornecedor"); } } }
public void AtualizarNodeIdDrupal(SolucaoEducacional solucao, BMConfiguracaoSistema bmConfiguracaoSistema = null, BMLogSincronia bmLogSincronia = null, Usuario usuarioLogado = null) { if (solucao.FormaAquisicao == null || !solucao.FormaAquisicao.EnviarPortal) { return; } var id = SalvaNodeDrupalRest(solucao, bmConfiguracaoSistema, bmLogSincronia, usuarioLogado); if (!id.HasValue) { return; } solucao.IdNodePortal = id.Value; bmSolucaoEducacional.Salvar(solucao, false); }
public IList <Oferta> RecuperarOfertasValidas(SolucaoEducacional solucaoEducacional, List <int> permissoesOfertas) { var ofertas = solucaoEducacional.ListaOferta.Where( x => (x.DataInicioInscricoes.HasValue && x.DataInicioInscricoes.Value.Date <= DateTime.Today) && x.DataFimInscricoes.HasValue && x.DataFimInscricoes.Value >= DateTime.Today && (x.ListaTurma.Any( f => (f.DataFinal == null || f.DataFinal.Value.Date > DateTime.Today) && f.InAberta))); if (permissoesOfertas != null && permissoesOfertas.Any()) { ofertas = ofertas.Where(x => permissoesOfertas.Contains(x.ID)); } return(ofertas.OrderBy(x => x.DataInicioInscricoes).ToList()); }
public int?ObterProximoCodigoSequencial(SolucaoEducacional solucao) { if (solucao == null) { return(null); } var max = repositorio.session.Query <Oferta>() .Where(x => x.SolucaoEducacional.ID == solucao.ID) .Max(x => x.Sequencia); if (max.HasValue) { return(max.Value + 1); } else { return(1); } }
public IList <SolucaoEducacional> ObterPorFiltroPesquisa(SolucaoEducacional pSolucaoEducacional, bool?ativo, List <int> usuarioPermissoes) { var query = repositorio.session.Query <SolucaoEducacional>(); if (pSolucaoEducacional == null) { return(query.ToList()); } if (!string.IsNullOrWhiteSpace(pSolucaoEducacional.Nome)) { query = query.Where(x => x.Nome.Trim().ToUpper().Contains(pSolucaoEducacional.Nome.Trim().ToUpper())); } if (pSolucaoEducacional.FormaAquisicao != null) { query = query.Where(x => x.FormaAquisicao.ID == pSolucaoEducacional.FormaAquisicao.ID); } if (pSolucaoEducacional.Fornecedor != null) { query = query.Where(x => x.Fornecedor.ID == pSolucaoEducacional.Fornecedor.ID); } if (!string.IsNullOrWhiteSpace(pSolucaoEducacional.IDChaveExterna)) { query = query.Where(x => x.IDChaveExterna.Trim().ToUpper().Contains(pSolucaoEducacional.IDChaveExterna.Trim().ToUpper())); } if (ativo.HasValue) { query = query.Where(f => f.Ativo == ativo.Value); } if (usuarioPermissoes.Any()) { query = query.Where(f => usuarioPermissoes.Contains(f.ID)); } return(query.ToList()); }
/// <summary> /// Cadastra (inclui) uma solução educacional. /// </summary> /// <param name="pSolucaoEducacional">Informações de uma solução educacional</param> /// <param name="url_base">URL para criação do NODE ID</param> public void IncluirSolucaoEducacional(SolucaoEducacional pSolucaoEducacional, string url_base) { try { base.PreencherInformacoesDeAuditoria(pSolucaoEducacional); this.bmSolucaoEducacional.Salvar(pSolucaoEducacional); AtualizarNodeIdDrupal(pSolucaoEducacional); } catch (AlertException ex) { throw ex; } catch (AcademicoException ex) { throw ex; } 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 DTODisponibilidadeSolucaoEducacionalPorUsuarioT ConsultarDisponibilidadeMatriculaPorUsuario( int pIdUsuario, int?pagina) { var retorno = new DTODisponibilidadeSolucaoEducacionalPorUsuarioT(); var usuario = new ManterUsuario().ObterUsuarioPorID(pIdUsuario); new ManterMatriculaOferta().ObterPorUsuario(pIdUsuario); var listaPermissaoSolucaoEducacional = new BMSolucaoEducacional().ObterListaDePermissoes(usuario.ID, 0); var idsSolucoesPermissoes = listaPermissaoSolucaoEducacional.Select(f => f.SolucaoEducacional.ID).ToList(); var filtro = new SolucaoEducacional(); var recuperarListaSolucaoEducacional = new ManterSolucaoEducacional().ObterPorFiltroPesquisa(filtro, true, idsSolucoesPermissoes); const int skip = 5; var paginaAtual = (pagina.HasValue && pagina.Value > 0) ? (pagina.Value - 1) : 0; retorno.PaginaAtual = (paginaAtual + 1); retorno.QtdeSolucoes = recuperarListaSolucaoEducacional.Count(); retorno.QtdePaginas = Convert.ToInt32((retorno.QtdeSolucoes / skip)); if ((retorno.QtdeSolucoes % skip) > 0) { retorno.QtdePaginas++; } foreach (var item in recuperarListaSolucaoEducacional.Skip((paginaAtual * skip)).Take(skip).ToList()) { retorno.DTODisponibilidadeSolucaoEducacional.Add( ConsultarDisponibilidadeMatriculaSolucaoEducacional(pIdUsuario, item.ID)); } return(retorno); }