//扩展分组的用户信息 添加名字信息 private List <KeyValuePair <RoleIdName, List <UserIdName> > > processGroupedUsers(List <GroupedUser> users) { var result = new List <KeyValuePair <RoleIdName, List <UserIdName> > >(); foreach (var gpuser in users) { if (gpuser.UserID == null) { continue; } string RoleId = gpuser.roleId + ""; string RoleName; try { RoleName = _roleService.GetEnterpriseRoleByRoleID(gpuser.roleId).Name; } catch (Exception) { RoleName = "(" + RoleId + ")角色不存在"; } RoleIdName rin = new RoleIdName { RoleId = RoleId, RoleName = RoleName }; List <UserIdName> list = new List <UserIdName>(); foreach (var userId in gpuser.UserID) { if (userId == null || userId.Equals("")) { continue; } string UserName; try { UserName = _userService.GetFrontUserByUserID(userId).Name; } catch (Exception) { UserName = "******" + userId + ")用户不存在"; } var uin = new UserIdName { UserId = userId, UserName = UserName }; list.Add(uin); } KeyValuePair <RoleIdName, List <UserIdName> > kv = new KeyValuePair <RoleIdName, List <UserIdName> >(rin, list); result.Add(kv); } return(result); }
public FavoritePlace AddFavoritePlace([FromBody] UserIdName userIdName) { string userId = userIdName.userId; string placeName = userIdName.name; GraphClientConnection graphClient = new GraphClientConnection(); FavoritePlace favoritePlace = new FavoritePlace(); if (graphClient == null) { StatusCode(500); return(null); } string matchQuery = "(user:User{id:'" + userId + "'})-[like:LIKE]->(favoritePlace:Place{name:'" + placeName + "'})"; var favoritePlaceQuery = graphClient.client.Cypher .Match(matchQuery) .Return((favoritePlace) => new { FavoritePlace = favoritePlace.As <FavoritePlace>() }) .Results; if (favoritePlaceQuery.Count() == 1) // relation between nodes exist already, so, you need to delete that relation { graphClient.client.Cypher .Match(matchQuery) .Delete("like") .ExecuteWithoutResults(); //204 return(null); } var newFavoritePlaceQuery = graphClient.client.Cypher .Match("(user:User{id:'" + userId + "'}),(favoritePlace:Place{name:'" + placeName + "'})") .Create("(user)-[:LIKE]->(favoritePlace)") .Return((favoritePlace) => new { FavoritePlace = favoritePlace.As <FavoritePlace>() }) .Results; favoritePlace.name = newFavoritePlaceQuery.ToList()[0].FavoritePlace.name; favoritePlace.address = newFavoritePlaceQuery.ToList()[0].FavoritePlace.address; favoritePlace.imageUrl = newFavoritePlaceQuery.ToList()[0].FavoritePlace.imageUrl; return(favoritePlace); }