/// <summary> /// Método que permite obtener de la base de datos un objeto de Paginación con la lista de todos los datos de Entidad /// </summary> /// <param name="page">Página Actual</param> /// <param name="pageSize">Elementos por Página</param> /// <param name="columnName">Nombre de columna a Ordenar</param> /// <param name="orderDesc">Booleano de ordenamiento descendente</param> /// <returns>Objeto de Paginación con la Lista de Datos de Entidad</returns> public IPagedResult <Entity> GetAllPaged(int?page = null, int?pageSize = null, string columnName = null, bool orderDesc = false) { var entitiesFind = this.FindAll(); if (columnName != null && !columnName.Equals(string.Empty)) { if (EntityProperties.ContainsPropertyName(typeof(Entity), columnName)) { if (!orderDesc) { entitiesFind = entitiesFind.CustomOrderBy(columnName); } else { entitiesFind = entitiesFind.CustomOrderByDescending(columnName); } } } if (page.HasValue && pageSize.HasValue) { return(entitiesFind.GetPaged(page.Value, pageSize.Value)); } return(new PagedResult <Entity> { RowCount = entitiesFind.Count(), Results = entitiesFind.AsEnumerable().ToList() }); }