ScheduleWorks.Algorithm.Schedule.Not C# (CSharp) Method

Not() public method

public Not ( Dictionary compDict ) : bool
compDict Dictionary
return bool
        public bool Not(Dictionary<Tuple<Class, Subject, List<Group>>, int> compDict)
        {
            //= new Dictionary<Tuple<Class, Subject, List<Group>>, int>();
            Dictionary<Tuple<Class, Subject, List<Group>>, int> thisDict = new Dictionary<Tuple<Class, Subject, List<Group>>, int>();

            for (int day = 0; day < this.Timetable.Count; ++day)
            {
                for (int classN = 0; classN < this.Timetable[day].Classes.Count; ++classN)
                {
                    for (int lesson = 0; lesson < this.Timetable[day].Classes[classN].Lessons.Count; ++lesson)
                    {
                        Lesson l = this.Timetable[day].Classes[classN].Lessons[lesson];
                        if (l != null)
                        {
                            Tuple<Class, Subject, List<Group>> t = new Tuple<Class, Subject, List<Group>>(l.Class, l.Subject, l.Groups);
                            if (thisDict.ContainsKey(t))
                            {
                                thisDict[t]++;
                            }
                            else
                            {
                                thisDict.Add(t, 1);
                            }
                        }
                    }
                }
            }
            try
            {
                foreach (var pair in compDict)
                {
                    if (pair.Value != thisDict[pair.Key])
                        return true;
                }
            }
            catch (KeyNotFoundException e)
            {
                return true;
            }
            return false;
        }