public JsonResult Index(AuditoriaCriteria criteria) { var pageNumber = criteria.NumeroPagina; var pageSize = _parametroService.GetValor <int>(CodigosParametros.PARAMETRO_TAMAÑO_PAGINA_GRILLAS); var result = _repository.Buscar(criteria, (pageNumber - 1) * pageSize, pageSize); var sesionesVista = (from x in result.Data let Fecha = x.Fecha.ToString("o") orderby x.Id select new { x.Id, x.Accion, Fecha, x.Funcionalidad, x.Identificacion, x.IpAddress, x.Mensaje, x.Usuario }); var resultado = new { Data = sesionesVista, TotalRegistros = result.TotalRegistros }; return(Json(resultado, JsonRequestBehavior.AllowGet)); }
public IPagedListMetaData <TAuditoria> Buscar(AuditoriaCriteria criteria, int Skip, int Take) { Guard.AgainstLessThanValue(Skip, "Skip", 0); Guard.AgainstLessThanValue(Take, "Take", 0); var query = GetAll().AsQueryable(); if (!string.IsNullOrEmpty(criteria.Identificador)) { query = query.Where(p => p.Identificacion.ToUpper().Trim().StartsWith(criteria.Identificador.ToUpper().Trim())); } if (!string.IsNullOrEmpty(criteria.Usuario)) { query = query.Where(p => p.Usuario.ToUpper().Trim().StartsWith(criteria.Usuario.ToUpper().Trim())); } if (!string.IsNullOrEmpty(criteria.Funcionalidad)) { query = query.Where(p => p.Funcionalidad.ToUpper().Trim().StartsWith(criteria.Funcionalidad.ToUpper().Trim())); } if (!string.IsNullOrEmpty(criteria.Accion)) { query = query.Where(p => p.Accion.ToUpper().Trim().StartsWith(criteria.Accion.ToUpper().Trim())); } //Fecha if (criteria.FechaInicio.HasValue && criteria.FechaFinal.HasValue) { query = query.Where(p => p.Fecha >= DbFunctions.TruncateTime(criteria.FechaInicio.Value) && p.Fecha <= DbFunctions.AddDays(criteria.FechaFinal.Value, 1)); } else { if (criteria.FechaInicio.HasValue) { query = query.Where(p => p.Fecha >= DbFunctions.TruncateTime(criteria.FechaInicio.Value)); } else if (criteria.FechaFinal.HasValue) { query = query.Where(p => p.Fecha <= DbFunctions.AddDays(criteria.FechaFinal.Value, 1)); } } query = query.OrderByDescending(p => p.Fecha); var totalResultSetCount = query.Count(); query = query.Skip(Skip).Take(Take); IEnumerable <TAuditoria> resultList; if (totalResultSetCount > 0) { resultList = query.ToList(); } else { resultList = new List <TAuditoria>(); } var result = new PagedListMetaData <TAuditoria>(); result.TotalResultSetCount = totalResultSetCount; result.Subset = resultList.ToList(); return(result); }