SanderVantEinde.WindesheimRoosterBot.Rooster.operator C# (CSharp) Method

operator() public static method

public static operator ( ) : Rooster
return Rooster
        public static Rooster operator +(Rooster a, Rooster b)
        {
            var rooster = new Rooster()
            {
                Lessen = new List<Les>(),
                RoosterFor = a.RoosterFor
            };
            int lesCountA = a.Lessen.Count, lesCountB = b.Lessen.Count;
            int x = 0, y = 0; //x Iterator voor a, y iterator voor b
            while(x != lesCountA || y != lesCountB)
            {
                if (x == lesCountA) //Als X alle lessen verwerkt heeft, en Y nog niet
                    rooster.Lessen.Add(b.Lessen[y++]);
                else if (y == lesCountB) //Als Y alle lessen verwerkt heeft en X nog niet
                    rooster.Lessen.Add(a.Lessen[x++]);
                else if (a.Lessen[x].StartTime > b.Lessen[y].StartTime) //Beide hebben nog niet verwerkte lessen
                    rooster.Lessen.Add(b.Lessen[y++]);
                else
                    rooster.Lessen.Add(a.Lessen[x++]);
            }
            return rooster;
        }