CSVアカウント
Inheritance: Account
        // 指定されたアカウントを選択状態にする
        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 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();
                    }
                }
            }
        }
Example #12
0
        // コンストラクタ
        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 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();
 }
Example #19
0
        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();
 }
 /// <summary>
 /// アカウント追加
 /// </summary>
 public void AddAccount(CsvAccount account)
 {
     mAccounts.Add(account);
     SaveAccountInfo();
 }
 /// <summary>
 /// アカウント変更
 /// 注意: account は、すでに存在するアカウントである必要がある
 /// </summary>
 /// <param name="account"></param>
 public void ModifyAccount(CsvAccount account)
 {
     SaveAccountInfo();
 }
 /// <summary>
 /// アカウント削除
 /// 注意: account は、すでに存在するアカウントである必要がある
 /// </summary>
 public void DeleteAccount(CsvAccount account)
 {
     mAccounts.Remove(account);
     SaveAccountInfo();
 }