pGina.Plugin.LocalMachine.LocalAccount.SyncUserPrincipalInfo C# (CSharp) Method

SyncUserPrincipalInfo() private method

private SyncUserPrincipalInfo ( UserInformation info ) : void
info pGina.Shared.Types.UserInformation
return void
        private void SyncUserPrincipalInfo(UserInformation info)
        {
            using(DirectoryEntry userDe = m_sam.Children.Find(info.Username, "User"))
            {
                if (!string.IsNullOrEmpty(info.Description)) userDe.Properties["Description"].Value = info.Description;
                if (!string.IsNullOrEmpty(info.Fullname)) userDe.Properties["FullName"].Value = info.Fullname;
                if (!string.IsNullOrEmpty(info.usri4_home_dir)) userDe.Properties["HomeDirectory"].Value = info.usri4_home_dir.Replace("%u", info.Username);
                if (!string.IsNullOrEmpty(info.usri4_home_dir_drive)) userDe.Properties["HomeDirDrive"].Value = info.usri4_home_dir_drive;
                if (!info.Description.Contains("pgSMB"))
                    if (!string.IsNullOrEmpty(info.usri4_profile)) userDe.Properties["Profile"].Value = info.usri4_profile;
                userDe.Invoke("SetPassword", new object[] { info.Password });
                userDe.Properties["PasswordExpired"].Value = Convert.ToInt32(info.PasswordEXP);
                userDe.CommitChanges();
            }
        }