static void Main(string[] args)
        {
            Console.SetWindowSize(200, 50);

            var events = DummyDataSeeder.seedEvents();
            int userInput;

            Console.WriteLine("Dobrodošli u Event attendance aplikaciju.");

            do
            {
                userInput = UserDialogDataProvider.FetchUsersInputFromMenu();
                Console.Clear();

                switch (userInput)
                {
                case 0:
                    DisplayAllEvents(events);
                    break;

                case 1:
                    AddEvent(events);
                    break;

                case 2:
                    DeleteEvent(events);
                    break;

                case 3:
                    EditEvent(events);
                    break;

                case 4:
                    RegisterAttendeeOnEvent(events);
                    break;

                case 5:
                    RemoveAttendeeFromEvent(events);
                    break;

                case 6:
                    HandleEventReviewDisplay(events);
                    break;
                }

                Console.WriteLine();
            } while (userInput != 7);

            Console.WriteLine("Hvala na korištenju Playlist aplikacije.");
        }
        private static void HandleEventReviewDisplay(Dictionary <Event, List <Attendee> > events)
        {
            int userInput;

            do
            {
                userInput = UserDialogDataProvider.FetchUsersInputFromEventDetailsSubmenu();
                Console.Clear();

                if (userInput == 4)
                {
                    return;
                }

                DisplayAllEventsNames(events);
                var reviewEvent = EventDataProvider.ProvideEvent(events);

                if (reviewEvent is Event == false)
                {
                    return;
                }

                switch (userInput)
                {
                case 1:
                    DisplayEvent(reviewEvent);
                    break;

                case 2:
                    DisplayAttendeesByEvent(events[reviewEvent]);
                    break;

                case 3:
                    DisplayEventAndAttendees(reviewEvent, events[reviewEvent]);
                    break;

                default:
                    break;
                }

                Console.WriteLine();
            } while (userInput != 4);
        }
        private static bool HandleEditEventField(int edittingField, Event edittingEvent, Dictionary <Event, List <Attendee> > allEvents)
        {
            var isEdittingDone = false;

            switch (edittingField)
            {
            case 0:
                var newName = EventDataProvider.ProvideName();
                if (UserDialogDataProvider.ConfirmAction() == true)
                {
                    edittingEvent.Name = newName;
                }
                break;

            case 1:
                var newType = EventDataProvider.ProvideType();
                if (UserDialogDataProvider.ConfirmAction() == true)
                {
                    edittingEvent.Type = (EventType)newType;
                }
                break;

            case 2:
                var newDuration = EventDataProvider.ProvideDuration(allEvents);
                if (UserDialogDataProvider.ConfirmAction() == true)
                {
                    edittingEvent.StartTime = newDuration["startTime"];
                    edittingEvent.EndTime   = newDuration["endTime"];
                }
                break;

            default:
                isEdittingDone = true;
                break;
            }

            return(isEdittingDone);
        }
        private static void DeleteEvent(Dictionary <Event, List <Attendee> > events)
        {
            if (events.Count == 0)
            {
                Console.WriteLine("Ne postoji ni jedan rezerviran event trenutno.");

                return;
            }

            DisplayAllEventsNames(events);

            var foundEvent = EventDataProvider.ProvideEvent(events);

            if (foundEvent is Event == false)
            {
                return;
            }

            if (UserDialogDataProvider.ConfirmAction() == true)
            {
                events.Remove(foundEvent);
                Console.WriteLine($"Event je uspješno izbrisan.");
            }
        }
        private static void HandleRemovingOfAttendeeFromEvent(List <Attendee> attendees)
        {
            if (attendees.Count == 0)
            {
                Console.WriteLine("Ne postoji ni jedna prijavljena osoba za odabrani event.");

                return;
            }

            var foundAttendee = AttendeeDataProvider.ProvideAttendee(attendees);

            if (foundAttendee is Attendee == false)
            {
                return;
            }

            if (UserDialogDataProvider.ConfirmAction() == false)
            {
                return;
            }

            attendees.Remove(foundAttendee);
            Console.WriteLine("Osoba uspješno uklonjena sa eventa.");
        }