Ejemplo n.º 1
0
        public void DeleteUserRelationshipPreference(UserRelationshipPreference userRelationshipPreference)
        {
            Requires.NotNull("userRelationshipPreference", userRelationshipPreference);

            _dataService.DeleteUserRelationshipPreference(userRelationshipPreference.PreferenceId);

            //log event
            string logContent =
                string.Format(
                    Localization.GetString("UserRelationshipPreference_Deleted", Localization.GlobalResourceFile),
                    userRelationshipPreference.PreferenceId, userRelationshipPreference.UserId,
                    userRelationshipPreference.RelationshipId);

            AddLog(logContent);
        }
Ejemplo n.º 2
0
        public void SaveUserRelationshipPreference(UserRelationshipPreference userRelationshipPreference)
        {
            Requires.NotNull("userRelationshipPreference", userRelationshipPreference);

            string localizationKey = (userRelationshipPreference.PreferenceId == Null.NullInteger)
                                         ? "UserRelationshipPreference_Added"
                                         : "UserRelationshipPreference_Updated";

            userRelationshipPreference.PreferenceId =
                _dataService.SaveUserRelationshipPreference(userRelationshipPreference,
                                                            UserController.GetCurrentUserInfo().UserID);

            //log event
            string logContent = string.Format(Localization.GetString(localizationKey, Localization.GlobalResourceFile),
                                              userRelationshipPreference.PreferenceId, userRelationshipPreference.UserId,
                                              userRelationshipPreference.RelationshipId);

            AddLog(logContent);
        }
