private void Remove(ViewItemSchedule schedule)
 {
     if (Schedules != null)
     {
         Schedules.Remove(schedule);
     }
 }
        private void Add(ViewItemSchedule schedule)
        {
            schedule.Class = this;

            if (Schedules != null)
            {
                Schedules.InsertSorted(schedule);
            }
        }
        public List <ViewItemSchedule[]> GetSchedulesGroupedBySharedEditingValues()
        {
            List <ViewItemSchedule[]> answer = new List <ViewItemSchedule[]>();

            List <ViewItemSchedule> copiedSchedules = Schedules.ToList();

            while (copiedSchedules.Count > 0)
            {
                ViewItemSchedule s = copiedSchedules[0];

                List <ViewItemSchedule> group = new List <ViewItemSchedule>()
                {
                    s
                };

                copiedSchedules.RemoveAt(0);

                for (int i = 0; i < copiedSchedules.Count; i++)
                {
                    if (ScheduleCreator.SharesSameEditingValues(s, copiedSchedules[i]))
                    {
                        // Make sure we don't add duplicates
                        if (!group.Exists(gItem => gItem.Identifier == copiedSchedules[i].Identifier))
                        {
                            group.Add(copiedSchedules[i]);
                        }

                        // Remove regardless if there was a duplicate for some reason
                        copiedSchedules.RemoveAt(i);
                        i--;
                    }
                }

                answer.Add(group.ToArray());
            }

            return(answer);
        }
Beispiel #4
0
 private void SingleDayControl_ScheduleItemClick(object sender, PowerPlannerAppDataLibrary.ViewItems.ViewItemSchedule e)
 {
     ScheduleItemClick?.Invoke(this, e);
 }
Beispiel #5
0
 private void _dayPagerControl_ScheduleItemClick(object sender, PowerPlannerAppDataLibrary.ViewItems.ViewItemSchedule e)
 {
     ViewModel.ViewClass(e.Class);
 }
        public ViewItemSchedule[] GetGroupOfSchedulesWithSharedEditingValues(ViewItemSchedule scheduleToGroupFrom)
        {
            var allGroups = GetSchedulesGroupedBySharedEditingValues();

            return(allGroups.FirstOrDefault(i => i.Contains(scheduleToGroupFrom)));
        }