// 指定されたアカウントを選択状態にする public void SelectAccount(CsvAccount account) { if (account == null) return; int idx = mManager.IndexOf(account); listBox.SelectedIndex = idx; }
/// <summary> /// アカウント情報をユーザ設定から読み出す /// </summary> private void LoadAccounts() { mAccounts.Clear(); foreach (string line in Properties.Settings.Default.AccountInfo) { // 各行には、Ident, BranchId, AccountId, Nickname が入っているものとする string[] a = line.Split(new char[] { ',' }); // アカウントIDが入っていない場合は読み飛ばす (旧バージョン対応) if (a[2].Length == 0) { continue; } CsvAccount account = new CsvAccount(); account.ident = a[0]; account.branchId = a[1]; account.accountId = a[2]; if (a.Length > 3) // backword compat. { account.accountName = a[3]; } mAccounts.Add(account); } }
// 指定されたアカウントを選択状態にする public void SelectAccount(CsvAccount account) { if (account == null) { return; } int idx = mManager.IndexOf(account); listBox.SelectedIndex = idx; }
private string getBankName(CsvAccount account) { foreach (CsvRule rule in mRules) { if (rule.ident == account.ident) { return(rule.name); } } return("金融機関不明"); }
public void DownAccount(int index) { if (index >= mAccounts.Count - 1) { return; // do nothing } CsvAccount account = mAccounts[index]; mAccounts.RemoveAt(index); mAccounts.Insert(index + 1, account); SaveAccountInfo(); }
public void UpAccount(int index) { if (index <= 0) { return; // do nothing } CsvAccount account = mAccounts[index]; mAccounts.RemoveAt(index); mAccounts.Insert(index - 1, account); SaveAccountInfo(); }
private void onAddAccount(object sender, EventArgs e) { CsvAccount account = new CsvAccount(); CsvAccountEditDialog dlg = new CsvAccountEditDialog(mManager, account); if (dlg.ShowDialog() == DialogResult.OK) { account = dlg.getAccount(); if (account != null) { mManager.AddAccount(account); updateList(); } } }
private void onDeleteAccount(object sender, EventArgs e) { int idx = listBox.SelectedIndex; if (idx >= 0) { if (MessageBox.Show(Properties.Resources.ConfirmDeleteAccount, Properties.Resources.Confirm, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { CsvAccount account = mManager.GetAt(idx); mManager.DeleteAccount(account); updateList(); } } }
/// <summary> /// CSVアカウントを選択 /// </summary> /// <param name="path">CSVファイルパス</param> /// <returns>CSVアカウント</returns> public CsvAccount SelectAccount(string path) { // CSVファイルに合致するルール⇒アカウントを探す CsvRule rule = findMatchingRuleForCsv(path); CsvAccount account = null; if (rule != null) { foreach (CsvAccount acc in mAccounts) { if (acc.ident == rule.ident) { account = acc; break; } } } // 資産選択ダイアログを出す CsvAccountDialog dlg = new CsvAccountDialog(this); dlg.SelectAccount(account); if (dlg.ShowDialog() == DialogResult.Cancel) { return(null); } // 選択されたアカウントを取り出す account = dlg.SelectedAccount(); if (account == null) { MessageBox.Show(Properties.Resources.NoCsvAccountSelected, Properties.Resources.Error); return(null); } // アカウントに対応するルールを選択する rule = mRules.FindRuleWithIdent(account.ident); if (rule == null) { MessageBox.Show(Properties.Resources.NoMatchingCsvRule, Properties.Resources.Error); return(null); } account.startReading(path, rule); return(account); }
private void onModifyAccount(object sender, EventArgs e) { int idx = listBox.SelectedIndex; if (idx >= 0) { CsvAccount account = mManager.GetAt(idx); CsvAccountEditDialog dlg = new CsvAccountEditDialog(mManager, account); if (dlg.ShowDialog() == DialogResult.OK) { account = dlg.getAccount(); if (account != null) { mManager.ModifyAccount(account); updateList(); } } } }
// コンストラクタ public CsvAccountEditDialog(CsvAccountManager manager, CsvAccount account) { InitializeComponent(); mAccountManager = manager; mAccount = account; mRules = manager.getRules(); textBranchId.Text = account.branchId; if (textBranchId.Text == "0") { textBranchId.Text = ""; } textAccountId.Text = account.accountId; textAccountName.Text = account.accountName; updateList(); }
public int IndexOf(CsvAccount account) { return mAccounts.IndexOf(account); }
private string getBankName(CsvAccount account) { foreach (CsvRule rule in mRules) { if (rule.ident == account.ident) { return rule.name; } } return "金融機関不明"; }
/// <summary> /// アカウント情報をユーザ設定から読み出す /// </summary> private void LoadAccounts() { mAccounts.Clear(); foreach (string line in Properties.Settings.Default.AccountInfo) { // 各行には、Ident, BranchId, AccountId, Nickname が入っているものとする string[] a = line.Split(new char[] { ',' }); // アカウントIDが入っていない場合は読み飛ばす (旧バージョン対応) if (a[2].Length == 0) continue; CsvAccount account = new CsvAccount(); account.ident = a[0]; account.branchId = a[1]; account.accountId = a[2]; if (a.Length > 3) // backword compat. { account.accountName = a[3]; } mAccounts.Add(account); } }
/// <summary> /// アカウント追加 /// </summary> public void AddAccount(CsvAccount account) { mAccounts.Add(account); SaveAccountInfo(); }
/// <summary> /// アカウント削除 /// 注意: account は、すでに存在するアカウントである必要がある /// </summary> public void DeleteAccount(CsvAccount account) { mAccounts.Remove(account); SaveAccountInfo(); }
public void setUp() { mAccount = new CsvAccount(); mAccount.branchId = "0"; mAccount.accountId = "0"; mRule = new CsvRule(); mRule.firstLine = "FIRST_LINE"; mRule.SetFormat("Date,Income,Balance,Desc,Memo"); mTempFileName = Path.GetTempFileName(); mSw = new StreamWriter(mTempFileName, false, System.Text.Encoding.Default); }
public int IndexOf(CsvAccount account) { return(mAccounts.IndexOf(account)); }
/// <summary> /// アカウント変更 /// 注意: account は、すでに存在するアカウントである必要がある /// </summary> /// <param name="account"></param> public void ModifyAccount(CsvAccount account) { SaveAccountInfo(); }