Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
        /// <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);
                }
            };
        }
Ejemplo n.º 3
0
        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");
        }
Ejemplo n.º 5
0
 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;
 }
Ejemplo n.º 6
0
 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;
 }