PageModel.List C# (CSharp) Method

List() public method

public List ( int pageNo, int pageSize, bool>.Func filter = null ) : PageModel,
pageNo int
pageSize int
filter bool>.Func
return PageModel,
    public PageModel List(int pageNo, int pageSize, Func<ExpandoObject, bool> filter = null)
    {
        Value.PageNo = pageNo;
        Value.PageSize = pageSize;
        IEnumerable<ExpandoObject> list = Repository.List(filter);

        //if (filter != null) list = list.Where(p => filter(p));
        //if (sort != null) sort = list.OrderBy((p=>sort(p));

        Value.List = list == null ? null :
            list.Skip((pageNo - 1) * pageSize).Take(pageSize);

        return this;
    }

Usage Example

コード例 #1
0
ファイル: PageModelTest.cs プロジェクト: kouweizhong/Rabbit
    public void List_Should_Use_Paging_Filter()
    {
        var list = new List <ExpandoObject>();

        for (int i = 0; i < 50; i++)
        {
            dynamic item = new ExpandoObject();
            item.Title = i.ToString();
            list.Add(item);
        }

        var repository = new Mock();

        repository.Setup("List", null, list);

        var model = new PageModel();

        model.Repository = repository;
        model.List(1, 20, (p) => ((dynamic)p).Title.StartsWith("2"));

        Assert.AreEqual(1, model.Value.PageNo);
        Assert.AreEqual(20, model.Value.PageSize);

        IEnumerable <ExpandoObject> ret = model.Value.List;

        Assert.AreEqual(20, ret.Count()); //should be 11, if model handles the filter

        repository.Verify();
    }
All Usage Examples Of PageModel::List