public Ticket() { comments = new EventRaisingSetWrapper <Comment>(new HashSet <Comment>()); comments.AfterAdd += (sender, e) => e.Item.Ticket = this; comments.AfterRemove += (sender, e) => e.Item.Ticket = null; labels = new EventRaisingSetWrapper <Labels.Label>(new HashSet <Labels.Label>()); labels.AfterAdd += (sender, e) => { if (!e.Item.Tickets.Contains(this)) { e.Item.Tickets.Add(this); } }; labels.AfterRemove += (sender, e) => { if (e.Item.Tickets.Contains(this)) { e.Item.Tickets.Remove(this); } }; primaryRelationships = new EventRaisingSetWrapper <TicketRelationship>(new HashSet <TicketRelationship>()); primaryRelationships.AfterAdd += (sender, e) => e.Item.PrimaryTicket = this; primaryRelationships.AfterRemove += (sender, e) => e.Item.PrimaryTicket = null; secondaryRelationships = new EventRaisingSetWrapper <TicketRelationship>(new HashSet <TicketRelationship>()); secondaryRelationships.AfterAdd += (sender, e) => e.Item.SecondaryTicket = this; secondaryRelationships.AfterRemove += (sender, e) => e.Item.SecondaryTicket = null; workLogs = new EventRaisingSetWrapper <Activity.TicketWorkLog>(new HashSet <Activity.TicketWorkLog>()); workLogs.AfterAdd += (sender, e) => e.Item.Ticket = this; workLogs.AfterRemove += (sender, e) => e.Item.Ticket = null; }
/// <summary> /// Initializes a new instance of the <see cref="User"/> class. /// </summary> public User() { contributorTo = new EventRaisingSetWrapper <Projects.Project>(new HashSet <Projects.Project>()); contributorTo.AfterAdd += (sender, e) => { if (!e.Item.Contributors.Contains(this)) { e.Item.Contributors.Add(this); } }; contributorTo.AfterRemove += (sender, e) => { if (e.Item.Contributors.Contains(this)) { e.Item.Contributors.Remove(this); } }; administratorOf = new EventRaisingSetWrapper <Projects.Project>(new HashSet <Projects.Project>()); administratorOf.AfterAdd += (sender, e) => { if (!e.Item.Administrators.Contains(this)) { e.Item.Administrators.Add(this); } }; administratorOf.AfterRemove += (sender, e) => { if (e.Item.Administrators.Contains(this)) { e.Item.Administrators.Remove(this); } }; }
public Label() { tickets = new EventRaisingSetWrapper <Ticket>(new HashSet <Ticket>()); tickets.AfterAdd += (sender, e) => { if (!e.Item.Labels.Contains(this)) { e.Item.Labels.Add(this); } }; tickets.AfterRemove += (sender, e) => { if (e.Item.Labels.Contains(this)) { e.Item.Labels.Remove(this); } }; }
public void Replacing_the_collection_triggers_both_replace_events() { // Arrange var wrapper = new EventRaisingSetWrapper <Child> (new HashSet <Child> ()); var beforeReplaceHandler = GetBeforeReplaceHandler(); var afterReplaceHandler = GetAfterReplaceHandler(); wrapper.BeforeReplace += beforeReplaceHandler; wrapper.AfterReplace += afterReplaceHandler; // Act wrapper.SourceCollection = new HashSet <Child> (); wrapper.BeforeReplace -= beforeReplaceHandler; wrapper.AfterReplace -= afterReplaceHandler; // Assert Assert.IsTrue(_beforeReplaceCalled, "Before replace"); Assert.IsTrue(_afterReplaceCalled, "After replace"); }
public Sprint() { tickets = new EventRaisingSetWrapper <Ticket>(new HashSet <Ticket>()); tickets.BeforeAdd += (sender, e) => e.Item.Sprint = this; tickets.BeforeRemove += (sender, e) => e.Item.Sprint = null; }
public Parent() { _children = new EventRaisingSetWrapper <Child>(new HashSet <Child>()); _children.AfterAdd += (sender, e) => e.Item.Parent = this; _children.AfterRemove += (sender, e) => e.Item.Parent = null; }