Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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);
            }
        }