コード例 #1
0
        public static void SyncUsers()
        {
            var r3musDB = new r3musDbContext();
            var r3musForum = new r3mus_ForumDBEntities();

            try
            {
                var siteUsers = r3musDB.Users.ToList();
                var forumUsers = r3musForum.MembershipUsers.ToList();

                var forumRole = r3musForum.MembershipRoles.Where(role => role.RoleName == "Standard Members").FirstOrDefault();

                siteUsers.ForEach(siteUser =>
                {
                    var forumUser = forumUsers.Where(user => user.UserName == siteUser.UserName).FirstOrDefault();
                    if (forumUser == null)
                    {
                        forumUser = new MembershipUser()
                        {
                            Id = new Guid(siteUser.Id),
                            UserName = siteUser.UserName,
                            Password = string.Concat("R3MUSUser_", siteUser.UserName.Substring(0, siteUser.UserName.IndexOf(" "))),
                            Email = siteUser.EmailAddress,
                            PasswordSalt = string.Concat("R3MUS_", siteUser.UserName.Substring(0, siteUser.UserName.IndexOf(" "))),
                            IsApproved = true,
                            IsLockedOut = false,
                            CreateDate = DateTime.Now,
                            LastLoginDate = DateTime.Now,
                            LastPasswordChangedDate = DateTime.Now,
                            LastLockoutDate = DateTime.Now,
                            FailedPasswordAttemptCount = 3,
                            FailedPasswordAnswerAttempt = 3,
                            Slug = string.Empty,
                            DisableEmailNotifications = true,
                            IsExternalAccount = true
                        };
                        forumUser.Password = GenerateSaltedHash(forumUser.Password, forumUser.PasswordSalt);
                        r3musForum.MembershipUsers.Add(forumUser);

                        var role = new MembershipUsersInRole()
                        {
                            Id = Guid.NewGuid(),
                            UserIdentifier = forumUser.Id,
                            RoleIdentifier = forumRole.Id,
                            MembershipUser = forumUser,
                            MembershipRole = forumRole
                        };

                        r3musForum.MembershipUsersInRoles.Add(role);
                    }
                }
                    );
                r3musForum.SaveChanges();
            }
            catch (DbEntityValidationException ex)
            {
                Console.WriteLine(ex.Message);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
コード例 #2
0
        public static void SyncUsers()
        {
            var r3musDB    = new r3musDbContext();
            var r3musForum = new r3mus_ForumDBEntities();

            try
            {
                var siteUsers  = r3musDB.Users.ToList();
                var forumUsers = r3musForum.MembershipUsers.ToList();

                var forumRole = r3musForum.MembershipRoles.Where(role => role.RoleName == "Standard Members").FirstOrDefault();

                siteUsers.ForEach(siteUser =>
                {
                    var forumUser = forumUsers.Where(user => user.UserName == siteUser.UserName).FirstOrDefault();
                    if (forumUser == null)
                    {
                        forumUser = new MembershipUser()
                        {
                            Id                          = new Guid(siteUser.Id),
                            UserName                    = siteUser.UserName,
                            Password                    = string.Concat("R3MUSUser_", siteUser.UserName.Substring(0, siteUser.UserName.IndexOf(" "))),
                            Email                       = siteUser.EmailAddress,
                            PasswordSalt                = string.Concat("R3MUS_", siteUser.UserName.Substring(0, siteUser.UserName.IndexOf(" "))),
                            IsApproved                  = true,
                            IsLockedOut                 = false,
                            CreateDate                  = DateTime.Now,
                            LastLoginDate               = DateTime.Now,
                            LastPasswordChangedDate     = DateTime.Now,
                            LastLockoutDate             = DateTime.Now,
                            FailedPasswordAttemptCount  = 3,
                            FailedPasswordAnswerAttempt = 3,
                            Slug                        = string.Empty,
                            DisableEmailNotifications   = true,
                            IsExternalAccount           = true
                        };
                        forumUser.Password = GenerateSaltedHash(forumUser.Password, forumUser.PasswordSalt);
                        r3musForum.MembershipUsers.Add(forumUser);

                        var role = new MembershipUsersInRole()
                        {
                            Id             = Guid.NewGuid(),
                            UserIdentifier = forumUser.Id,
                            RoleIdentifier = forumRole.Id,
                            MembershipUser = forumUser,
                            MembershipRole = forumRole
                        };

                        r3musForum.MembershipUsersInRoles.Add(role);
                    }
                }
                                  );
                r3musForum.SaveChanges();
            }
            catch (DbEntityValidationException ex)
            {
                Console.WriteLine(ex.Message);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }