/// <summary> /// Creates the YAF user. /// </summary> /// <param name="dnnUserInfo">The DNN user info.</param> /// <param name="dnnUser">The DNN user.</param> /// <param name="boardID">The board ID.</param> /// <param name="portalID">The portal identifier.</param> /// <param name="boardSettings">The board settings.</param> /// <returns> /// Returns the User ID of the new User /// </returns> public static int CreateYafUser( UserInfo dnnUserInfo, MembershipUser dnnUser, int boardID, int portalID, YafBoardSettings boardSettings) { // setup roles RoleMembershipHelper.SetupUserRoles(boardID, dnnUser.UserName); // create the user in the YAF DB so profile can gets created... var yafUserId = RoleMembershipHelper.CreateForumUser(dnnUser, dnnUserInfo.DisplayName, boardID); if (yafUserId == null) { return(0); } // create profile var userProfile = YafUserProfile.GetProfile(dnnUser.UserName); // setup their initial profile information userProfile.Initialize(dnnUser.UserName, true); if (dnnUserInfo.Profile.FullName.IsSet()) { userProfile.RealName = dnnUserInfo.Profile.FullName; } if (dnnUserInfo.Profile.Country.IsSet() && !dnnUserInfo.Profile.Country.Equals("N/A")) { var regionInfo = ProfileSyncronizer.GetRegionInfoFromCountryName(dnnUserInfo.Profile.Country); if (regionInfo != null) { userProfile.Country = regionInfo.TwoLetterISORegionName; } } if (dnnUserInfo.Profile.City.IsSet()) { userProfile.City = dnnUserInfo.Profile.City; } if (dnnUserInfo.Profile.Website.IsSet()) { userProfile.Homepage = dnnUserInfo.Profile.Website; } userProfile.Save(); // Save User LegacyDb.user_save( yafUserId, boardID, dnnUserInfo.Username, dnnUserInfo.DisplayName, dnnUserInfo.Email, 0, null, null, null, null, null, null, null, null, null, null, null); var autoWatchTopicsEnabled = boardSettings.DefaultNotificationSetting.Equals(UserNotificationSetting.TopicsIPostToOrSubscribeTo); // save notification Settings LegacyDb.user_savenotification( yafUserId, true, autoWatchTopicsEnabled, boardSettings.DefaultNotificationSetting, boardSettings.DefaultSendDigestEmail); RoleSyncronizer.SynchronizeUserRoles(boardID, portalID, yafUserId.ToType <int>(), dnnUserInfo); return(yafUserId.ToType <int>()); }
/// <summary> /// Creates the YAF user. /// </summary> /// <param name="dnnUserInfo">The DNN user info.</param> /// <param name="dnnUser">The DNN user.</param> /// <param name="boardId">The board ID.</param> /// <param name="portalId">The portal identifier.</param> /// <param name="boardSettings">The board settings.</param> /// <returns> /// Returns the User ID of the new User /// </returns> public static int CreateYafUser( UserInfo dnnUserInfo, MembershipUser dnnUser, int boardId, int portalId, YafBoardSettings boardSettings) { // setup roles RoleMembershipHelper.SetupUserRoles(boardId, dnnUser.UserName); // create the user in the YAF DB so profile can gets created... var yafUserId = RoleMembershipHelper.CreateForumUser(dnnUser, dnnUserInfo.DisplayName, boardId); if (yafUserId == null) { return(0); } // create profile var userProfile = YafUserProfile.GetProfile(dnnUser.UserName); // setup their initial profile information userProfile.Initialize(dnnUser.UserName, true); if (dnnUserInfo.Profile.FullName.IsSet()) { userProfile.RealName = dnnUserInfo.Profile.FullName; } if (dnnUserInfo.Profile.Country.IsSet() && !dnnUserInfo.Profile.Country.Equals("N/A")) { var regionInfo = ProfileSyncronizer.GetRegionInfoFromCountryName(dnnUserInfo.Profile.Country); if (regionInfo != null) { userProfile.Country = regionInfo.TwoLetterISORegionName; } } if (dnnUserInfo.Profile.City.IsSet()) { userProfile.City = dnnUserInfo.Profile.City; } if (dnnUserInfo.Profile.Website.IsSet()) { userProfile.Homepage = dnnUserInfo.Profile.Website; } userProfile.Save(); var autoWatchTopicsEnabled = boardSettings.DefaultNotificationSetting.Equals(UserNotificationSetting.TopicsIPostToOrSubscribeTo); // Save User LegacyDb.user_save( userID: yafUserId, boardID: boardId, userName: dnnUserInfo.Username, displayName: dnnUserInfo.DisplayName, email: dnnUserInfo.Email, timeZone: dnnUserInfo.Profile.PreferredTimeZone.Id, languageFile: null, culture: null, themeFile: null, textEditor: null, useMobileTheme: null, approved: null, pmNotification: boardSettings.DefaultNotificationSetting, autoWatchTopics: autoWatchTopicsEnabled, dSTUser: dnnUserInfo.Profile.PreferredTimeZone.SupportsDaylightSavingTime, hideUser: null, notificationType: null); // save notification Settings LegacyDb.user_savenotification( yafUserId, true, autoWatchTopicsEnabled, boardSettings.DefaultNotificationSetting, boardSettings.DefaultSendDigestEmail); RoleSyncronizer.SynchronizeUserRoles(boardId, portalId, yafUserId.ToType <int>(), dnnUserInfo); return(yafUserId.ToType <int>()); }