示例#1
0
        public IEnumerable <YnabTransaction> ConvertToYnabTransactions(IEnumerable <IngTransaction> ingTransactions)
        {
            return(ingTransactions.Select(ing =>
            {
                var ynabTransaction = new YnabTransaction
                {
                    Date = ing.TransactionDate,
                    Category = ing.Category,
                    Memo = ing.Description,
                    Account = "Ing day to day",
                    Payee = ing.Description
                };
                if (ing.Import > 0)
                {
                    ynabTransaction.Inflow = ing.Import;
                }
                else
                {
                    ynabTransaction.Outflow = ing.Import * -1;
                }

                ynabTransaction = _transactionConverter.Transform(ynabTransaction);

                return ynabTransaction;
            }));
        }
示例#2
0
        public YnabTransaction Transform(YnabTransaction transaction)
        {
            int indexOf = transaction.Payee.IndexOf('(') == -1 ? transaction.Payee.Length : transaction.Payee.IndexOf('(');

            transaction.Payee = transaction.Payee.Substring(0, indexOf);

            foreach (var conversionRule in _conversionRules)
            {
                transaction = conversionRule.Transform(transaction);
            }

            return(transaction);
        }
示例#3
0
 public YnabTransaction Transform(YnabTransaction ynabTransaction)
 {
     ynabTransaction.Category = ynabTransaction.Category.Replace(SourceCategory, TargetCategory);
     return(ynabTransaction);
 }
示例#4
0
 public YnabTransaction Transform(YnabTransaction ynabTransaction)
 {
     ynabTransaction.Payee = ynabTransaction.Payee.Replace(SourcePayee, TargetPayee);
     return(ynabTransaction);
 }