public bool ToggleConnection(Guid fromUserId, Guid toUserId)
        {
            if (fromUserId == toUserId)
            {
                return(false);
            }

            var userConnection = _userConnectionRepository.FindUserConnection(fromUserId, toUserId);

            if (userConnection == null)
            {
                var fromUser = _userRepository.FindById(fromUserId);
                var toUser   = _userRepository.FindById(toUserId);

                if (fromUser != null && toUser != null)
                {
                    userConnection = new UserConnection {
                        FromUser = fromUser, ToUser = toUser
                    };
                    _userConnectionRepository.Create(userConnection);
                    return(true);
                }

                return(false);
            }

            _userConnectionRepository.Delete(userConnection);
            return(false);
        }
Beispiel #2
0
        private static void CreateUsers()
        {
            IUserRepository           userRepository           = ServiceLocator.Current.GetInstance <IUserRepository>();
            IUserConnectionRepository userConnectionRepository = ServiceLocator.Current.GetInstance <IUserConnectionRepository>();
            IUnitOfWork unitOfWork = ServiceLocator.Current.GetInstance <IUnitOfWork>();

            var usertest1  = CreateValidUser("usertest1", "Martin", "Test1");
            var usertest2A = CreateValidUser("usertest2A", "Arnold", "Test2A");
            var usertest2B = CreateValidUser("usertest2B", "Victor", "Test2B");
            var usertest3  = CreateValidUser("usertest3", "Victor", "Test3");
            var usertest4  = CreateValidUser("usertest4", "Victor", "Test4");
            var usertest5  = CreateValidUser("usertest5", "Victor", "Test5");
            var usertest6  = CreateValidUser("usertest6", "Victor", "Test6");
            var usertest7  = CreateValidUser("usertest7", "Victor", "Test7");
            var usertest8  = CreateValidUser("usertest8", "Victor", "Test8");
            var usertest9  = CreateValidUser("usertest9", "Victor", "Test9");
            var unknown1   = CreateValidUser("unknown1", "Victor", "Unknown1");
            var unknown2   = CreateValidUser("unknown2", "Victor", "Unknown2");

            userRepository.Create(usertest1);
            userRepository.Create(usertest2A);
            userRepository.Create(usertest2B);
            userRepository.Create(usertest3);
            userRepository.Create(usertest4);
            userRepository.Create(usertest5);
            userRepository.Create(usertest6);
            userRepository.Create(usertest7);
            userRepository.Create(usertest8);
            userRepository.Create(usertest9);
            userRepository.Create(unknown1);
            userRepository.Create(unknown2);

            userConnectionRepository.Create(new UserConnection {
                Id = Guid.NewGuid(), FromUser = usertest1, ToUser = usertest2A
            });
            userConnectionRepository.Create(new UserConnection {
                Id = Guid.NewGuid(), FromUser = usertest2A, ToUser = usertest2B
            });
            userConnectionRepository.Create(new UserConnection {
                Id = Guid.NewGuid(), FromUser = usertest2A, ToUser = usertest3
            });
            userConnectionRepository.Create(new UserConnection {
                Id = Guid.NewGuid(), FromUser = usertest2B, ToUser = usertest2A
            });
            userConnectionRepository.Create(new UserConnection {
                Id = Guid.NewGuid(), FromUser = usertest3, ToUser = usertest4
            });
            userConnectionRepository.Create(new UserConnection {
                Id = Guid.NewGuid(), FromUser = usertest4, ToUser = usertest5
            });
            userConnectionRepository.Create(new UserConnection {
                Id = Guid.NewGuid(), FromUser = usertest5, ToUser = usertest6
            });
            userConnectionRepository.Create(new UserConnection {
                Id = Guid.NewGuid(), FromUser = usertest6, ToUser = usertest7
            });
            userConnectionRepository.Create(new UserConnection {
                Id = Guid.NewGuid(), FromUser = usertest7, ToUser = usertest8
            });
            userConnectionRepository.Create(new UserConnection {
                Id = Guid.NewGuid(), FromUser = usertest8, ToUser = usertest9
            });
            userConnectionRepository.Create(new UserConnection {
                Id = Guid.NewGuid(), FromUser = unknown1, ToUser = unknown2
            });

            unitOfWork.Commit();
        }
        public void connection_must_be_removed_after_toggle_when_connection_exists()
        {
            var user1 = DatabaseHelper.CreateValidUser("user3");
            var user2 = DatabaseHelper.CreateValidUser("user4");

            _userReposiotry.Create(user1);
            _userReposiotry.Create(user2);
            _userConnectionRepository.Create(new UserConnection {
                Id = Guid.NewGuid(), FromUser = user1, ToUser = user2
            });
            _unitOfWork.Commit();

            bool userHaveConnection = _userConnectionService.ToggleConnection(user1.Id, user2.Id);

            _unitOfWork.Commit();

            Assert.IsFalse(userHaveConnection, "User must not have connection after toggle connection");
            Assert.IsFalse(_userConnectionService.IsConnectionBetweenUsers(user1.Id, user2.Id), "User must not have connection after toggle connection");
        }