Пример #1
0
        /// <summary>
        /// Gets a list of Items within a "page"
        /// </summary>
        /// <param name="moduleId"></param>
        /// <param name="pageNumber"></param>
        /// <param name="pageSize"></param>
        /// <param name="totalPages"></param>
        /// <param name="searchTerm"></param>
        /// <param name="searchField"></param>
        /// <param name="descending"></param>
        /// <returns></returns>
        public static List <ItemWithValues> GetForModuleWithValues_Paged(
            Guid moduleGuid,
            int pageNumber,
            int pageSize,
            out int totalPages,
            out int totalRows,
            string searchTerm  = "",
            string searchField = "",
            bool descending    = false)
        {
            totalPages = 1;

            IDataReader reader =
                DBItems.GetForModuleWithValues_Paged(moduleGuid, pageNumber, pageSize, searchTerm, searchField, descending ? "DESC" : "ASC");

            var items = LoadListFromReaderWithValues(reader, true);

            totalRows = _totalRows;

            if (pageSize > 0)
            {
                totalPages = totalRows / pageSize;
            }
            if (totalRows <= pageSize)
            {
                totalPages = 1;
            }
            else
            {
                Math.DivRem(totalRows, pageSize, out int remainder);
                if (remainder > 0)
                {
                    totalPages += 1;
                }
            }

            return(items);
        }