예제 #1
0
        /// <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);
        }
예제 #2
0
        /// <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;
        }