/// <summary> /// CSVファイル読み込みを開始する /// </summary> /// <param name="path">CSVファイルパス</param> /// <param name="rule">CSVルール</param> public void startReading(string path, CsvRule rule) { mRule = rule; // 銀行IDなどを設定 //mIdent = mRule.ident; mBankId = mRule.bankId; //mBranchId = branchId; //mAccountId = accountId; mSr = new StreamReader(path, System.Text.Encoding.Default); }
public void setUp() { mManager = new CsvAccountManager(); mRule = new CsvRule(); mRule.firstLine = "FIRST_LINE"; mRule.SetFormat("Date,Income,Balance,Desc,Memo"); mManager.addRule(mRule); mTempFileName = Path.GetTempFileName(); mSw = new StreamWriter(mTempFileName, false, System.Text.Encoding.Default); }
/// <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> /// 指定したルールのインデックスを返す /// </summary> /// <param name="rule">ルール</param> /// <returns>インデックス</returns> public int IndexOf(CsvRule rule) { return(mRules.IndexOf(rule)); }
private String LoadFromXml(XmlDocument doc) { XmlElement root = doc.DocumentElement; // Version 取得 String version = null; XmlNodeList versionList = root.GetElementsByTagName("Version"); if (versionList.Count > 0) { version = versionList[0].FirstChild.Value; } // Rule 子要素について処理 XmlNodeList list = root.GetElementsByTagName("Rule"); for (int i = 0; i < list.Count; i++) { // rule 生成 CsvRule rule = new CsvRule(); // rule の各メンバを設定 foreach (XmlElement e in list[i].ChildNodes) { string value = ""; if (e.FirstChild == null) { // 空要素 } else { value = e.FirstChild.Value; } switch (e.Name) { case "Ident": rule.ident = value; break; case "Name": rule.name = value; break; case "BankId": rule.bankId = value; break; case "FirstLine": rule.firstLine = value; break; case "Format": rule.format = value; break; case "Order": rule.order = value; break; case "Separator": rule.separator = value; break; default: // ignore break; } } mRules.Add(rule); } return(version); }
/// <summary> /// ルール追加(単体テスト用) /// </summary> /// <param name="rule">ルール</param> public void Add(CsvRule rule) { mRules.Add(rule); }
public void TearDown() { rule = null; }
public void Setup() { rule = new CsvRule(); }
/// <summary> /// ルールを追加する (単体テスト用) /// </summary> /// <param name="rule">ルール</param> public void addRule(CsvRule rule) { mRules.Add(rule); }
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); }
private String LoadFromXml(XmlDocument doc) { XmlElement root = doc.DocumentElement; // Version 取得 String version = null; XmlNodeList versionList = root.GetElementsByTagName("Version"); if (versionList.Count > 0) { version = versionList[0].FirstChild.Value; } // Rule 子要素について処理 XmlNodeList list = root.GetElementsByTagName("Rule"); for (int i = 0; i < list.Count; i++) { // rule 生成 CsvRule rule = new CsvRule(); // rule の各メンバを設定 foreach (XmlElement e in list[i].ChildNodes) { string value = ""; if (e.FirstChild == null) { // 空要素 } else { value = e.FirstChild.Value; } switch (e.Name) { case "Ident": rule.ident = value; break; case "Name": rule.name = value; break; case "BankId": rule.bankId = value; break; case "FirstLine": rule.firstLine = value; break; case "Format": rule.format = value; break; case "Order": rule.order = value; break; case "Separator": rule.separator = value; break; default: // ignore break; } } mRules.Add(rule); } return version; }
/// <summary> /// 指定したルールのインデックスを返す /// </summary> /// <param name="rule">ルール</param> /// <returns>インデックス</returns> public int IndexOf(CsvRule rule) { return mRules.IndexOf(rule); }