コード例 #1
0
        private void cmdAdd_Click(object sender, EventArgs e)
        {
            string text = txtCategory.Text.Replace("\t", "").Trim();             // Remove tabs (relic of tab-delimited file structure)

            TransactionItem.TransactionTypes category = (TransactionItem.TransactionTypes)cmbTypes.SelectedItem;

            if (string.IsNullOrEmpty(text))
            {
                return;
            }

            if (((TransactionItem.TransactionTypes)cmbTypes.SelectedItem) == TransactionItem.TransactionTypes.Unselected)
            {
                if (MessageBox.Show("Are you sure you want to default '" + text + "' as Unselected?", "Confirm", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.No)
                {
                    return;
                }
            }

            CategoryMatch.GetCollection().Insert(new CategoryMatch {
                MatchString = text, MatchType = category
            });

            CategoryMatch.ResetCategoriesCache();

            this.Close();
        }
コード例 #2
0
 public ManageCategoryMatch()
 {
     InitializeComponent();
     dgcolMatchType.DataSource           = Enum.GetValues(typeof(TransactionItem.TransactionTypes)); //TransactionType.GetNames();
     dgCategoryMatch.AutoGenerateColumns = false;
     dgCategoryMatch.DataSource          = CategoryMatch.GetCollection().FindAll().OrderBy(c => c.MatchString).ToList();
     dgCategoryMatch.Refresh();
 }
コード例 #3
0
        private void ImportCategoryMatching()
        {
            if (File.Exists(Environment.CurrentDirectory + "\\CategoryMatching.txt"))
            {
                using (StreamReader sr = new StreamReader(Environment.CurrentDirectory + "\\CategoryMatching.txt"))
                {
                    List <CategoryMatch> matches = new List <CategoryMatch>();
                    string line;
                    while (!string.IsNullOrEmpty(line = sr.ReadLine()))
                    {
                        string[] itemType = line.Split('\t');
                        if (itemType.Length != 2)
                        {
                            continue;
                        }
                        try
                        {
                            matches.Add(new CategoryMatch()
                            {
                                MatchString = itemType[0],
                                MatchType   = (TransactionItem.TransactionTypes)Enum.Parse(typeof(TransactionItem.TransactionTypes), itemType[1])
                            });
                        }
                        catch { MessageBox.Show(line, "Item incorrectly set up: " + line); }
                    }

                    CategoryMatch.GetCollection().InsertBulk(matches);

                    foreach (TransactionItem trans in TransactionItem.GetCollection().Find(t => t.TransType == TransactionItem.TransactionTypes.Unselected))
                    {
                        var newType = CategoryMatch.GetType(trans.ToString());
                        if (newType != trans.TransType)
                        {
                            trans.TransType = newType;
                            TransactionItem.GetCollection().Update(trans);
                        }
                    }
                }

                BackupTransactionFile(Environment.CurrentDirectory + "\\CategoryMatching.txt", "Category Matching", DateTime.Now);
            }
        }
コード例 #4
0
        private void Match_FormClosed(object sender, FormClosedEventArgs e)
        {
            List <TransactionItem> filteredList = (List <TransactionItem>)dgTransactions.DataSource;

            foreach (TransactionItem trans in TransactionItem.GetCollection().Find(t => t.TransType == TransactionItem.TransactionTypes.Unselected))
            {
                var newType = CategoryMatch.GetType(trans.ToString());
                if (newType != trans.TransType)
                {
                    trans.TransType = newType;
                    TransactionItem.GetCollection().Update(trans);
                }
            }

            foreach (TransactionItem trans in filteredList.Where(f => f.TransType == TransactionItem.TransactionTypes.Unselected))
            {
                trans.TransType = CategoryMatch.GetType(trans.ToString());
            }
            // Reset the view
            dgTransactions.DataSource = filteredList;
            dgTransactions.Refresh();
        }