/// <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); }
/// <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; }