Ejemplo n.º 1
0
        /// <summary>
        /// Ein Event mit dem angegebenen Titel und dem Termin wird für den Einlader angelegt.
        /// Der Titel muss innerhalb der Veranstaltungen eindeutig sein und das Datum darf nicht
        /// in der Vergangenheit liegen.
        /// Mit dem optionalen Parameter maxParticipators kann eine Obergrenze für die Teilnehmer festgelegt
        /// werden.
        /// </summary>
        /// <param name="invitor"></param>
        /// <param name="title"></param>
        /// <param name="dateTime"></param>
        /// <param name="maxParticipators"></param>
        /// <returns>Wurde die Veranstaltung angelegt</returns>
        public bool CreateEvent(Person invitor, string title, DateTime dateTime, int maxParticipators = 0)
        {
            bool result = false;

            if (invitor != null && title != null && dateTime != null && title.Length > 0)
            {
                if (DateTime.Now < dateTime && GetEvent(title) == null)
                {
                    if (maxParticipators == 0)
                    {
                        Event newEvent = new Event(invitor, title, dateTime);
                        _events.Add(newEvent);
                        result = true;
                    }
                    else
                    {
                        Event newEvent = new LimitedEvent(invitor, title, dateTime, maxParticipators);
                        _events.Add(newEvent);
                        result = true;
                    }
                }
            }

            return(result);
        }
        /// <summary>
        /// Ein Event mit dem angegebenen Titel und dem Termin wird für den Einlader angelegt.
        /// Der Titel muss innerhalb der Veranstaltungen eindeutig sein und das Datum darf nicht
        /// in der Vergangenheit liegen.
        /// Mit dem optionalen Parameter maxParticipators kann eine Obergrenze für die Teilnehmer festgelegt
        /// werden.
        /// </summary>
        /// <param name="invitor"></param>
        /// <param name="title"></param>
        /// <param name="dateTime"></param>
        /// <param name="maxParticipators"></param>
        /// <returns>Wurde die Veranstaltung angelegt</returns>
        public bool CreateEvent(Person invitor, string title, DateTime dateTime, int maxParticipators = 0)
        {
            DateTime now = DateTime.Now;

            if (_events.Count == 0)
            {
                if (!string.IsNullOrEmpty(title) && invitor != null)
                {
                    if (dateTime > now)
                    {
                        if (maxParticipators > 0)
                        {
                            LimitedEvent newLimitedEvent = new LimitedEvent(invitor, title, dateTime, maxParticipators);
                            _events.Add(newLimitedEvent);
                        }
                        else
                        {
                            Event newEvent = new Event(invitor, title, dateTime);
                            _events.Add(newEvent);
                        }

                        return(true);
                    }
                }
            }
            else
            {
                foreach (Event item in _events)
                {
                    if (!item.Title.Equals(title) && !string.IsNullOrEmpty(title))
                    {
                        if (dateTime > now)
                        {
                            Event newEvent = new Event(invitor, title, dateTime);
                            _events.Add(newEvent);
                            return(true);
                        }
                    }
                }
            }


            return(false);
        }