Example #1
0
        static void Main()
        {
            EventsRepository eventsRepository = new EventsRepository();
              while (true)
              {
            Console.WriteLine("Pick option:");
            string[] options = new[] { "a - todo", "l - list events" };
            foreach (var option in options)
            {
              Console.WriteLine(option);
            }

            string chosenOption = Console.ReadLine();
            if (chosenOption == "a")
            {
              DateSpan schedule = DateSpanReader.PromptForDateSpan();
              Console.Write("Title: ");
              string title = Console.ReadLine();
              CalendarEvent calendarEvent = new CalendarEvent(schedule, title);
              eventsRepository.AddEvent(calendarEvent);
            }
            else if (chosenOption == "l")
            {
              CalendarEvent[] calendarEvents = eventsRepository.GetEvents(DateSpan.Max);
              foreach (var calendarEvent in calendarEvents)
              {
            Console.WriteLine(calendarEvent);
              }
            }
              }
        }
        static void Main()
        {
            using (Logger logger = new Logger())
              {
            IEventsRepository eventsRepository = new EventsRepository("calendarData.dat");
            IAddPolicy shareableSchedulePolicy = new ShareableSchedulePolicy(eventsRepository);
            IAddPolicy exclusiveSchedulePolicy = new ExclusiveSchedulePolicy(eventsRepository);

            Planner planner = new Planner(eventsRepository, shareableSchedulePolicy, exclusiveSchedulePolicy);

            IMeetingFactory meetingFactory = new MeetingFactory();
            IOption addMeetingOption = new AddMeetingOption(meetingFactory, planner, logger);

            ITodoFactory todoFactory = new TodoFactory();
            IOption addTodoOption = new AddTodoOption(todoFactory, planner, logger);

            IOption listEventsOption = new ListEventsOption(planner);

            IOption endApplicationOption = new EndApplicationOption();

            OptionsDispatcher optionsDispatcher = new OptionsDispatcher(new[]
              {
            addTodoOption,
            addMeetingOption,
            listEventsOption,
            endApplicationOption,
              },
              Console.In,
              logger);

            bool result = true;
            while (result)
            {
              result = optionsDispatcher.ChooseOptionAndRun();
            }
              }
        }