Ejemplo n.º 3
0
        /// -----------------------------------------------------------------------------
        /// <summary>
        /// Initiate an UserRelationship Request
        /// </summary>
        /// <param name="initiatingUser">UserInfo of the user initiating the request</param>
        /// <param name="targetUser">UserInfo of the user being solicited for initiating the request</param>
        /// <param name="relationship">Relationship to associate this request to (Portal-Level Relationship or User-Level Relationship)</param>
        /// <remarks>
        /// If all conditions are met UserRelationship object belonging to Initiating User is returned.
        /// </remarks>
        /// <returns>
        /// Relationship object belonging to the initiating user
        /// </returns>
        /// <exception cref="UserRelationshipBlockedException">Target user has Blocked any relationship request from Initiating user</exception>
        /// <exception cref="InvalidRelationshipTypeException">Relationship type does not exist</exception>
        /// -----------------------------------------------------------------------------
        public UserRelationship InitiateUserRelationship(UserInfo initiatingUser, UserInfo targetUser,
                                                         Relationship relationship)
        {
            Requires.NotNull("user1", initiatingUser);
            Requires.NotNull("user2", targetUser);
            Requires.NotNull("relationship", relationship);

            Requires.PropertyNotNegative("user1", "UserID", initiatingUser.UserID);
            Requires.PropertyNotNegative("user2", "UserID", targetUser.UserID);

            Requires.PropertyNotNegative("user1", "PortalID", initiatingUser.PortalID);
            Requires.PropertyNotNegative("user2", "PortalID", targetUser.PortalID);

            Requires.PropertyNotNegative("relationship", "RelationshipId", relationship.RelationshipId);

            //cannot be same user
            if (initiatingUser.UserID == targetUser.UserID)
            {
                throw new UserRelationshipForSameUsersException(
                          Localization.GetExceptionMessage("UserRelationshipForSameUsersError",
                                                           "Initiating and Target Users cannot have same UserID '{0}'.",
                                                           initiatingUser.UserID));
            }

            //users must be from same portal
            if (initiatingUser.PortalID != targetUser.PortalID)
            {
                throw new UserRelationshipForDifferentPortalException(
                          Localization.GetExceptionMessage("UserRelationshipForDifferentPortalError",
                                                           "Portal ID '{0}' of Initiating User is different from Portal ID '{1}' of Target  User.",
                                                           initiatingUser.PortalID, targetUser.PortalID));
            }

            //check for existing UserRelationship record
            UserRelationship existingRelationship = GetUserRelationship(initiatingUser, targetUser, relationship);

            if (existingRelationship != null)
            {
                throw new UserRelationshipExistsException(Localization.GetExceptionMessage(
                                                              "UserRelationshipExistsError",
                                                              "Relationship already exists for Initiating User '{0}' Target User '{1}' RelationshipID '{2}'.",
                                                              initiatingUser.UserID, targetUser.UserID, relationship.RelationshipId));
            }

            //no existing UserRelationship record found


            //use Relationship DefaultResponse as status
            RelationshipStatus status = relationship.DefaultResponse;

            //check if there is a custom relationship status setting for the user.
            //TODO - Is this check only applicable for portal or host list
            //if (relationship.IsPortalList || relationship.IsHostList)
            {
                UserRelationshipPreference preference = GetUserRelationshipPreference(targetUser.UserID,
                                                                                      relationship.RelationshipId);
                if (preference != null)
                {
                    status = preference.DefaultResponse;
                }
            }

            if (status == RelationshipStatus.None)
            {
                status = RelationshipStatus.Pending;
            }

            var userRelationship = new UserRelationship
            {
                UserRelationshipId = Null.NullInteger,
                UserId             = initiatingUser.UserID,
                RelatedUserId      = targetUser.UserID,
                RelationshipId     = relationship.RelationshipId,
                Status             = status
            };

            SaveUserRelationship(userRelationship);

            return(userRelationship);
        }
        public void RelationshipController_SaveUserRelationshipPreference_Calls_EventLogController_AddLog()
        {
            //Arrange
            var mockDataService = new Mock<IDataService>();
            mockDataService.Setup(ds => ds.SaveUserRelationshipPreference(It.IsAny<UserRelationshipPreference>(), It.IsAny<int>()))
                                .Returns(Constants.SOCIAL_PrefereceIDForUser11);
            var mockEventLogController = new Mock<IEventLogController>();
            mockEventLogController.Setup(c => c.AddLog(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<EventLogController.EventLogType>()));
            CreateLocalizationProvider();

            var relationshipController = new RelationshipControllerImpl(mockDataService.Object, mockEventLogController.Object);
            var preference = new UserRelationshipPreference()
                                            {
                                                PreferenceId = Constants.SOCIAL_PrefereceIDForUser11,
                                                UserId = Constants.USER_ElevenId,
                                                RelationshipId = Constants.SOCIAL_FriendRelationshipID
                                            };

            //Act
            relationshipController.SaveUserRelationshipPreference(preference);

            //Assert
            var logContent = string.Format(Constants.LOCALIZATION_UserRelationshipPreference_Updated, Constants.SOCIAL_PrefereceIDForUser11, Constants.USER_ElevenId, Constants.SOCIAL_FriendRelationshipID);
            mockEventLogController.Verify(e => e.AddLog("Message", logContent, EventLogController.EventLogType.ADMIN_ALERT));
        }
        public void RelationshipController_SaveUserRelationshipPreference_Calls_DataService()
        {
            //Arrange
            var mockDataService = new Mock<IDataService>();
            var relationshipController = CreateRelationshipController(mockDataService);
            var preference = new UserRelationshipPreference()
                                    {
                                        PreferenceId = Constants.SOCIAL_PrefereceIDForUser11,
                                        UserId = Constants.USER_ElevenId,
                                        RelationshipId = Constants.SOCIAL_FriendRelationshipID
                                    };

            //Act
            relationshipController.SaveUserRelationshipPreference(preference);

            //Assert
            mockDataService.Verify(d => d.SaveUserRelationshipPreference(preference, It.IsAny<int>()));
        }
        public void RelationshipController_DeleteUserRelationshipPreference_Calls_EventLogController_AddLog()
        {
            //Arrange
            var mockEventLogController = new Mock<IEventLogController>();
            mockEventLogController.Setup(c => c.AddLog(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<EventLogController.EventLogType>()));
            CreateLocalizationProvider();

            var relationshipController = CreateRelationshipController(mockEventLogController);
            var preference = new UserRelationshipPreference()
                                        {
                                            PreferenceId = Constants.SOCIAL_PrefereceIDForUser11,
                                            UserId = Constants.USER_ElevenId,
                                            RelationshipId = Constants.SOCIAL_FriendRelationshipID
                                        };

            //Act
            relationshipController.DeleteUserRelationshipPreference(preference);

            //Assert
            var logContent = string.Format(Constants.LOCALIZATION_UserRelationshipPreference_Deleted, Constants.SOCIAL_PrefereceIDForUser11, Constants.USER_ElevenId, Constants.SOCIAL_FriendRelationshipID);
            mockEventLogController.Verify(e => e.AddLog("Message", logContent, EventLogController.EventLogType.ADMIN_ALERT));
        }
        public void RelationshipController_DeleteUserRelationshipPreference_Calls_DataService()
        {
            //Arrange
            var mockDataService = new Mock<IDataService>();
            var relationshipController = CreateRelationshipController(mockDataService);
            var preference = new UserRelationshipPreference()
                                    {
                                        PreferenceId = Constants.SOCIAL_PrefereceIDForUser11
                                    };

            //Act
            relationshipController.DeleteUserRelationshipPreference(preference);

            //Assert
            mockDataService.Verify(d => d.DeleteUserRelationshipPreference(Constants.SOCIAL_PrefereceIDForUser11));
        }
        public void SaveUserRelationshipPreference(UserRelationshipPreference userRelationshipPreference)
        {
            Requires.NotNull("userRelationshipPreference", userRelationshipPreference);

            string localizationKey = (userRelationshipPreference.PreferenceId == Null.NullInteger)
                                         ? "UserRelationshipPreference_Added"
                                         : "UserRelationshipPreference_Updated";

            userRelationshipPreference.PreferenceId =
                _dataService.SaveUserRelationshipPreference(userRelationshipPreference,
                                                            UserController.GetCurrentUserInfo().UserID);

            //log event            
            string logContent = string.Format(Localization.GetString(localizationKey, Localization.GlobalResourceFile),
                                              userRelationshipPreference.PreferenceId, userRelationshipPreference.UserId,
                                              userRelationshipPreference.RelationshipId);
            AddLog(logContent);
        }
        public void DeleteUserRelationshipPreference(UserRelationshipPreference userRelationshipPreference)
        {
            Requires.NotNull("userRelationshipPreference", userRelationshipPreference);

            _dataService.DeleteUserRelationshipPreference(userRelationshipPreference.PreferenceId);

            //log event
            string logContent =
                string.Format(
                    Localization.GetString("UserRelationshipPreference_Deleted", Localization.GlobalResourceFile),
                    userRelationshipPreference.PreferenceId, userRelationshipPreference.UserId,
                    userRelationshipPreference.RelationshipId);
            AddLog(logContent);
        }