public static string ToQifData(this IEnumerable <BasicTransaction> transactions) { var qifDom = new QifDom(QifConfiguration) { BankTransactions = transactions.ToList() }; var tempFileName = Path.GetTempFileName(); try { using (new TemporaryCulture(_englishCulture)) { qifDom.Export(tempFileName); } var qifData = File.ReadAllText(tempFileName); return(qifData); } finally { if (File.Exists(tempFileName)) { try { File.Delete(tempFileName); } catch { /* ignored */ } } } }
public void Does_not_change_income_category() { var sample = new QifDom(); sample.CategoryListTransactions.Add(new Transactions.CategoryListTransaction() { IncomeCategory = true, }); var file = Path.GetTempFileName(); sample.Export(file); var test = QifDom.ImportFile(file); Assert.AreEqual(sample.CategoryListTransactions.Count, test.CategoryListTransactions.Count); Assert.AreEqual(sample.CategoryListTransactions[0].IncomeCategory, test.CategoryListTransactions[0].IncomeCategory); }
public void Does_not_change_tax_related() { var sample = new QifDom(); sample.CategoryListTransactions.Add(new Transactions.CategoryListTransaction() { TaxRelated = true, }); var file = Path.GetTempFileName(); sample.Export(file); var test = QifDom.ImportFile(file); Assert.AreEqual(sample.CategoryListTransactions.Count, test.CategoryListTransactions.Count); Assert.AreEqual(sample.CategoryListTransactions[0].TaxRelated, test.CategoryListTransactions[0].TaxRelated); }
public void ExportTransactions(string filename) { var transactions = GetTransactions(); var wrapper = new QifDomComWrapper(); var qd = new QifDom(); foreach (var t in transactions) { // todo: proper conversion var transaction = new BasicTransaction(); transaction.Amount = (decimal)t.Amount; transaction.Date = t.Timestamp; transaction.Payee = t.FromAddress; transaction.Memo = t.ToAddress; qd.CashTransactions.Add(transaction); } qd.Export(filename); }