/// <inheritdoc /> public override void AddSetEvent(EventPath path, EventContent content) { if (!_mapContext.EventsEnabled) { return; } var e = new EventData { Set = content }; e.Path.AddRange(path.Path); AddUpdateEvent(e); }
/// <inheritdoc /> public override void AddListEvent(EventPath path, ListEvent listEvent) { if (!_mapContext.EventsEnabled) { return; } var e = new EventData { ListEvent = listEvent }; e.Path.AddRange(path.Path); AddUpdateEvent(e); }
/// <summary> /// Establishes a parent child relationship /// </summary> public void SetParent(EventContext parent, EventPath path) { if (_parent != null) { throw new Exception("Message is already associated with another parent"); } _parent = parent; if (parent != null) { _parent.AddChild(this); EventsEnabled = _parent.EventsEnabled; } _path = path; // when a message is added to a parent, any delta events it currently has are no longer valid _events.Clear(); }
/// <summary> /// Removes the parent child relationship /// </summary> public void ClearParent() { _parent?.RemoveChild(this); _parent = null; _path = EventPath.Empty; }
/// <summary> /// Used to establish a parent child relationship between a message and child message /// </summary> /// <param name="parent"></param> /// <param name="path"></param> public virtual void SetParent(EventContext parent, EventPath path) { Context.SetParent(parent, path); }