private void AddTransaction() { AccountTransactions trans = new AccountTransactions(); trans.Description = "Unit Test"; trans.AccountName = "Savings"; trans.Balanced = true; trans.ID = 2; trans.TransactionDate = DateTime.Parse("3/1/2008"); Transaction t1 = new Transaction(); t1.Amount = 1234; t1.TransactionBudget = "Other"; t1.Categories.Add("Cat1"); Transaction t2 = new Transaction(); t2.Amount = 4321; t2.TransactionBudget = "Other1"; t2.Categories.Add("Cat2"); t2.Categories.Add("Cat3"); trans.Transactions.Add(t1); trans.Transactions.Add(t2); da.AddTransaction(trans); }
public void DeleteTransaction(AccountTransactions trans) { //Remove from the list foreach (AccountTransactions t in _transactions) { if (t.ID == trans.ID) { _transactions.Remove(t); break; } } //Query for the correct node in the _accountFile var transaction = (from accounttrans in _accountFile.Descendants("transaction") where (int)accounttrans.Attribute("id") == trans.ID select accounttrans); //Pass it to remove transaction.Remove(); //Save System.Xml.XmlTextWriter writer = new System.Xml.XmlTextWriter(_fileName, null); writer.Formatting = System.Xml.Formatting.Indented; _accountFile.WriteTo(writer); _reloadTransactions = true; writer.Close(); }
public void AddTransaction(AccountTransactions trans) { //add the transaction into the list trans.ID = (++_maxTransID); _transactions.Add(trans); XElement element = new XElement("transaction", new XAttribute("date", trans.TransactionDate.ToShortDateString()), new XAttribute("id", trans.ID), new XAttribute("description", trans.Description), new XAttribute("AccountType", trans.AccountName), new XAttribute("Balanced", trans.Balanced)); foreach (Transaction t in trans.Transactions) { XElement AmountElement = new XElement("amount"); AmountElement.Add(new XAttribute("total", t.Amount), new XAttribute("budget", t.TransactionBudget)); foreach (string cat in t.Categories) { AmountElement.Add(new XElement("category", new XAttribute("title", cat))); } element.Add(AmountElement); } //write the file _accountFile.Element("account").Add(element); System.Xml.XmlTextWriter writer = new System.Xml.XmlTextWriter(_fileName, null); writer.Formatting = System.Xml.Formatting.Indented; _accountFile.WriteTo(writer); _reloadTransactions = true; writer.Close(); }
public void BalanceTransaction(int TransactionID) { // Find this transaction in the list and set it to be balanced AccountTransactions t = GetTransaction(TransactionID); t.Balanced = true; UpdateTransaction(t); }
public void TestUpdateTransaction() { da = new CDataAccess(fileName); Assert.IsNotNull(da); da.ReadAllTransations(); AddTransaction(); Assert.That(da.Transactions.Count == 3); AccountTransactions trans = new AccountTransactions(); trans.Description = "Unit Test"; trans.ID = 2; trans.AccountName = "Savings"; trans.Balanced = true; trans.TransactionDate = DateTime.Parse("4/1/2008"); Transaction t1 = new Transaction(); t1.Amount = 1235; t1.TransactionBudget = "Other"; t1.Categories.Add("Cat1"); Transaction t2 = new Transaction(); t2.Amount = 5321; t2.TransactionBudget = "Other1"; t2.Categories.Add("Cat2"); t2.Categories.Add("Cat4"); trans.Transactions.Add(t1); trans.Transactions.Add(t2); da.UpdateTransaction(trans); da.ReadAllTransations(); Assert.That(da.Transactions.Count == 3); Assert.That(da.Transactions[2].Description == "Unit Test"); Assert.That(da.Transactions[2].ID == 2); Assert.That(da.Transactions[2].Balanced == true); Assert.That(da.Transactions[2].AccountName == "Savings"); Assert.That(da.Transactions[2].TransactionDate == DateTime.Parse("4/1/2008")); Assert.That(da.Transactions[2].Transactions.Count == 2); Assert.That(da.Transactions[2].Transactions[0].Amount == 1235); Assert.That(da.Transactions[2].Transactions[0].TransactionBudget == "Other"); Assert.That(da.Transactions[2].Transactions[0].Categories.Count == 1); Assert.That(da.Transactions[2].Transactions[0].Categories[0] == "Cat1"); Assert.That(da.Transactions[2].Transactions[1].Amount == 5321); Assert.That(da.Transactions[2].Transactions[1].TransactionBudget == "Other1"); Assert.That(da.Transactions[2].Transactions[1].Categories.Count == 2); Assert.That(da.Transactions[2].Transactions[1].Categories[0] == "Cat2"); Assert.That(da.Transactions[2].Transactions[1].Categories[1] == "Cat4"); DeleteTransaction(); }
private void DeleteTransaction() { AccountTransactions trans = new AccountTransactions(); trans.Description = "Unit Test"; trans.ID = 2; trans.TransactionDate = DateTime.Parse("4/1/2008"); Transaction t1 = new Transaction(); t1.Amount = 1235; t1.TransactionBudget = "Other"; t1.Categories.Add("Cat1"); Transaction t2 = new Transaction(); t2.Amount = 5321; t2.TransactionBudget = "Other1"; t2.Categories.Add("Cat2"); t2.Categories.Add("Cat4"); trans.Transactions.Add(t1); trans.Transactions.Add(t2); da.DeleteTransaction(trans); }
/// <summary> /// Updates a single transaction in the list /// </summary> /// <param name="trans">the updated transaction (keys on id)</param> public void UpdateTransaction(AccountTransactions trans) { DeleteTransaction(trans); AddTransaction(trans); }