public IQueryable <SolucaoEducacional> ObterListaSolucaoEducacionalPorCategoriaGestor(IEnumerable <int> categoriasConteudo) { var usuario = new BMUsuario().ObterUsuarioLogado(); var solucoes = ObterTodos().Where(x => categoriasConteudo.Contains(x.CategoriaConteudo.ID)); if (usuario.IsGestor()) { FiltrarPermissaoVisualizacao(ref solucoes, usuario.UF.ID); } return(solucoes); }
// Pega todos para gestor ou todos caso não seja public IQueryable <SolucaoEducacional> ObterTodosPorGestor(bool?exibirInativos = null) { // Gestores só podem ver soluções educacionais do seu estado var usuario = new BMUsuario().ObterUsuarioLogado(); bool apenasAtivos = exibirInativos != null && exibirInativos == true ? false : !usuario.IsAdministrador(); // Caso seja administrador traz todos ativos ou não var retorno = ObterTodos(apenasAtivos); if (usuario.IsGestor()) { FiltrarPermissaoVisualizacao(ref retorno, usuario.UF.ID); } return(retorno); }
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"); } } }