public JsonResult Get(int pageIndex, int pageSize, string pageOrder, string title, string fromDate, string toDate) { DateTime?sDate = null, eDate = null; if (fromDate != String.Empty) { sDate = Utilities.ToEnglishDate(fromDate).Date; } if (toDate != String.Empty) { eDate = Utilities.ToEnglishDate(toDate).Date; } var list = ProductDiscounts.Get(pageIndex, pageSize, pageOrder, title, sDate, eDate); foreach (var item in list) { if (item.ProductID.HasValue) { var product = Products.GetByID(item.ProductID.Value); item.ProductTitle = product.Title; } else { item.ProductTitle = "-"; } if (item.GroupID.HasValue) { var group = Groups.GetByID(item.GroupID.Value); item.GroupTitle = group.Title; } else { item.GroupTitle = "-"; } if (item.RoleID != null) { var role = IdentityDbContext.Entity.Roles.Where(r => r.Id == item.RoleID).Single(); item.RoleTitle = role.Name; } else { item.RoleTitle = "-"; } } int total = ProductDiscounts.Count(title, sDate, eDate); int totalPage = (int)Math.Ceiling((decimal)total / pageSize); if (pageSize > total) { pageSize = total; } if (list.Count < pageSize) { pageSize = list.Count; } JsonResult result = new JsonResult() { Data = new { TotalPages = totalPage, PageIndex = pageIndex, PageSize = pageSize, Rows = list }, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; return(result); }