private void ShowNewAccountDialog() { using (var accountForm = new AccountForm(true, accountManager.Accounts.Any())) { if (accountForm.ShowDialog() != DialogResult.OK) { if (!accountManager.Accounts.Any()) { Close(); } return; } btnNewConnection.Visible = false; var info = new AccountInfo { AccountName = accountForm.AccountName, StorageAccessKeyId = accountForm.StorageAccessTokenId, StorageSecretAccessKey = accountForm.StorageSecretAccessKey, StorageVault = accountForm.GlacierVault, StorageRegionSystemName = accountForm.StorageRegionSystemName, }; info.Drives.Clear(); info.Drives.AddRange(accountForm.GetDrives()); accountManager.Add(info); var node = treeView1.Nodes.Add("", info.AccountName, AccountImageKey); node.SelectedImageKey = AccountImageKey; node.Tag = new NodeInfo(info); accountManager.Save(); DisconnectAccount(node); } }
public static AccountManager Load() { var ret = new AccountManager(); using (var store = IsolatedStorageFile.GetStore(IsolatedStorageScope.User | IsolatedStorageScope.Assembly, null, null)) { var accountDirs = store.GetDirectoryNames("accounts/*"); foreach (var dir in accountDirs) { try { using (var stream = store.OpenFile("accounts/" + dir + "/settings.xml", FileMode.Open, FileAccess.Read, FileShare.None)) { var serializer = new XmlSerializer(typeof(AccountInfo)); var account = (AccountInfo)serializer.Deserialize(stream); ret.Add(account); } } catch (Exception ex) { ret.OnError(ex); } } } return(ret); }
public static AccountManager Load() { var ret = new AccountManager(); using (var store = IsolatedStorageFile.GetStore(IsolatedStorageScope.User | IsolatedStorageScope.Assembly, null, null)) { var accountDirs = store.GetDirectoryNames("accounts/*"); foreach (var dir in accountDirs) { try { using (var stream = store.OpenFile("accounts/" + dir + "/settings.xml", FileMode.Open, FileAccess.Read, FileShare.None)) { var serializer = new XmlSerializer(typeof(AccountInfo)); var account = (AccountInfo)serializer.Deserialize(stream); ret.Add(account); } } catch (Exception ex) { ret.OnError(ex); } } } return ret; }