public FrmAccountProperties(Connection connection,int focusField, Account account = null) { InitializeComponent(); Account = account; Connection = connection; if (account != null) { txtLabel.Text = account.Label; txtPassword.Text = account.Password; } if (focusField == 0) { txtLabel.Select(); } else if (focusField == 1) { txtPassword.Select(); } }
public static void UpdateAccountNode(Account account) { var list = TreeView.Nodes.Find(NodeType.Account.ToString(), true); var accountNodes = list.Cast<AccountNode>().Where(x => x.Account.Address == account.Address).ToList(); foreach (var accountNode in accountNodes) { accountNode.ImageIndex = account.ImageIconIndex; accountNode.SelectedImageIndex = account.ImageIconIndex; } }
public ConnectionStatus GetConnectionProperties() { try { var version = EthereumService.GetWeb3ClientVersion(); } catch (Exception) { return ConnectionStatus.CouldNotConnect; } try { var ethAccounts = EthereumService.GetAccounts(); foreach (var ethAccount in ethAccounts) { var account = BlockStudioProjectService.BlockStudioProject.Accounts.FirstOrDefault(x => x.Address == ethAccount); if (account==null) { account = new Account(); account.Address = ethAccount; account.LockState = LockedState.Locked; } if (!string.IsNullOrEmpty(account.Password)) { try { var unlockSuccessful = EthereumService.UnlockAccount(account.Address, account.Password); if (unlockSuccessful) { account.Balance = EthereumService.GetBalance(account.Address, BlockTag.Latest); account.LockState = LockedState.Unlocked; } else { account.ImageIconIndex = 6; account.LockState = LockedState.WrongPassword; } } catch (Exception exception) { return ConnectionStatus.ConnectedButPersonalNotSuppored; } } else { account.LockState = LockedState.Locked; } BlockStudioProjectService.BlockStudioProject.UpsertAccount(account); } BlockStudioProjectService.BlockStudioProject.SaveToDisk(); return ConnectionStatus.Connected; } catch (Exception exception) { throw exception; } }
private void Finished() { var password = txtPassword.Text; if (string.IsNullOrEmpty(password)) { MessageBoxEx.Show(this, "Password cannot be blank", "Block Studio", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } txtPassword.Enabled = false; btnOK.Enabled = false; btnCancel.Enabled = false; chbSavePassword.Enabled = false; if (Account==null) { Account = new Account(); Account.Address = Connection.EthereumService.NewAccount(password); } Account.Password = password; Account.Label = txtLabel.Text; BlockStudioProjectService.BlockStudioProject.UpsertAccount(Account); BlockStudioProjectService.BlockStudioProject.SaveToDisk(); this.Close(); }