Пример #1
0
        /// <summary>
        /// Paginations the specified page.
        /// </summary>
        /// <param name="page">The page.</param>
        /// <returns></returns>
        public ItemPaginationModel Pagination(int?page)
        {
            ItemPaginationModel itemPagination = new ItemPaginationModel();

            try
            {
                int pageSize = 10;

                itemPagination.PageNumber = (page ?? 1);

                // get no of active records
                int recordCount = this.repository.GetIQueryable <ItemSchema.Item>().Where <ItemSchema.Item>(a => a.RecordStatusId == (int)RecordStatuses.Active).Count();

                // get active reocrds according to selected page
                IEnumerable <ItemSchema.Item> items = this.repository.GetIQueryable <ItemSchema.Item>().Where <ItemSchema.Item>(a => a.RecordStatusId == (int)RecordStatuses.Active).OrderBy(a => a.Id)
                                                      .Skip(pageSize * (itemPagination.PageNumber - 1)).Take(pageSize).ToList <ItemSchema.Item>();

                // page count calculate
                itemPagination.PageCount = (recordCount % pageSize) == 0 ? recordCount / pageSize : (recordCount / pageSize) + 1;

                // map data to items
                itemPagination.Items = AutoMapperConf.AutoMapperConf.Instance.Mapper.Map <List <ItemDTO> >(items);

                // no of pages in to an list to show in page
                itemPagination.PageList = Enumerable.Range(1, itemPagination.PageCount).ToList();
            }
            catch (Exception ex)
            {
                LogHelper.LogException(ex, MethodBase.GetCurrentMethod().Name);

                throw ex;
            }

            return(itemPagination);
        }
Пример #2
0
        // GET: Item
        /// <summary>
        /// Indexes the specified page.
        /// </summary>
        /// <param name="page">The page.</param>
        /// <returns></returns>
        public ActionResult Index(int?page)
        {
            ItemPaginationModel itemPaginationData = this.itemService.Pagination(page);

            return(View(itemPaginationData));
        }