Exemple #1
0
        //neo4j
        public void DeleteUser(UserDTO user)
        {
            UserDTONeo4j neo4J = new UserDTONeo4j(user.Username, user.Followers, user.Following);

            _user.deleteUser(user);
            _userNeo4j.DeleteUser(neo4J);
        }
Exemple #2
0
        //neo4j
        public void AddUser(UserDTO user)
        {
            UserDTONeo4j neo4J = new UserDTONeo4j(user.Username, user.Followers, user.Following);

            _user.CreateUser(user);
            _userNeo4j.CreateUser(neo4J);
        }
Exemple #3
0
        //neo4j
        public void UnfollowUser(UserDTO user, UserDTO userToFollow)
        {
            UserDTONeo4j neo4J         = new UserDTONeo4j(user.Username, user.Followers, user.Following);
            UserDTONeo4j neo4JToFollow = new UserDTONeo4j(userToFollow.Username, userToFollow.Followers, userToFollow.Following);

            if (_userNeo4j.IsFollowing(neo4J, neo4JToFollow))
            {
                _user.unfollowUser(user, userToFollow);
                _userNeo4j.DeleteRelationship(neo4J, neo4JToFollow);
            }
        }
Exemple #4
0
        //neo4j
        public void FollowUser(UserDTO user, UserDTO userToFollow)
        {
            UserDTONeo4j neo4J         = new UserDTONeo4j(user.Username, user.Followers, user.Following);
            UserDTONeo4j neo4JToFollow = new UserDTONeo4j(userToFollow.Username, userToFollow.Followers, userToFollow.Following);

            if (_userNeo4j.IsFollowing(neo4J, neo4JToFollow) == false)
            {
                _user.FollowUser(user, userToFollow);
                _userNeo4j.CreateRelationship(neo4J, neo4JToFollow);
            }
        }
        public void CreateUser(UserDTONeo4j user)
        {
            using (var client = new GraphClient(new Uri(_connectionString), _login, _password))
            {
                client.Connect();

                client.Cypher.Create("(user:User { Username: {username}, Following: {following}, Followers: {followers}, })")
                .WithParam("username", user.Username)
                .WithParam("following", user.Following)
                .WithParam("followers", user.Followers)
                .ExecuteWithoutResults();
            }
        }
 public void DeleteUser(UserDTONeo4j user)
 {
     using (var client = new GraphClient(new Uri(_connectionString), _login, _password))
     {
         client.Connect();
         client.Cypher
         .Match("(user1:User)-[r:Follower]-()")
         .Where("user1.Username = {username}")
         .WithParam("username", user.Username)
         .Delete("r,user1")
         .ExecuteWithoutResults();
     }
 }
 public void DeleteRelationship(UserDTONeo4j user1, UserDTONeo4j user2)
 {
     using (var client = new GraphClient(new Uri(_connectionString), _login, _password))
     {
         client.Connect();
         client.Cypher
         .Match("(user1:User)-[r:Follower]-(user2:User)")
         .Where("user1.Username = {username1}")
         .AndWhere("user2.User_Id = {username2}")
         .WithParam("username1", user1.Username)
         .WithParam("username2", user2.Username)
         .Delete("r")
         .ExecuteWithoutResults();
     }
 }
 //checks whether user1 follows user2 or not
 public bool IsFollowing(UserDTONeo4j user1, UserDTONeo4j user2)
 {
     using (var client = new GraphClient(new Uri(_connectionString), _login, _password))
     {
         client.Connect();
         var follower = client.Cypher
                        .Match("(user1:User)-[r:Follower]-(user2:User)")
                        .Where((UserDTONeo4j User1) => User1.Username == user1.Username)
                        .AndWhere((UserDTONeo4j User2) => User2.Username == user2.Username)
                        .Return(r => r.As <Follower>()).Results;
         if (follower.Count() == 1)
         {
             return(true);
         }
         return(false);
     }
 }
Exemple #9
0
        //neo4j
        public string RelationshipStatus(UserDTO user1, UserDTO user2)
        {
            UserDTONeo4j neo4J         = new UserDTONeo4j(user1.Username, user1.Followers, user1.Following);
            UserDTONeo4j neo4JToFollow = new UserDTONeo4j(user2.Username, user2.Followers, user2.Following);
            int          length        = _userNeo4j.ShortestPath(neo4J.Username, neo4JToFollow.Username);

            if (length == 0)
            {
                return("You have no mutual friends with " + neo4JToFollow.Username);
            }
            if (length == 1)
            {
                return("You are following " + neo4JToFollow.Username);
            }
            if (length == 2)
            {
                return("You have mutual friends with " + neo4JToFollow.Username);
            }
            else
            {
                return("You may have some mutual friends with " + neo4JToFollow.Username);
            }
        }