コード例 #1
0
 public void NotifyEventRemoval(Event removedEvent)
 {
     if (EventsList.Contains(removedEvent, new EventComparer()))
     {
         UpdateHelper.Instance.EventsListRemovalHelper.Add(removedEvent);
     }
 }
コード例 #2
0
 public void NotifyEventModification(Event modifiedEvent)
 {
     if (EventsList.Contains(modifiedEvent, new EventComparer()))
     {
         UpdateHelper.Instance.EventsListModificationHelper.Add(modifiedEvent);
     }
 }
コード例 #3
0
 public void NotifyEventAddition(Event addedEvent)
 {
     if (!EventsList.Contains(addedEvent, new EventComparer()))
     {
         UpdateHelper.Instance.EventsListAdditionHelper.Add(addedEvent);
     }
 }
コード例 #4
0
        private void EventsUpdateTask()
        {
            if (UpdateHelper.Instance.EventsListAdditionHelper.Count != 0)
            {
                foreach (Event e in UpdateHelper.Instance.EventsListAdditionHelper)
                {
                    if (!EventsList.Contains(e, new EventComparer()))
                    {
                        EventsList.Add(e);

                        foreach (Person p in e.Participants)
                        {
                            Person foundPerson = PeopleList.First(pe => pe.JMBG.Equals(p.JMBG));
                            PeopleList.Remove(foundPerson);
                            foundPerson.ScheduledEvents.Add(e);
                            PeopleList.Add(foundPerson); //OPREZ
                        }
                    }
                }
            }

            if (UpdateHelper.Instance.EventsListRemovalHelper.Count != 0)
            {
                foreach (Event e in UpdateHelper.Instance.EventsListRemovalHelper)
                {
                    if (EventsList.Contains(e, new EventComparer()))
                    {
                        Event foundEvent = EventsList.FirstOrDefault(ev => ev.EventId.Equals(e.EventId));
                        EventsList.Remove(foundEvent);

                        foreach (Person p in e.Participants)
                        {
                            Person foundPerson = PeopleList.First(pe => pe.JMBG.Equals(p.JMBG));
                            PeopleList.Remove(foundPerson);
                            foundPerson.ScheduledEvents = new List <Event>(foundPerson.ScheduledEvents.Where(ev => ev.EventId != e.EventId));
                            PeopleList.Add(foundPerson);
                        }
                    }
                }
            }

            if (UpdateHelper.Instance.EventsListModificationHelper.Count != 0)
            {
                foreach (Event e in UpdateHelper.Instance.EventsListModificationHelper)
                {
                    if (EventsList.Contains(e, new EventComparer()))
                    {
                        Event foundEvent = EventsList.FirstOrDefault(ev => ev.EventId.Equals(e.EventId));
                        EventsList.Remove(foundEvent);
                        EventsList.Add(e);

                        foreach (Person p in e.Participants)
                        {
                            Person foundPerson = PeopleList.First(pe => pe.JMBG.Equals(p.JMBG));
                            PeopleList.Remove(foundPerson);
                            foundPerson.ScheduledEvents = new List <Event>(foundPerson.ScheduledEvents.Where(ev => ev.EventId != e.EventId));
                            foundPerson.ScheduledEvents.Add(e);
                            PeopleList.Add(foundPerson);
                        }
                    }
                }
            }

            if (++UpdateHelper.Instance.EventCounter >= UpdateHelper.Instance.Limit - 1)
            {
                UpdateHelper.Instance.EventsListAdditionHelper     = new List <Event>();
                UpdateHelper.Instance.EventsListRemovalHelper      = new List <Event>();
                UpdateHelper.Instance.EventsListModificationHelper = new List <Event>();

                UpdateHelper.Instance.EventCounter = 0;
            }
        }