private static void UpdateFromvrDCredentials(vRDConfigurationFileCredentialsFolderCredentials source, CredentialSet target) { target.Domain = source.Domain; target.Name = source.Name; target.SecretKey = source.Password; target.Username = source.UserName; }
private void SaveCredentials(Dictionary <string, vRDConfigurationFileCredentialsFolderCredentials> credentials) { foreach (string guid in credentials.Keys) { vRDConfigurationFileCredentialsFolderCredentials toImport = credentials[guid]; //will store the last one if the same credential name CredentialSet destination = StoredCredentials.GetByName(toImport.Name); if (destination == null) { destination = new CredentialSet(); StoredCredentials.Add(destination); } UpdateFromvrDCredentials(toImport, destination); } StoredCredentials.Save(); }
public List <FavoriteConfigurationElement> ImportFavorites(string Filename) { List <FavoriteConfigurationElement> fav = new List <FavoriteConfigurationElement>(); string input = "Please enter the description vRD password."; if (InputBox.Show(ref input, "vRD Password", '*') == DialogResult.OK) { byte[] file = File.ReadAllBytes(Filename); string xml = a(file, input).Replace(" encoding=\"utf-16\"", ""); byte[] data = Encoding.Default.GetBytes(xml); using (MemoryStream sw = new MemoryStream(data)) { if (sw.Position > 0 & sw.CanSeek) { sw.Seek(0, SeekOrigin.Begin); } XmlSerializer x = new XmlSerializer(typeof(vRDConfigurationFile)); object results = x.Deserialize(sw); List <Connection> connections = new List <Connection>(); List <vRDConfigurationFileConnectionsFolder> folders = new List <vRDConfigurationFileConnectionsFolder>(); Dictionary <string, vRDConfigurationFileCredentialsFolderCredentials> credentials = new Dictionary <string, vRDConfigurationFileCredentialsFolderCredentials>(); if (results == null) { return(fav); } vRDConfigurationFile config = (results as vRDConfigurationFile); if (config == null) { return(fav); } //scan in config item foreach (object item in config.Items) { if (item == null) { continue; } if (item is vRDConfigurationFileCredentialsFolder) { //scan in all credentials into a dictionary vRDConfigurationFileCredentialsFolder credentialFolder = (item as vRDConfigurationFileCredentialsFolder); if (credentialFolder != null && credentialFolder.Credentials != null) { foreach ( vRDConfigurationFileCredentialsFolderCredentials cred in credentialFolder.Credentials) { credentials.Add(cred.Guid, cred); } } } else if (item is vRDConfigurationFileCredentialsFolderCredentials) { vRDConfigurationFileCredentialsFolderCredentials cred = (item as vRDConfigurationFileCredentialsFolderCredentials); credentials.Add(cred.Guid, cred); } else if (item is Connection) { //scan in the connections Connection connection = (item as Connection); if (connection != null) { connections.Add(connection); } } else if (item is vRDConfigurationFileConnectionsFolder) { //scan in recurse folders vRDConfigurationFileConnectionsFolder folder = (item as vRDConfigurationFileConnectionsFolder); if (folder != null) { folders.Add(folder); } } } //save credential item to local this.SaveCredentials(credentials); //save VRD connection to local fav = this.ConvertVRDConnectionCollectionToLocal(connections.ToArray(), folders.ToArray(), null, String.Empty, credentials); } } return(fav); }