/// <summary> /// Preenche as listas de filtros dos logs /// </summary> /// <param name="model"></param> /// <returns></returns> public static bool PreencherListasFiltrosLog(FiltrosLogModel model, ref string mensagemErro) { // Preencher todos os recursos disponíveis LogRecursos[] elementos = Enum.GetValues(typeof(LogRecursos)) as LogRecursos[]; foreach (var recurso in elementos) { model.ListaRecursos.Add(new SelectListItem() { Text = recurso.ToString(), Value = ((int)recurso).ToString() }); } model.ListaRecursos.RemoveAt(0); model.ListaRecursos = model.ListaRecursos.OrderBy(p => p.Text).ToList(); UsuarioBll usuarioBll = new UsuarioBll(false); RetornoObterDicionarioDto <Guid, string> retornoDto = new RetornoObterDicionarioDto <Guid, string>(); BaseRequisicaoDto requisicaoDto = new BaseRequisicaoDto() { Identificacao = SessaoUsuario.SessaoLogin.Identificacao, IdUsuario = SessaoUsuario.SessaoLogin.IdUsuario }; // Obter a lista de usuários cadastrados if (!usuarioBll.ObterListaParaSelecao(requisicaoDto, ref retornoDto)) { mensagemErro = retornoDto.Mensagem; return(false); } // Popular a lista da model com os usuários retornados foreach (var usuario in retornoDto.ListaEntidades) { model.ListaUsuarios.Add(new SelectListItem() { Text = usuario.Value, Value = usuario.Key.ToString() }); } return(true); }
/// <summary> /// Traz uma lista ID, Nome dos usuários para popular combos /// </summary> /// <param name="requisicaoDto"></param> /// <param name="listaUsuarios"></param> /// <param name="mensagemErro"></param> /// <returns></returns> public bool ObterListaParaSelecao(BaseRequisicaoDto requisicaoDto, ref RetornoObterDicionarioDto <Guid, string> retornoDto) { string mensagemErro = ""; if (!UtilitarioBll.ValidarIdentificacao(requisicaoDto.Identificacao, requisicaoDto.IdUsuario, ref mensagemErro)) { retornoDto.Retorno = false; retornoDto.Mensagem = mensagemErro; logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaUsuariosParaSelecao, Guid.Empty, retornoDto.Mensagem); return(false); } // Obter a query primária IQueryable <UsuarioVo> query; if (!this.ObterQueryBd(out query, ref mensagemErro)) { retornoDto.Retorno = false; retornoDto.Mensagem = $"Erro ao obter a query: {mensagemErro}"; logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaUsuario, Guid.Empty, retornoDto.Mensagem); return(false); } try { retornoDto.ListaEntidades = query.Where(p => p.Excluido == false).OrderBy(p => p.Nome).Select(p => new { p.Id, p.Nome }).AsEnumerable().ToDictionary(p => p.Id, p => p.Nome); return(true); } catch (Exception ex) { retornoDto.Retorno = false; retornoDto.Mensagem = $"Erro ao obter a query: {ex.Message}"; logBll.ResgistrarLog(requisicaoDto, LogRecursos.ObterListaUsuario, Guid.Empty, retornoDto.Mensagem); return(false); } }