コード例 #1
0
ファイル: QifMapper.cs プロジェクト: blaise-braye/my-accounts
        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 */
                    }
                }
            }
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }