} // ctor public override bool Equals(PpsDataChangedEvent ev) { if (ev == this) { return(true); } else { var other = ev as PpsDataRowExtentedValueChanged; return(other != null ? other.value == value && other.propertyName == propertyName : false); } } // func Same
} // proc DeferedEvents internal void ExecuteEvent(PpsDataChangedEvent ev) { if (inChanged) { var i = 0; var length = changedEvents.Count; PpsDataChangedEvent cur; while (i < length && (cur = changedEvents[i]).Level <= ev.Level) { if (cur.Equals(ev)) { return; // same event, no add needed } i++; } changedEvents.Insert(i, ev); } else if (undoSink != null && undoSink.InTransaction && !undoSink.InUndoRedoOperation) { inChanged = true; ExecuteEvent(ev); undoSink.Append(new ExecuteEvents(this)); // sets inChanged to false if raised in a case of exception } else { inChanged = true; try { // clear list to zero changedEvents.Clear(); // invoke the event and start the loop ev.InvokeEvent(); // invoke related events ExecuteQueuedEventsUnsafe(); } finally { inChanged = false; } } } // proc ExecuteEvent
public override bool Equals(PpsDataChangedEvent ev) => true;