/// <summary>
        /// Get YAF User Id from the Current DNN User
        /// </summary>
        /// <returns>
        /// The YAF User ID
        /// </returns>
        private int GetYafUserId()
        {
            // Check for user
            if (!HttpContext.Current.User.Identity.IsAuthenticated)
            {
                return(UserMembershipHelper.GuestUserId);
            }

            // get the user from the membership provider
            var dnnUser = Membership.GetUser(this.UserInfo.Username, true);

            // Check if the user exists in yaf
            var yafUserId = LegacyDb.user_get(this.boardId, dnnUser.ProviderUserKey);

            if (!yafUserId.Equals(0))
            {
                return(yafUserId);
            }

            // Get current DNN user
            var dnnUserInfo = UserController.GetCurrentUserInfo();

            return(UserImporter.CreateYafUser(
                       dnnUserInfo,
                       dnnUser,
                       this.boardId,
                       this.PortalSettings.PortalId,
                       YafContext.Current.Get <YafBoardSettings>()));
        }
Beispiel #2
0
        /// <summary>
        /// Check if the DNN User exists in YAF, and if the Profile is up to date.
        /// </summary>
        private void CreateOrUpdateUser()
        {
            // Get current DNN user
            var dnnUserInfo = UserController.GetCurrentUserInfo();

            // get the user from the membership provider
            MembershipUser dnnMembershipUser = Membership.GetUser(dnnUserInfo.Username, true);

            if (dnnMembershipUser == null)
            {
                return;
            }

            // Check if the user exists in yaf
            var yafUserId = LegacyDb.user_get(this.forum1.BoardID, dnnMembershipUser.ProviderUserKey);

            var boardSettings = YafContext.Current == null
                                    ? new YafLoadBoardSettings(this.forum1.BoardID)
                                    : YafContext.Current.Get <YafBoardSettings>();

            if (yafUserId.Equals(0))
            {
                yafUserId = UserImporter.CreateYafUser(
                    dnnUserInfo,
                    dnnMembershipUser,
                    this.forum1.BoardID,
                    this.CurrentPortalSettings.PortalId,
                    boardSettings);

                // super admin check...
                if (dnnUserInfo.IsSuperUser)
                {
                    UserImporter.CreateYafHostUser(yafUserId, this.forum1.BoardID);
                }
            }
            else
            {
                this.CheckForRoles(dnnUserInfo, yafUserId);

                ProfileSyncronizer.UpdateUserProfile(
                    yafUserId,
                    YafContext.Current.Profile,
                    YafContext.Current.CurrentUserData,
                    dnnUserInfo,
                    dnnMembershipUser,
                    this.CurrentPortalSettings.PortalId,
                    this.CurrentPortalSettings.GUID,
                    boardSettings);
            }
        }
Beispiel #3
0
        /// <summary>
        /// Check if the DNN User exists in YAF, and if the Profile is up to date.
        /// </summary>
        private void CreateOrUpdateUser()
        {
            // Get current DNN user
            var dnnUserInfo = UserController.Instance.GetCurrentUserInfo();

            // Check if the user exists in yaf
            var yafUser = this.GetRepository <User>().GetUserByProviderKey(this.forum1.BoardID, dnnUserInfo.UserID.ToString());

            if (yafUser == null)
            {
                // Migrate from Yaf < 3
                yafUser = this.GetRepository <User>()
                          .GetSingle(u => u.Name == dnnUserInfo.Username && u.Email == dnnUserInfo.Email);

                if (yafUser != null)
                {
                    // update provider Key
                    this.GetRepository <User>().UpdateOnly(
                        () => new User {
                        ProviderUserKey = dnnUserInfo.UserID.ToString()
                    },
                        u => u.ID == yafUser.ID);
                }
            }

            var boardSettings = BoardContext.Current == null
                ? new LoadBoardSettings(this.forum1.BoardID)
                : this.Get <BoardSettings>();

            if (yafUser == null)
            {
                var yafUserId = UserImporter.CreateYafUser(
                    dnnUserInfo,
                    this.forum1.BoardID,
                    this.CurrentPortalSettings.PortalId,
                    boardSettings);

                // super admin check...
                if (dnnUserInfo.IsSuperUser)
                {
                    UserImporter.SetYafHostUser(yafUserId, this.forum1.BoardID);
                }
            }
            else
            {
                this.CheckForRoles(dnnUserInfo, yafUser.ID);
            }
        }
        /// <summary>
        /// Check if the DNN User exists in YAF, and if the Profile is up to date.
        /// </summary>
        private void CreateOrUpdateUser()
        {
            // Get current DNN user
            var dnnUserInfo = UserController.Instance.GetCurrentUserInfo();

            // get the user from the membership provider
            var dnnMembershipUser = Membership.GetUser(dnnUserInfo.Username, true);

            if (dnnMembershipUser == null)
            {
                return;
            }

            // Check if the user exists in yaf
            var yafUserId = BoardContext.Current.GetRepository <User>().GetUserId(this.forum1.BoardID, dnnMembershipUser.ProviderUserKey.ToString());

            var boardSettings = BoardContext.Current == null
                                    ? new LoadBoardSettings(this.forum1.BoardID)
                                    : BoardContext.Current.Get <BoardSettings>();

            if (yafUserId.Equals(0))
            {
                yafUserId = UserImporter.CreateYafUser(
                    dnnUserInfo,
                    dnnMembershipUser,
                    this.forum1.BoardID,
                    this.CurrentPortalSettings.PortalId,
                    boardSettings);

                // super admin check...
                if (dnnUserInfo.IsSuperUser)
                {
                    UserImporter.SetYafHostUser(yafUserId, this.forum1.BoardID);
                }
            }
            else
            {
                this.CheckForRoles(dnnUserInfo, yafUserId);

                ProfileSyncronizer.UpdateUserProfile(
                    yafUserId,
                    BoardContext.Current.Profile,
                    BoardContext.Current.CurrentUserData,
                    dnnUserInfo,
                    boardSettings);
            }
        }
Beispiel #5
0
        /// <summary>
        /// Get YAF User Id from the Current DNN User
        /// </summary>
        /// <returns>
        /// The YAF User ID
        /// </returns>
        private int GetYafUserId()
        {
            // Check for user
            if (!HttpContext.Current.User.Identity.IsAuthenticated)
            {
                return(BoardContext.Current.Get <IAspNetUsersHelper>().GuestUserId);
            }

            // Check if the user exists in yaf
            var yafUser = BoardContext.Current.GetRepository <User>().GetUserByProviderKey(this.boardId, this.UserInfo.UserID.ToString());

            if (yafUser != null)
            {
                return(yafUser.ID);
            }

            yafUser = BoardContext.Current.GetRepository <User>()
                      .GetSingle(u => u.Name == this.UserInfo.Username && u.Email == this.UserInfo.Email);

            if (yafUser == null)
            {
                return(UserImporter.CreateYafUser(
                           this.UserInfo,
                           this.boardId,
                           this.PortalSettings.PortalId,
                           BoardContext.Current.Get <BoardSettings>()));
            }
            {
                // update provider Key
                BoardContext.Current.GetRepository <User>().UpdateOnly(
                    () => new User {
                    ProviderUserKey = this.UserInfo.UserID.ToString()
                },
                    u => u.ID == yafUser.ID);

                return(yafUser.ID);
            }
        }