public PagedModel<SmallInfoSource> FindByCriteria(SmallInfoSourceCriteria c) { PagedModel<SmallInfoSource> m = new PagedModel<SmallInfoSource>(); var r = this.Repository.FindByCriteria(c); if(!String.IsNullOrEmpty(c.sortname)){ if(c.sortname.ToLower().Equals("id")){ if(c.sortorder.ToLower().Equals("asc")){ r = r.OrderBy(o=>o.Id); }else{ r = r.OrderByDescending(o=>o.Id); } } if(c.sortname.ToLower().Equals("name")){ if(c.sortorder.ToLower().Equals("asc")){ r = r.OrderBy(o=>o.Name); }else{ r = r.OrderByDescending(o=>o.Name); } } if(c.sortname.ToLower().Equals("infosourcebigid")){ if(c.sortorder.ToLower().Equals("asc")){ r = r.OrderBy(o=>o.InfoSourceBigId); }else{ r = r.OrderByDescending(o=>o.InfoSourceBigId); } } } m.RecordCount = r.Count(); if (c.pagesize.HasValue) { int page = c.page ?? 1; int pageCount = m.RecordCount / c.pagesize.Value; if (m.RecordCount % c.pagesize.Value > 0) { pageCount++; } int skip = (page - 1) * c.pagesize.Value; if (skip > 0) { r = r.Skip(skip); } r = r.Take(c.pagesize.Value); } m.Data = r.ToList(); return m; }
public ActionResult GetData(SmallInfoSourceCriteria c) { var m = new LigerGridModel(); this.BeforeGetData(c); var r = this.Service.FindByCriteria(c); this.AfterGetData(m, c, r); m.Total = r.RecordCount; r.Data.ForEach(o => { this.AddRowToGridModel(m, o); }); this.AfterBuildGridModel(m, c, r); return this.Json(m, JsonRequestBehavior.AllowGet); }
partial void BeforeGetData(SmallInfoSourceCriteria c);
partial void AfterGetData(LigerGridModel gm, SmallInfoSourceCriteria c, PagedModel<SmallInfoSource> pm);