Let's say I have a scenario where my rule's When() conditions compare a value in a fact to something in the parameter, like in this example from above (changing to an int for simplicity):
When()
.Match<Domain.CurrentPortfolioRow>(() => currentPortfolioRow, cpr => cpr.Num > paramNum)
Now let's say that, at start we have:
cpr.Num = 1
paramNum = 100
Obviously, when I fire this session, the rule won't meet the condition.
However, if I then change paramNum to 0, firing again still won't cause the rule to match, right? Since the paramNum isn't stored in the rete and isn't updated as a fact.
Is there any way to inform the session that a value like this has been updated and should therefore be retested during Fire()? I saw your the note in the dependency documentation regarding not supporting dependencies for conditions, so I assume not?
Obviously this would just work if paramNum was coming from a fact so presumably that's the proper way to do it. I just want to make sure I'm not missing something in your suggestion of option 3 in the original response.
Thanks!