public IEnumerable <RelatorioDeAcessoViewModel> RelatorioDeAcesso(RelatoriosDeAcessoFormViewModel model) { var acessos = (from x in _logRepository.Get() where (model.CargoId == null || x.Usuario.CargoId == model.CargoId) && (model.DataInicio == null || x.DtInclusao >= model.DataInicio) && (model.DataFim == null || x.DtInclusao <= model.DataFim) && (model.TipoArea == null || x.Area == model.TipoArea.ToString()) && (!string.IsNullOrEmpty(x.Controller)) select new { DtAcesso = model.TipoAcesso == TipoAcesso.PorPagina ? x.DtInclusao : DbFunctions.TruncateTime(x.DtInclusao), Pagina = (string.IsNullOrEmpty(x.Area) ? "" : x.Area) + "/" + x.Controller + "/" + x.Action }).Distinct().ToList(); return(from x in acessos group x by new { DtAcesso = model.TipoAcesso == TipoAcesso.PorPagina ? x.DtAcesso.Value.ToString("dd/MM/yyyy") : "", x.Pagina } into g select new RelatorioDeAcessoViewModel { DtAcesso = g.Key.DtAcesso, Pagina = g.Key.Pagina, Quantidade = g.Count() }); }
public void BaixarExcelRelatorioDeAcesso(RelatoriosDeAcessoFormViewModel model) { var relatorio = _logApp.RelatorioDeAcesso(model); var gv = new GridView { DataSource = relatorio.ToList() }; gv.DataBind(); Excel.BaixarExcel(gv, "Relatorio_De_Acesso"); }
public async Task <ActionResult> ListaRelatorioDeAcesso(RelatoriosDeAcessoFormViewModel model) { if (model.TipoAcesso == null) { model.TipoAcesso = TipoAcesso.Unicos; } var relatorio = new GridRelatorioDeAcessosViewModel { Relatorio = _logApp.RelatorioDeAcesso(model), TipoAcesso = model.TipoAcesso.Value }; return(PartialView("ListaRelatorioDeAcesso", relatorio)); }