示例#1
0
        GeneratedTransaction GetSuggestedTransaction(BankRow bankRow)
        {
            var item = new GeneratedTransaction()
            {
                Date             = bankRow.AccountingDate,
                Sum              = bankRow.Sum,
                BankRowReference = bankRow
            };

            return(item);
        }
示例#2
0
        public static bool CheckIfBankRowValidatesToRule(Rule rule, BankRow bankRow)
        {
            var i = 0;
            var oneOrRulesValidate = false;

            while (i < rule.AndConditionGroups.Count && !oneOrRulesValidate)
            {
                var andRule             = rule.AndConditionGroups[i]; // = (a & b & c)
                var allAndRulesValidate = true;

                if (andRule.Conditions.Count > 0)
                {
                    var j = 0;
                    while (j < andRule.Conditions.Count && allAndRulesValidate)
                    {
                        var condition = andRule.Conditions[j]; // = a
                        var rowValue  = typeof(BankRow).GetProperty(condition.Property).GetValue(bankRow);

                        allAndRulesValidate = RuleEvaluator.IsConditionTrue(condition, rowValue);

                        j++;
                    }

                    if (allAndRulesValidate)
                    {
                        oneOrRulesValidate = true;
                    }
                }
                else
                {
                    throw new Exception("AndCondtionGroups can NOT be without at least one condition!");
                }

                i++;
            }
            return(oneOrRulesValidate);
        }
示例#3
0
 public bool Update(BankRow transaction)
 {
     return(true);
 }
示例#4
0
 public BankRow Insert(BankRow transaction)
 {
     throw new NotImplementedException();
 }