public void GetValueSetsAsyncReturnsPageOfValueSets(int currentPage, int itemsPerPage)
        {
            // Arrange
            var pagerSettings = new PagerSettings {
                CurrentPage = currentPage, ItemsPerPage = itemsPerPage
            };

            // Act
            var valueSets = this.Profiler.ExecuteTimed(
                () => this.valueSetRepository.GetValueSetsAsync(pagerSettings, new string[] { }));

            this.Output.WriteLine($"Total Values {valueSets.TotalItems}");
            this.Output.WriteLine($"Total Pages {valueSets.TotalPages}");

            // Assert
            this.Output.WriteLine(string.Join(",", valueSets.Values.Select(vs => vs.ValueSetUniqueId)));
            valueSets.Should().NotBeNull();
            valueSets.TotalItems.Should().BeGreaterThan(0);
            valueSets.TotalPages.Should().BeGreaterThan(0);

            valueSets.Values.All(vs => vs.ValueSetCodes.Any()).Should().BeTrue("value sets must have codes");

            // Call again - to time cached
            var cached = this.Profiler.ExecuteTimed(
                () => this.valueSetRepository.GetValueSetsAsync(pagerSettings, new string[] { }),
                "Cached time: ");
        }
Exemplo n.º 2
0
        private static int GetStartingPage(Pager pagerData, PagerSettings settings)
        {
            // Total pages = 5 = number of pages to display.. so starting page is 1;
            if (pagerData.CurrentPage <= settings.NumberPagesToDisplay)
            {
                return(1);
            }
            int range       = GetRange(pagerData.CurrentPage, settings.NumberPagesToDisplay);
            int totalRanges = GetTotalRanges(pagerData.TotalPages, settings.NumberPagesToDisplay);

            // Current page = 17
            // Total pages = 18
            // Pages to show = 5
            // Range = 4
            // Starting page = 14, 15, 16, 17, 18
            if (range == totalRanges)
            {
                return((pagerData.TotalPages - settings.NumberPagesToDisplay) + 1);
            }
            // current page = 7
            // Total pages = 18
            // Pages to show = 5
            // Range = 2
            // starting page = 6
            range--;
            return((range * settings.NumberPagesToDisplay) + 1);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 默认构造函数.
        /// </summary>
        public ChartView()
        {
            InitializeComponent();

            _BaseChart      = new Chart();
            _BaseChart.Name = ChartViewStatic.CHART_NAME;
            _PagerSettings  = new PagerSettings();
        }
Exemplo n.º 4
0
        /// <summary>建立子控件</summary>
        protected override void CreateChildControls()
        {
            // 当且仅当总记录数TotalRowCount准备好之后才创建子控件
            if (TotalRowCount <= 0)
            {
                return;
            }

            Controls.Clear();

            IPagedDataSource pagedDataSource = this;

            PagerSettings pagerSettings = PagerSettings;

            if (PagerTemplate != null)
            {
                // 分页模版输出
                DataPagerItem item = new DataPagerItem();
                PagerTemplate.InstantiateIn(item);

                Controls.Add(item);

                // 必须在加入Controls后再绑定,否则会因为没有关联Page而失败
                // 每次完成创建子控件后马上绑定
                item.DataItem = this;
                item.DataBind();
                item.DataItem = null;
            }
            else
            {
                // 分页控件输出
                Table    child = new Table();
                TableRow row2  = new TableRow();
                switch (pagerSettings.Mode)
                {
                case PagerButtons.NextPrevious:
                    CreateNextPrevPager(row2, pagedDataSource, false);
                    break;

                case PagerButtons.Numeric:
                    CreateNumericPager(row2, pagedDataSource, false);
                    break;

                case PagerButtons.NextPreviousFirstLast:
                    CreateNextPrevPager(row2, pagedDataSource, true);
                    break;

                case PagerButtons.NumericFirstLast:
                    CreateNumericPager(row2, pagedDataSource, true);
                    break;
                }

                child.Rows.Add(row2);
                Controls.Add(child);
            }
        }
Exemplo n.º 5
0
 protected PagedViewModel([AspMvcArea][CanBeNull]
                          string area, [AspMvcController][CanBeNull]
                          string controller, [AspMvcAction][CanBeNull]
                          string action, [NotNull] PagerSettings pager)
 {
     _area       = area ?? string.Empty;
     _controller = controller ?? "Home";
     _action     = action ?? "Index";
     _pager      = pager;
 }
Exemplo n.º 6
0
 public ServAppUsers(
     IMapper mapper,
     IRepoAppUsers appUsers,
     IServUserSession userSession,
     IOptions <MySettings> options)
 {
     _mapper        = mapper;
     _appUsers      = appUsers;
     _userSession   = userSession;
     _pagerSettings = options.Value.PagerSettings;
 }
Exemplo n.º 7
0
        public PaginatedList <Pet> GetPets(PagerSettings settings)
        {
            var list = Enumerable.Range(1, 100)
                       .Select(x => new Pet(x, $"Pet {x}"))
                       .FilterBy(settings)
                       .ToList();

            var pets = list.Skip(settings.Skip)
                       .Take(settings.PageSize)
                       .ToList();

            return(new PaginatedList <Pet>(pets, list.Count, settings));
        }
Exemplo n.º 8
0
        ///// <summary>
        /////  把数据实体集合类转换为 客户可分析DataSet 的格式。
        ///// </summary>
        ///// <param name="entitys">数据实体集.</param>
        ///// <param name="propertys">可配制的属性.</param>
        ///// <param name="columnsEdit">编辑属性.</param>
        ///// <returns>转化后的DataSet.</returns>
        //public DataSet ConvertEntityToDataSet(System.Collections.IList entitys,
        //    Dictionary<string, ColumnPropertyInfo> propertys, Dictionary<string, ColumnEditCfgInfo> columnsEdit,)
        //{
        //    if (entitys == null || propertys == null) return null;
        //    _EditDataHasTable = new Dictionary<string, Dictionary<string, string>>();
        //    try
        //    {
        //        DataTable dtData = new DataTable();
        //        List<ColumnPropertyInfo> filterColumnPropertyInfos = new List<ColumnPropertyInfo>();

        //        foreach (ColumnPropertyInfo info in propertys.Values)
        //        {
        //            if (!string.IsNullOrEmpty(info.ChartDataType))
        //            {
        //                if (null != entitys && 0 != entitys.Count)
        //                {
        //                    if (MB.Util.MyReflection.Instance.CheckObjectExistsProperty(entitys[0], info.Name))
        //                    {
        //                        string dataType = info.DataType;
        //                        if (columnsEdit != null && columnsEdit.ContainsKey(info.Name))
        //                            dataType = ChartViewStatic.SYSTEM_STRING;

        //                        dtData.Columns.Add(info.Name, MB.Util.General.CreateSystemType(dataType, false));

        //                        filterColumnPropertyInfos.Add(info);
        //                    }
        //                }
        //            }
        //        }

        //        Type t = entitys[0].GetType();
        //        foreach (object entity in entitys)
        //        {
        //            DataRow drNew = dtData.NewRow();
        //            dtData.Rows.Add(drNew);
        //            foreach (ColumnPropertyInfo info in filterColumnPropertyInfos)
        //            {
        //                var v = t.GetProperty(info.Name);
        //                object val = v.GetValue(entity, null);

        //                if (val == null || val == System.DBNull.Value) continue;

        //                if (columnsEdit != null && columnsEdit.ContainsKey(info.Name))
        //                {
        //                    drNew[info.Name] = convertValueToDescription(val, columnsEdit[info.Name]);
        //                }
        //                else
        //                {
        //                    drNew[info.Name] = MB.Util.MyConvert.Instance.ChangeType(val, dtData.Columns[info.Name].DataType);
        //                }
        //            }
        //        }

        //        DataSet dsData = new DataSet();
        //        dsData.Tables.Add(dtData);
        //        return dsData;
        //    }
        //    catch (Exception ex)
        //    {
        //        throw new MB.Util.APPException("执行 ConvertEntityToDataSet 出错" + ex.Message);
        //    }
        //}

        #region Add private method


        #endregion

        #endregion

        #region private methods

        private void bindDefaultChart(ChartTypeInfo chartTypeInfo, DataColumnCollection dataColumnCollection,
                                      PagerSettings pagerSettings)
        {
            ChartEventArgs chartEventArgs = new ChartEventArgs();

            ChartViewHelper chartViewHelper = new ChartViewHelper();

            chartEventArgs.ChartType = (SeriesChartType)Enum.Parse(typeof(SeriesChartType), chartTypeInfo.DefaultChartType.ToString());
            chartEventArgs.XAxis     = chartViewHelper.GetDataColumn(chartTypeInfo.XAxis, dataColumnCollection);
            chartEventArgs.YAxis     = chartViewHelper.GetDataColumn(chartTypeInfo.YAxis, dataColumnCollection);
            chartEventArgs.ZAxis     = chartViewHelper.GetDataColumn(chartTypeInfo.ZAxis, dataColumnCollection);

            prepareChart(chartEventArgs, pagerSettings);
        }
Exemplo n.º 9
0
 public ServBooks(
     IMapper mapper,
     IMemoryCache cache,
     IRepoBooks repoBooks,
     IRepoAuthors repoAuthors,
     IServUserSession userSession,
     IOptions <MySettings> options)
 {
     _mapper        = mapper;
     _cache         = cache;
     _repoBooks     = repoBooks;
     _repoAuthors   = repoAuthors;
     _userSession   = userSession;
     _pagerSettings = options.Value.PagerSettings;
 }
Exemplo n.º 10
0
        private void prepareChart(ChartEventArgs e, PagerSettings pagerSettings)
        {
            ChartViewHelper chartViewHelper = new ChartViewHelper();

            List <ChartAreaInfo> chartAreaInfos = chartViewHelper.CreateChartData(
                _DataSet, _ColumnPropertyInfos, e, pagerSettings);

            _XValueCount            = chartViewHelper.XValueCount;
            pagerSettings.PageCount = _XValueCount / pagerSettings.PageSize + 1;
            showBindingNavigator(_PagerSettings);

            if (e.ChartType == SeriesChartType.Pie)
            {
                using (IChart chart = new PieChart(_BaseChart))
                {
                    chart.IsPercent    = e.IsPercent;
                    chart.AreaDataList = chartAreaInfos;
                }
            }

            bool isMultiChartArea = false;

            if (e.AnalyseData == ChartViewStatic.R_BTN_COMPARE_NAME)
            {
                isMultiChartArea = true;
            }

            if (e.ChartType == SeriesChartType.Line)
            {
                using (IChart chart = new LineChart(_BaseChart, e.NeedSortXAxis, isMultiChartArea))
                {
                    chart.IsPercent    = e.IsPercent;
                    chart.AreaDataList = chartAreaInfos;
                }
            }

            if (e.ChartType == SeriesChartType.Column)
            {
                using (IChart chart = new ColumnChart(_BaseChart, e.NeedSortXAxis, isMultiChartArea))
                {
                    chart.IsPercent    = e.IsPercent;
                    chart.AreaDataList = chartAreaInfos;
                }
            }

            _ChartEventArgs = e;
        }
Exemplo n.º 11
0
 public SearchModel(
     IServBooks servBooks,
     IServPosts servPosts,
     IServTheses servTheses,
     IServExport servExport,
     IServEditItem servEditItem,
     IServUserSession userSession,
     IOptions <MySettings> options)
 {
     _servBooks     = servBooks;
     _servPosts     = servPosts;
     _servTheses    = servTheses;
     _servExport    = servExport;
     _servEditItem  = servEditItem;
     _userSession   = userSession;
     _pagerSettings = options.Value.PagerSettings;
 }
Exemplo n.º 12
0
        public void PagerSettings_DefaultProperty()
        {
            PagerSettings pager = new PagerSettings();

            Assert.AreEqual("", pager.FirstPageImageUrl, "FirstPageImageUrl");
            Assert.AreEqual("&lt;&lt;", pager.FirstPageText, "FirstPageText");
            Assert.AreEqual("", pager.LastPageImageUrl, "LastPageImageUrl");
            Assert.AreEqual("&gt;&gt;", pager.LastPageText, "LastPageText");
            Assert.AreEqual(PagerButtons.Numeric, pager.Mode, "Mode");
            Assert.AreEqual("", pager.NextPageImageUrl, "NextPageImageUrl");
            Assert.AreEqual("&gt;", pager.NextPageText, "NextPageText");
            Assert.AreEqual(10, pager.PageButtonCount, "PageButtonCount");
            Assert.AreEqual(PagerPosition.Bottom, pager.Position, "Position");
            Assert.AreEqual("", pager.PreviousPageImageUrl, "PreviousPageImageUrl");
            Assert.AreEqual("&lt;", pager.PreviousPageText, "PreviousPageText");
            Assert.AreEqual(true, pager.Visible, "Visible");
        }
        public void FindValueSetsAsyncReturnsResults(string nameFilter)
        {
            // Arrange
            var pagerSettings = new PagerSettings {
                CurrentPage = 1, ItemsPerPage = 20
            };

            // Act
            var valueSets = this.Profiler.ExecuteTimed(
                () => this.valueSetRepository.FindValueSetsAsync(nameFilter, pagerSettings, new string[] { }));

            // Assert
            valueSets.Should().NotBeNull();
            valueSets.TotalItems.Should().BeGreaterThan(0);
            valueSets.TotalPages.Should().BeGreaterThan(0);
            valueSets.Values.All(vs => vs.ValueSetCodes.Any()).Should().BeTrue("value sets must have codes");
        }
Exemplo n.º 14
0
        /// <summary>
        ///     formatEditName = null значит что не будет колонки с действиями
        /// </summary>
        public CoreGridFor(HttpContext context, string formatEditName = "formatEdit") : base(context)
        {
            AutoWidth     = true;
            Height        = "100%";
            Width         = "100%";
            PagerSettings = new PagerSettings {
                PageSizeOptions = $"[10,20,50,100,500,1000,5000,{JqGridHelper.GridAllRecordsCount}]"
            };
            SearchDialogSettings = new SearchDialogSettings {
                MultipleSearch = true, Width = 800
            };

            var columnModels     = GetModelColumns(typeof(TModel));
            var primaryKeyColumn = columnModels.FirstOrDefault(t => t.AttributeInfo.PrimaryKeyField);

            SortSettings = new SortSettings
            {
                InitialSortColumn    = primaryKeyColumn != null ? primaryKeyColumn.PropertyInfo.Name : "Id",
                InitialSortDirection = SortDirection.Asc
            };
            ToolBarSettings = new ToolBarSettings
            {
                ShowSearchToolBar = true,
                ShowSearchButton  = true,
                ShowRefreshButton = true,
                ShowEditButton    = false,
                ShowAddButton     = false,
                ShowDeleteButton  = false
            };

            SetColumn(columnModels, formatEditName);

            EditDialogSettings.CloseAfterEditing = true;
            AddDialogSettings.CloseAfterAdding   = true;

            Responsive                        = true;
            ColumnReordering                  = true;
            StoreNavigationOptions            = true;
            AppearanceSettings.ShowRowNumbers = true;

            ID = "JqGrid" + typeof(TModel).Name + "s";

            SearchToolBarSettings.SearchOperators     = true;
            SearchToolBarSettings.SearchToolBarAction = SearchToolBarAction.SearchOnEnter;
            //TreeGridSettings.Enabled = true;
        }
Exemplo n.º 15
0
        public void GetValueSetCodes(int itemsPerPage, int pageNumber)
        {
            // Arrange
            var pagerSettings = new PagerSettings {
                CurrentPage = pageNumber, ItemsPerPage = itemsPerPage
            };

            // Act
            var page = this.Profiler.ExecuteTimed(async() => await this.valueSetCodeService.GetValueSetCodesAsync(pagerSettings));

            this.Output.WriteLine($"Total Values {page.TotalItems}");
            this.Output.WriteLine($"Total Pages {page.TotalPages}");

            // Assert
            page.TotalItems.Should().BeGreaterThan(0);
            page.TotalPages.Should().BeGreaterThan(0);
            page.Values.Count.Should().BeLessOrEqualTo(itemsPerPage);
        }
Exemplo n.º 16
0
        public PList <ProductTypeListViewModel> GetProductTypeList(int pageNumber, Expression <Func <ProductType, object> > orderBy = null, SortDirection sortDir = SortDirection.Asc, Expression <Func <ProductType, bool> > filter = null)
        {
            PagerSettings psettings = null;
            int           pageSize  = _userHelper.PagerSize;

            var productType = (from c in _uow.ProductTypeRepository.Get(filter).Order(orderBy, sortDir)
                               select new ProductTypeListViewModel
            {
                Id = c.Id,
                Name = c.Name,
                IsActive = c.IsActive,
                UserId = c.UserId,
                SetDate = c.SetDate,
                SystemDate = c.SystemDate
            }).Page(pageNumber, pageSize, out psettings);

            return(productType.ToPList(psettings));
        }
        public void WillNotBeAnEmptyCollectionIfCodesDontMatchFilter()
        {
            // Arrange
            var pagerSettings = new PagerSettings {
                CurrentPage = 1, ItemsPerPage = 20
            };
            var cds = new string[] { "2.16.840.1.113883.6.103-nope" };

            // Act
            var collection = this.Profiler.ExecuteTimed(
                () => this.valueSetRepository.GetValueSetsAsync(pagerSettings, cds));

            // Assert
            collection.TotalItems.Should().Be(0);

            var cached =
                this.Profiler.ExecuteTimed(() => this.valueSetRepository.GetValueSetsAsync(pagerSettings, cds));
        }
Exemplo n.º 18
0
        public void CallBackMethod(string eventArgument)
        {
            // 16.10.2004, jorn - Added UpdateRowsClick, added support for autosave.
            if (string.IsNullOrEmpty(eventArgument))
            {
                return;
            }
            if (EnableCallBack)
            {
                eventArgument = HttpUtility.UrlDecode(eventArgument, Encoding.Default);
                eventArgument = eventArgument.Replace("%27", "'");
            }
            string[] eventArgs = eventArgument.Split('!');
            // ColumnId of the event
            string postBackEvent = eventArgs[0];

            // If RaisePostBackEvent is raised programatically.
            m_EventRanInit = true;

            if (GridPostBack != null)
            {
                GridPostBackEventArgs ea = new GridPostBackEventArgs {
                    EventName = postBackEvent
                };
                ea.SetEventArguments(eventArgs);
                GridPostBack(this, ea);
            }
            if (PagerSettings.PagerType == PagerType.Slider || PagerSettings.PagerType == PagerType.RangedSlider)
            {
                PagerSettings.updateSliderValues();
            }

            if (Trace.IsTracing)
            {
                Trace.Trace("{0} : Start CallBackMethod() Event: {1} Args length:{2}", ID, postBackEvent,
                            eventArgs.Length);
            }
            if (Debug)
            {
                m_DebugString.AppendFormat("<b>{0}: CallBackMethod event '{1}' has value array '{2}'</b><br/>", ID,
                                           postBackEvent, eventArgument);
            }
        }
Exemplo n.º 19
0
        private static int GetEndingPage(Pager pagerData, PagerSettings settings)
        {
            // Total pages = 5 = Number to display 1 - 5
            if (pagerData.TotalPages <= settings.NumberPagesToDisplay)
            {
                return(pagerData.TotalPages);
            }

            int range       = GetRange(pagerData.CurrentPage, settings.NumberPagesToDisplay);
            int totalRanges = GetTotalRanges(pagerData.TotalPages, settings.NumberPagesToDisplay);

            if (range == totalRanges)
            {
                return(pagerData.TotalPages);
            }

            // if page = 8, ending page is 10.
            return(range * settings.NumberPagesToDisplay);
        }
Exemplo n.º 20
0
        public void CanGetValueSetCodesPageByValueSet(string valueSetReferenceId, int itemsPerPage, int pageNumber)
        {
            // Arrange
            var valueSetGuid = Guid.Parse(valueSetReferenceId);
            var pageSettings = new PagerSettings {
                CurrentPage = pageNumber, ItemsPerPage = itemsPerPage
            };

            // Act
            var page = this.Profiler.ExecuteTimed(async() => await this.valueSetCodeService.GetValueSetCodesAsync(valueSetGuid, pageSettings));

            this.Output.WriteLine($"Total Values {page.TotalItems}");
            this.Output.WriteLine($"Total Pages {page.TotalPages}");
            this.Output.WriteLine($"Current page {page.PagerSettings.CurrentPage}");

            // Assert
            page.TotalItems.Should().BeGreaterThan(0);
            page.TotalPages.Should().BeGreaterThan(0);
            page.Values.Count.Should().BeLessOrEqualTo(itemsPerPage);
        }
        public void CanGetAPageOfValueSetBackingItem(int itemsPerPage, int pageNumber)
        {
            // Arrange
            var pagerSettings = new PagerSettings {
                CurrentPage = pageNumber, ItemsPerPage = itemsPerPage
            };

            // Act
            var page = this.Profiler.ExecuteTimed(async() => await this.repository.GetValueSetBackingItemsAsync(pagerSettings, new List <Guid>(), new List <ValueSetStatus> {
                ValueSetStatus.Active
            }));

            this.Output.WriteLine($"Total Values {page.TotalItems}");
            this.Output.WriteLine($"Total Pages {page.TotalPages}");

            // Assert
            page.TotalItems.Should().BeGreaterThan(0);
            page.TotalPages.Should().BeGreaterThan(0);
            page.Values.Count.Should().BeLessOrEqualTo(itemsPerPage);
        }
Exemplo n.º 22
0
        public PList <BranchListViewModel> GetBranchList(int pageNumber, int pageSize, Expression <Func <Branch, object> > orderBy = null, SortDirection sortDir = SortDirection.Asc)
        {
            PagerSettings psettings = null;

            IQueryable <BranchListViewModel> branchList = (from c in _uow.BranchRepository.Get()
                                                           .Order(orderBy, sortDir)
                                                           select new BranchListViewModel()
            {
                Id = c.Id,
                Name = c.Name,
                OpenDate = c.OpenDate,
                IsHeadOffice = c.IsHeadOffice,
                IsActive = c.IsActive,
                OrgCount = c.Organizations.Count(o => o.IsActive),
                COCount = c.Employees.Count(e => e.IsActive && e.IsCreditOfficer),
                UserCount = c.UserBranches.Count(u => u.UserProfile.IsActive),
                ComponentCount = c.Components.Count(p => p.IsActive)
            }).Page(pageNumber, pageSize, out psettings);

            return(branchList.ToPList(psettings));
        }
Exemplo n.º 23
0
        /// <summary>
        /// Calculate the pager properties such as starting, ending, next, previous pages.
        /// </summary>
        /// <param name="pagerData"></param>
        /// <param name="pagerSettings"></param>
        public void Calculate(Pager pagerData, PagerSettings pagerSettings)
        {
            // Check bounds.
            if (pagerData.CurrentPage < 0)
            {
                pagerData.CurrentPage = 1;
            }
            if (pagerData.CurrentPage > pagerData.TotalPages)
            {
                pagerData.CurrentPage = 1;
            }

            int currentPage = pagerData.CurrentPage;

            // Calculate the starting and ending page.
            pagerData.StartingPage = GetStartingPage(pagerData, pagerSettings);
            pagerData.EndingPage   = GetEndingPage(pagerData, pagerSettings);

            // Calculate next page.
            if (currentPage + 1 <= pagerData.TotalPages)
            {
                pagerData.NextPage = currentPage + 1;
            }
            else
            {
                pagerData.NextPage = currentPage;
            }

            // Calculate previous page number.
            if (currentPage - 1 >= 1)
            {
                pagerData.PreviousPage = currentPage - 1;
            }
            else
            {
                pagerData.PreviousPage = currentPage;
            }
        }
        public void CanGetValueSetPages(int itemsPerPage, int pageNumber, string orderBy = "Name", SortDirection direction = SortDirection.Asc)
        {
            // Arrange
            var pagerSettings = new PagerSettings {
                CurrentPage = pageNumber, ItemsPerPage = itemsPerPage, OrderBy = orderBy, Direction = direction
            };

            // Act
            var page        = this.Profiler.ExecuteTimed(async() => await this.valueSetService.GetValueSetsAsync(pagerSettings));
            var summaryPage = this.Profiler.ExecuteTimed(async() => await this.valueSetSummaryService.GetValueSetSummariesAsync(pagerSettings));

            this.Output.WriteLine($"Total Values {page.TotalItems}");
            this.Output.WriteLine($"Total Pages {page.TotalPages}");

            // Assert
            page.TotalItems.Should().BeGreaterThan(0);
            page.TotalPages.Should().BeGreaterThan(0);
            page.Values.Count.Should().BeLessOrEqualTo(itemsPerPage);

            summaryPage.TotalItems.Should().BeGreaterThan(0);
            summaryPage.TotalPages.Should().BeGreaterThan(0);
            summaryPage.Values.Count.Should().BeLessOrEqualTo(itemsPerPage);
        }
Exemplo n.º 25
0
        [InlineData("9C78E8C1-71C4-43E4-B729-8809B4785431", 10, 1)] // RXNORM
        public void GetCodesForCodeSystem(string codeSystemUniqueId, int itemsPerPage, int pageNumber)
        {
            // Arrange
            var codeSystemGuid = Guid.Parse(codeSystemUniqueId);
            var pagerSettings  = new PagerSettings {
                CurrentPage = pageNumber, ItemsPerPage = itemsPerPage
            };

            // Act
            var page = this.Profiler
                       .ExecuteTimed(async() => await this.codeSystemCodeService.GetCodeSystemCodesAsync(pagerSettings, codeSystemGuid));

            this.Output.WriteLine($"Total Values {page.TotalItems}");
            this.Output.WriteLine($"Total Pages {page.TotalPages}");

            // Assert
            page.TotalItems.Should().BeGreaterThan(0);
            page.TotalPages.Should().BeGreaterThan(0);
            page.Values.Count.Should().BeLessOrEqualTo(itemsPerPage);
            var codeSystems = page.Values.Select(c => c.CodeSystemGuid).Distinct().ToArray();

            codeSystems.Length.Should().Be(1);
            codeSystems[0].Should().Be(codeSystemGuid);
        }
Exemplo n.º 26
0
        public PList <OrganizationListViewModel> GetOrganizationList(
            int pageNumber,
            Expression <Func <Organization, object> > orderBy = null,
            SortDirection sortDir = SortDirection.Asc,
            Expression <Func <Organization, bool> > filter = null)
        {
            PagerSettings psettings = null;
            int           pageSize  = _userHelper.PagerSize;

            var orgList = (from c in _uow.OrganizationRepository.Get(filter)
                           .Order(orderBy, sortDir)
                           select new OrganizationListViewModel
            {
                Id = c.Id,
                BranchId = c.BranchId,
                OrganizationNo = c.OrganizationNo,
                OrganizationName = c.OrganizationName,
                OrgCategoryId = c.OrgCategoryId,
                OrgCategoryName = c.OrgCategory.CategoryName,
                GenderId = c.GenderId,
                Gender = c.SysGender.Name,
                SetupDate = c.SetupDate,
                MeetingFrequencyId = c.MeetingFrequency,
                MeetingFrequency = c.SysColcOption.Name,
                MeetingDate = c.MeetingDate,
                VillageId = c.VillageId,
                Village = c.SysVillage.Name,
                IsActive = c.IsActive,
                CreditOfficer = c.Employee.EmployeeName,
                SystemDate = c.SystemDate,
                UserId = c.UserId,
                SetDate = c.SetDate
            }).Page(pageNumber, pageSize, out psettings);

            return(orgList.ToPList(psettings));
        }
Exemplo n.º 27
0
 protected PagedViewModel([AspMvcController] string controller, [AspMvcAction] string action, [NotNull] PagerSettings pager)
     : this(string.Empty, controller, action, pager)
 {
 }
Exemplo n.º 28
0
        public static HtmlControl PageLinks([NotNull] PagerSettings <HtmlControl> pagerSettings)
        {
            if (pagerSettings.PageCount < 2)
            {
                return(null);
            }

            bool        invokeRootCreated = pagerSettings.OnRootCreated != null;
            bool        invokePageCreated = pagerSettings.OnPageCreated != null;
            HtmlControl rootTag           = new HtmlGenericControl(HtmlTextWriterTag.Ul.ToString());

            rootTag.AddCssClass("pagination");
            if (invokeRootCreated)
            {
                pagerSettings.OnRootCreated(rootTag);
            }

            string liTagName = HtmlTextWriterTag.Li.ToString();
            string spanTagName = HtmlTextWriterTag.Span.ToString();
            int    firstPage = 1, lastPage = pagerSettings.PageCount;
            int    firstAdjacentPage, lastAdjacentPage;

            if (pagerSettings.AdjacentPageCount > 0)
            {
                if (pagerSettings.CurrentPage <= pagerSettings.AdjacentPageCount * 2)
                {
                    firstAdjacentPage = firstPage;
                    lastAdjacentPage  = Math.Min(firstPage + pagerSettings.AdjacentPageCount * 2, lastPage);
                }
                else if (pagerSettings.CurrentPage > lastPage - pagerSettings.AdjacentPageCount * 2)
                {
                    firstAdjacentPage = lastPage - pagerSettings.AdjacentPageCount * 2;
                    lastAdjacentPage  = lastPage;
                }
                else
                {
                    firstAdjacentPage = pagerSettings.CurrentPage - pagerSettings.AdjacentPageCount;
                    lastAdjacentPage  = pagerSettings.CurrentPage + pagerSettings.AdjacentPageCount;
                }
            }
            else
            {
                firstAdjacentPage = firstPage;
                lastAdjacentPage  = lastPage;
            }

            if (pagerSettings.UseFirstAndLast)
            {
                HtmlControl li = new HtmlGenericControl(liTagName);
                HtmlControl child;

                if (pagerSettings.CurrentPage > firstPage)
                {
                    child = new HtmlAnchor {
                        HRef = pagerSettings.PageUrlHandler(firstPage)
                    };
                }
                else
                {
                    li.AddCssClass("disabled");
                    child = new HtmlGenericControl(spanTagName);
                }

                if (invokePageCreated)
                {
                    pagerSettings.OnPageCreated(li, child, false);
                }

                HtmlControl innerSpan = new HtmlGenericControl(spanTagName)
                {
                    InnerHtml = "&laquo;"
                };
                innerSpan.Attribute("aria-hidden", "true");
                child.Controls.Add(innerSpan);
                li.Controls.Add(child);
                rootTag.Controls.Add(li);
            }

            if (pagerSettings.UsePreviousAndNext)
            {
                HtmlControl li = new HtmlGenericControl(liTagName);
                HtmlControl child;

                if (pagerSettings.CurrentPage > firstPage)
                {
                    child = new HtmlAnchor {
                        HRef = pagerSettings.PageUrlHandler(pagerSettings.CurrentPage - 1)
                    };
                }
                else
                {
                    li.AddCssClass("disabled");
                    child = new HtmlGenericControl(spanTagName);
                }

                if (invokePageCreated)
                {
                    pagerSettings.OnPageCreated(li, child, false);
                }

                HtmlControl innerSpan = new HtmlGenericControl(spanTagName)
                {
                    InnerHtml = "&lt;"
                };
                innerSpan.Attribute("aria-hidden", "true");
                child.Controls.Add(innerSpan);
                li.Controls.Add(child);
                rootTag.Controls.Add(li);
            }

            if (pagerSettings.AdjacentPageCount > 0 && firstAdjacentPage > firstPage)
            {
                HtmlControl li    = new HtmlGenericControl(liTagName);
                HtmlControl child = new HtmlAnchor {
                    HRef = pagerSettings.PageUrlHandler(firstPage), InnerHtml = firstPage.ToString()
                };
                if (invokePageCreated)
                {
                    pagerSettings.OnPageCreated(li, child, false);
                }
                li.Controls.Add(child);
                rootTag.Controls.Add(li);

                if (firstAdjacentPage > firstPage + 1)
                {
                    HtmlControl liEllipse    = new HtmlGenericControl(liTagName);
                    HtmlControl childEllipse = new HtmlAnchor {
                        HRef = pagerSettings.PageUrlHandler(firstAdjacentPage - 1), InnerHtml = "&hellip;"
                    };
                    if (invokePageCreated)
                    {
                        pagerSettings.OnPageCreated(liEllipse, childEllipse, false);
                    }
                    liEllipse.Controls.Add(childEllipse);
                    rootTag.Controls.Add(liEllipse);
                }
            }

            for (int i = firstAdjacentPage; i <= lastAdjacentPage; i++)
            {
                bool        isCurrent = pagerSettings.CurrentPage == i;
                HtmlControl li        = new HtmlGenericControl(liTagName);
                HtmlControl child;

                if (isCurrent)
                {
                    li.AddCssClass("active");
                    child = new HtmlGenericControl(spanTagName)
                    {
                        InnerHtml = i.ToString()
                    };
                }
                else
                {
                    child = new HtmlAnchor {
                        HRef = pagerSettings.PageUrlHandler(i), InnerHtml = i.ToString()
                    };
                }

                if (invokePageCreated)
                {
                    pagerSettings.OnPageCreated(li, child, isCurrent);
                }
                li.Controls.Add(child);
                rootTag.Controls.Add(li);
            }

            if (pagerSettings.AdjacentPageCount > 0 && lastAdjacentPage < lastPage)
            {
                if (lastAdjacentPage < lastPage - 1)
                {
                    HtmlControl liEllipse    = new HtmlGenericControl(liTagName);
                    HtmlControl childEllipse = new HtmlAnchor {
                        HRef = pagerSettings.PageUrlHandler(lastAdjacentPage + 1), InnerHtml = "&hellip;"
                    };
                    if (invokePageCreated)
                    {
                        pagerSettings.OnPageCreated(liEllipse, childEllipse, false);
                    }
                    liEllipse.Controls.Add(childEllipse);
                    rootTag.Controls.Add(liEllipse);
                }

                HtmlControl li    = new HtmlGenericControl(liTagName);
                HtmlControl child = new HtmlAnchor {
                    HRef = pagerSettings.PageUrlHandler(lastPage), InnerHtml = lastPage.ToString()
                };
                if (invokePageCreated)
                {
                    pagerSettings.OnPageCreated(li, child, false);
                }
                li.Controls.Add(child);
                rootTag.Controls.Add(li);
            }

            if (pagerSettings.UsePreviousAndNext)
            {
                HtmlControl li = new HtmlGenericControl(liTagName);
                HtmlControl child;

                if (pagerSettings.CurrentPage < lastPage)
                {
                    child = new HtmlAnchor {
                        HRef = pagerSettings.PageUrlHandler(pagerSettings.CurrentPage + 1)
                    };
                }
                else
                {
                    li.AddCssClass("disabled");
                    child = new HtmlGenericControl(spanTagName);
                }

                if (invokePageCreated)
                {
                    pagerSettings.OnPageCreated(li, child, false);
                }

                HtmlControl innerSpan = new HtmlGenericControl(spanTagName)
                {
                    InnerHtml = "&gt;"
                };
                innerSpan.Attribute("aria-hidden", "true");
                child.Controls.Add(innerSpan);
                li.Controls.Add(child);
                rootTag.Controls.Add(li);
            }

            if (pagerSettings.UseFirstAndLast)
            {
                HtmlControl li = new HtmlGenericControl(liTagName);
                HtmlControl child;

                if (pagerSettings.CurrentPage < lastPage)
                {
                    child = new HtmlAnchor {
                        HRef = pagerSettings.PageUrlHandler(lastPage)
                    };
                }
                else
                {
                    li.AddCssClass("disabled");
                    child = new HtmlGenericControl(spanTagName);
                }

                if (invokePageCreated)
                {
                    pagerSettings.OnPageCreated(li, child, false);
                }

                HtmlControl innerSpan = new HtmlGenericControl(spanTagName)
                {
                    InnerHtml = "&raquo;"
                };
                innerSpan.Attribute("aria-hidden", "true");
                child.Controls.Add(innerSpan);
                li.Controls.Add(child);
                rootTag.Controls.Add(li);
            }

            return(rootTag);
        }
Exemplo n.º 29
0
        public IActionResult Pets(PagerSettings settings)
        {
            var result = _petsRepository.GetPets(settings);

            return(View(result));
        }
Exemplo n.º 30
0
 private void showBindingNavigator(PagerSettings pagerSettings)
 {
     showBindingNavigatorPositionItem(pagerSettings.ShowPageIndex);
     showBindingNavigatorCountItem(pagerSettings.PageCount);
 }