/// <summary> /// Chama a tela com a listagem de logs /// </summary> /// <returns></returns> public ActionResult Index() { // Se não tiver login, encaminhar para a tela de login if (string.IsNullOrWhiteSpace(SessaoUsuario.SessaoLogin.Identificacao)) { return(RedirectToAction("Login", "Usuario")); } // Model a ser utilizada na tela FiltrosLogModel model = new FiltrosLogModel() { Pagina = 1, DataFinal = DateTime.Now, DataInicial = DateTime.Now }; string mensagemErro = ""; if (!Utilidades.PreencherListasFiltrosLog(model, ref mensagemErro)) { ViewBag.MensagemErro = mensagemErro; return(View("Erro")); } //Chamar a view return(View(model)); }
/// <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> /// Obtem uma listra filtrada de logs /// </summary> /// <param name="filtros"></param> /// <returns></returns> public string ObterListaFiltrada(FiltrosLogModel filtros) { //Requisição para obter a lista RequisicaoObterListaDto requisicaoDto = new RequisicaoObterListaDto() { CampoOrdem = "DATAINCLUSAO", IdUsuario = SessaoUsuario.SessaoLogin.IdUsuario, Identificacao = SessaoUsuario.SessaoLogin.Identificacao, NaoPaginarPesquisa = filtros.NaoPaginaPesquisa, Pagina = filtros.Pagina, NumeroItensPorPagina = 10 }; requisicaoDto.ListaFiltros.Add("DATAINCLUSAOINICIAL", filtros.DataInicial.ToString()); requisicaoDto.ListaFiltros.Add("DATAINCLUSAOFINAL", filtros.DataFinal.ToString()); //Adicionar filtros utilizados if (!string.IsNullOrWhiteSpace(filtros.Mensagem)) { requisicaoDto.ListaFiltros.Add("MENSAGEM", filtros.Mensagem.Trim()); } if (!string.IsNullOrWhiteSpace(filtros.IdUsuario)) { requisicaoDto.ListaFiltros.Add("IDUSUARIO", filtros.IdUsuario.ToString()); } if (filtros.Recurso != PizzaByteEnum.Enumeradores.LogRecursos.NaoIdentificado) { requisicaoDto.ListaFiltros.Add("RECURSO", ((int)filtros.Recurso).ToString()); } //Consumir o serviço LogBll logBll = new LogBll("LogController"); RetornoObterListaDto <LogDto> retornoDto = new RetornoObterListaDto <LogDto>(); logBll.ObterListaFiltrada(requisicaoDto, ref retornoDto); string retorno = new JavaScriptSerializer().Serialize(retornoDto); return(retorno); }