Example #1
0
        static string GetSchedule(DaysOfWeekMasks days)
        {
            string schedule = " ";

            foreach (DaysOfWeekMasks mask in Enum.GetValues(typeof(DaysOfWeekMasks)))
            {
                if (mask == DaysOfWeekMasks.None)
                {
                    continue;
                }

                if (days.HasFlag(mask))
                {
                    schedule += "+   ";
                }

                else
                {
                    schedule += "-   ";
                }
            }
            return(schedule);
        }
Example #2
0
        static void Main(string[] args)
        {
            const byte MIN_CURSOR_POSITION = 1;

            const byte MAX_CURSOR_POSITION = 25;


            DaysOfWeekMasks days = DaysOfWeekMasks.None;

            byte nowDayOfWeek = 1;

            byte nowPosition = 1;

            DrawWeek(GetSchedule(days));


            for (; ;)
            {
                switch (Console.ReadKey(true).Key)
                {
                case ConsoleKey.LeftArrow:
                {
                    if (nowPosition == MIN_CURSOR_POSITION)
                    {
                        break;
                    }
                    else
                    {
                        nowPosition -= 4;
                        nowDayOfWeek--;
                    }

                    break;
                }

                case ConsoleKey.RightArrow:
                {
                    if (nowPosition == MAX_CURSOR_POSITION)
                    {
                        break;
                    }
                    else
                    {
                        nowPosition += 4;
                        nowDayOfWeek++;
                    }

                    break;
                }

                case ConsoleKey.Enter:
                {
                    days ^= DaysOfWeekMasks.None;

                    string dayToStr = Enum.GetNames(typeof(DaysOfWeekMasks))[nowDayOfWeek];

                    DaysOfWeekMasks day = (DaysOfWeekMasks)(Enum.Parse(typeof(DaysOfWeekMasks), dayToStr));

                    if (days.HasFlag(day))
                    {
                        days ^= day;
                    }
                    else
                    {
                        days |= day;
                    }

                    break;
                }
                }

                Console.Clear();

                DrawWeek(GetSchedule(days));

                Console.SetCursorPosition(nowPosition, 1);
            }
        }