public ActionResult PostUserRole() { string roleids = DoRequest.GetFormString("roleids"); int userid = DoRequest.GetFormInt("userid"); List <UserRoleList> oldlist = new List <UserRoleList>(); var reslist = GetUserRole.Do(userid); if (reslist != null && reslist.Body != null && reslist.Body.user_role_list != null) { oldlist = reslist.Body.user_role_list; } string[] newidss = roleids.Split(','); List <int> newids = new List <int>(); foreach (string em in newidss) { newids.Add(Utils.StrToInt(em, 0)); } string delids = ""; int _count = 0; foreach (UserRoleList em in oldlist) { if (!newids.Contains(em.role_id)) { if (_count == 0) { delids = em.role_id.ToString(); } else { delids = delids + "," + em.role_id.ToString(); } } } if (delids.Equals("")) { delids = "0"; } int returnValue = -1; var res = OpUserRole.Do(userid, roleids, delids); if (res != null && res.Header != null && res.Header.Result != null && res.Header.Result.Code != null) { returnValue = Utils.StrToInt(res.Header.Result.Code, -1); } if (returnValue == 0) { return(Json(new { error = false, message = "操作成功!" })); } return(Json(new { error = true, message = "操作失败!" })); }
public ActionResult GetRoleList() { int userid = DoRequest.GetFormInt("id"); List <RoleInfo> item1 = new List <RoleInfo>(); List <UserRoleList> item2 = new List <UserRoleList>(); var resrole = QueryRoleList.Do(); var resrole2 = GetUserRole.Do(userid); if (resrole != null && resrole.Body != null && resrole.Body.role_list != null && resrole2 != null && resrole2.Body != null && resrole2.Body.user_role_list != null) { item1 = resrole.Body.role_list; item2 = resrole2.Body.user_role_list; return(Json(new { error = false, role = item1, role2 = item2, message = "操作成功!" })); } return(Json(new { error = true, message = "操作失败" })); }
public UserRoleInfo GetUserRole(string userId) { var getUserRole = new GetUserRole(Client.Ticket, Token, Client.AccountDomain, ApplicationId, userId); var xml = getUserRole.Post(); XElement userElm = xml.Element("user"); // User info var returnedUserId = userElm.Attribute("id").Value; var name = userElm.Element("name").Value; var userRoleInfo = new UserRoleInfo(returnedUserId, name); // Role info foreach (XElement node in userElm.Element("roles").Elements("role")) { var roleId = int.Parse(node.Attribute("id").Value); var roleName = node.Element("name").Value; var accessNode = node.Element("access"); var roleAccessId = int.Parse(accessNode.Attribute("id").Value); var roleAccess = accessNode.Value; userRoleInfo.AddRole(roleId, roleName, roleAccessId, roleAccess); } return(userRoleInfo); }
public UserRoleInfo GetUserRole(string userId) { var getUserRole = new GetUserRole(Client.Ticket, Token, Client.AccountDomain, ApplicationId, userId); var xml = getUserRole.Post().CreateNavigator(); // User info var returnedUserId = xml.SelectSingleNode("/qdbapi/user").GetAttribute("id", String.Empty); var name = xml.SelectSingleNode("/qdbapi/user/name").Value; var userRoleInfo = new UserRoleInfo(returnedUserId, name); // Role info var roleNodes = xml.Select("/qdbapi/user/roles/role"); foreach (XPathNavigator node in roleNodes) { var roleId = int.Parse(node.GetAttribute("id", String.Empty)); var roleName = node.SelectSingleNode("name").Value; var accessNode = node.SelectSingleNode("access"); var roleAccessId = int.Parse(accessNode.GetAttribute("id", String.Empty)); var roleAccess = accessNode.Value; userRoleInfo.AddRole(roleId, roleName, roleAccessId, roleAccess); } return(userRoleInfo); }
public void Setup() { tokenProvider = new Mock <IAccessTokenProvider>(); userRoleRepository = new Mock <IUserRoleRepository>(); _fixture = new GetUserRole(tokenProvider.Object, userRoleRepository.Object); }
public TList<UserRole> GetUserRole(GetUserRole request) { var httpRequest = RequestContext.Get<IHttpRequest>(); var userSession = httpRequest.GetSession (); if (userSession == null) return new TList<UserRole> (); if (!request.UserId.HasValue) request.UserId = default(int); long? totalCount=null; var pager= httpRequest.BuildPager(); var visitor = ReadExtensions.CreateExpression<UserRole>(); var predicate = PredicateBuilder.True<UserRole>(); if (request.UserId == default(int)) request.UserId = int.Parse (userSession.UserAuthId); else if (!(userSession.HasRole (RoleNames.Admin)) && request.UserId != int.Parse (userSession.UserAuthId)) { throw HttpError.Unauthorized ("User no allowed to read roles from other user"); } predicate= q=>q.UserId==request.UserId; return AuthRepoProxy.Execute(db=>{ if(pager.PageNumber.HasValue) { totalCount= db.Count(predicate); int rows= pager.PageSize.HasValue? pager.PageSize.Value:Defs.PageSize; visitor.Limit(pager.PageNumber.Value*rows, rows); } visitor.Where(predicate); var ur = db.Select(visitor); if(ur.Count>0) { var rp = PredicateBuilder.False<AuthRole>(); foreach (var r in ur) { var id = r.AuthRoleId; rp= rp.Or(f=>f.Id==id); } var roles = db.Select<AuthRole>(rp); foreach (var r in ur){ r.Name= roles.Find(f=>f.Id==r.AuthRoleId).Name; } } return new TList<UserRole>(){ Result=ur, TotalCount=totalCount }; }); }