private void Load() { Environments = new Dictionary <string, AzureEnvironment>(StringComparer.InvariantCultureIgnoreCase); Subscriptions = new Dictionary <Guid, AzureSubscription>(); Accounts = new Dictionary <string, AzureAccount>(StringComparer.InvariantCultureIgnoreCase); ProfileLoadErrors = new List <string>(); if (!store.DirectoryExists(AzureSession.ProfileDirectory)) { store.CreateDirectory(AzureSession.ProfileDirectory); } if (store.FileExists(profilePath)) { string contents = store.ReadFileAsText(profilePath); IProfileSerializer serializer; if (CloudException.IsXml(contents)) { serializer = new XmlProfileSerializer(); if (!serializer.Deserialize(contents, this)) { ProfileLoadErrors.AddRange(serializer.DeserializeErrors); } } else if (CloudException.IsJson(contents)) { serializer = new JsonProfileSerializer(); if (!serializer.Deserialize(contents, this)) { ProfileLoadErrors.AddRange(serializer.DeserializeErrors); } } } // Adding predefined environments foreach (AzureEnvironment env in AzureEnvironment.PublicEnvironments.Values) { Environments[env.Name] = env; } }
public void Save() { // Removing predefined environments foreach (string env in AzureEnvironment.PublicEnvironments.Keys) { Environments.Remove(env); } JsonProfileSerializer jsonSerializer = new JsonProfileSerializer(); string contents = jsonSerializer.Serialize(this); string diskContents = string.Empty; if (store.FileExists(profilePath)) { diskContents = store.ReadFileAsText(profilePath); } if (diskContents != contents) { store.WriteFile(profilePath, contents); } }