/// <summary> /// Perform Match /// </summary> /// <param name="ibs">import bank statement line</param> /// <returns>Message</returns> private String Match(X_I_BankStatement ibs) { if (_matchers == null || ibs == null || ibs.GetC_Payment_ID() != 0) { return("--"); } log.Fine("" + ibs); BankStatementMatchInfo info = null; for (int i = 0; i < _matchers.Length; i++) { if (_matchers[i].IsMatcherValid()) { info = _matchers[i].GetMatcher().FindMatch(ibs); if (info != null && info.IsMatched()) { if (info.GetC_Payment_ID() > 0) { ibs.SetC_Payment_ID(info.GetC_Payment_ID()); } if (info.GetC_Invoice_ID() > 0) { ibs.SetC_Invoice_ID(info.GetC_Invoice_ID()); } if (info.GetC_BPartner_ID() > 0) { ibs.SetC_BPartner_ID(info.GetC_BPartner_ID()); } ibs.Save(); return("OK"); } } } // for all matchers return("--"); }