using CZFW.Framework.Interface; using CZFW.Framework.Model; using CZFW.Framework.Model.Entity; using CZFW.Framework.Model.ViewModel; using System.Collections.Generic; using System.Linq; namespace CZFW.Framework.Logic { public class PrivilegeLogic : LogicBase, IPrivilege { public IList GetListByGroupMark(string mark) { var res = GetSortedQueryable().Where(x => x.GroupMark == mark).Select(x => new PrivilegeModel() { Id = x.Id, ActionName = x.ActionName, AreaName = x.AreaName, ControllerName = x.ControllerName, Description = x.Description, GroupMark = x.GroupMark, Name = x.Name, SortOrder = x.SortOrder ?? 0, Url = x.Url }).ToList(); return res; } public TableModel GetTableModelByGroupMark(string mark, int pageIndex = 1, int pageSize = 20) { var res = new TableModel(); var queryable = GetSortedQueryable().Where(x => x.GroupMark == mark); var data = queryable.Select(x => new PrivilegeModel() { Id = x.Id, ActionName = x.ActionName, AreaName = x.AreaName, ControllerName = x.ControllerName, Description = x.Description, GroupMark = x.GroupMark, Name = x.Name, SortOrder = x.SortOrder ?? 0, Url = x.Url }).OrderByDescending(x=>x.SortOrder).Skip((pageIndex-1)*pageSize).Take(pageSize).ToList(); res.SetData(data); var total = queryable.Count(); res.Pager = new PagerModel(total, pageIndex, pageSize); res.TableHeads = PropertyHelper.Get(typeof(PrivilegeModel)); return res; } } }