public void Update(RuleTrigger newTrigger) { Guard.NotNull(newTrigger, nameof(newTrigger)); if (newTrigger.GetType() != trigger.GetType()) { throw new ArgumentException("New trigger has another type.", nameof(newTrigger)); } trigger = newTrigger; }
public Rule Update(RuleTrigger newTrigger) { Guard.NotNull(newTrigger, nameof(newTrigger)); if (newTrigger.GetType() != trigger.GetType()) { throw new ArgumentException("New trigger has another type.", nameof(newTrigger)); } return(Clone(clone => { clone.trigger = newTrigger; })); }
public Rule Update(RuleTrigger newTrigger) { Guard.NotNull(newTrigger); if (newTrigger.GetType() != trigger.GetType()) { throw new ArgumentException("New trigger has another type.", nameof(newTrigger)); } if (trigger.DeepEquals(newTrigger)) { return(this); } return(Clone(clone => { clone.SetTrigger(newTrigger); })); }