public PagedList <ResponseRoleDTO> GetRoleList(RequestRoleQDTO request) { using (var db = new DBEntities()) { if (!string.IsNullOrEmpty(request.ID)) { var query = from role in db.Roles.Where(t => t.State == 0) join uarole in db.UserRoleMaps.Where(t => t.UserID == request.ID) on role.ID equals uarole.RoleID into uaroleleft from uaroleempty in uaroleleft.DefaultIfEmpty() select new ResponseRoleDTO() { ID = role.ID, RoleID = role.RoleID, RoleName = role.RoleName, Selected = uaroleempty != null }; query = query.OrderBy(t => t.RoleID); return(query.ToPagedList(request.PageIndex, int.MaxValue)); } else { var query = from role in db.Roles.Where(t => t.State == 0) select new ResponseRoleDTO() { ID = role.ID, RoleID = role.RoleID, RoleName = role.RoleName, }; query = query.OrderBy(t => t.RoleID); return(query.ToPagedList(request.PageIndex, request.PageSize)); } } }
public ApiResult GetRoleList([FromBody] RequestRoleQDTO request) { return(userService.GetRoleList(request).ToApiResult()); }