示例#1
0
        /// <summary>
        /// 取得Function資料
        /// </summary>
        /// <returns></returns>
        public IEnumerable <FunctionVO> GetFunctionData(PageDataVO pageDataVO)
        {
            pageDataVO.PageSize = pageDataVO.PageSize ?? Convert.ToInt32(ConfigurationManager.AppSettings["TablePageCount"]);

            pageDataVO.DataCount = _functionRepo.GetFunctionCount(pageDataVO);

            if (pageDataVO.PageSize != null && pageDataVO.PageSize != 0)
            {
                if (pageDataVO.DataCount % pageDataVO.PageSize.Value == 0)
                {
                    pageDataVO.AllPageNumber = pageDataVO.DataCount / pageDataVO.PageSize.Value;
                }
                else
                {
                    pageDataVO.AllPageNumber = pageDataVO.DataCount / pageDataVO.PageSize.Value + 1;
                }

                pageDataVO.LowerBound = (pageDataVO.PageNumber - 1) * pageDataVO.PageSize.Value;
                pageDataVO.UpperBound = pageDataVO.LowerBound + pageDataVO.PageSize.Value + 1;
                if (pageDataVO.LowerBound >= pageDataVO.DataCount)
                {
                    pageDataVO.UpperBound = pageDataVO.DataCount + 1;
                    pageDataVO.LowerBound = pageDataVO.UpperBound - (pageDataVO.PageSize.Value + 1);
                }
            }
            else
            {
                pageDataVO.UpperBound = pageDataVO.DataCount + 1;
                pageDataVO.LowerBound = 0;
            }

            if (string.IsNullOrEmpty(pageDataVO.OrderByColumn))
            {
                pageDataVO.OrderByColumn = "FunctionID";
            }

            IEnumerable <FunctionVO> result = Utility.MigrationIEnumerable <FunctionDTO, FunctionVO>(_functionRepo.GetFunctionData(pageDataVO));

            return(result);
        }