/// <summary>
        /// Aktualisiert das Datum des nächsten Termins, an dem der Reminder feuert.
        /// </summary>
        private void updateNextReminderDate()
        {
            Debug.WriteLine("In updateNextReminderDate.");

            if (SelectedStartDate == DateTimeOffset.MinValue || SelectedEndDate == DateTimeOffset.MinValue)
                return;

            DateTime selectedStartDateTmp = new DateTime(SelectedStartDate.Year, SelectedStartDate.Month, SelectedStartDate.Day,
                SelectedTime.Hours, SelectedTime.Minutes, SelectedTime.Seconds);
            DateTime selectedEndDateTmp = new DateTime(SelectedEndDate.Year, SelectedEndDate.Month, SelectedEndDate.Day,
                SelectedTime.Hours, SelectedTime.Minutes, SelectedTime.Seconds);

            selectedStartDateTmp = DateTime.SpecifyKind(selectedStartDateTmp, DateTimeKind.Local);
            selectedEndDateTmp = DateTime.SpecifyKind(selectedEndDateTmp, DateTimeKind.Local);

            DateTimeOffset reminderStartDate = new DateTimeOffset(selectedStartDateTmp);
            DateTimeOffset reminderEndDate = new DateTimeOffset(selectedEndDateTmp);

            //DateTimeOffset reminderStartDate = new DateTimeOffset(SelectedStartDate.Year, SelectedStartDate.Month, SelectedStartDate.Day,
            //    SelectedTime.Hours, SelectedTime.Minutes, SelectedTime.Seconds, TimeZoneInfo.Local.BaseUtcOffset);
            //DateTimeOffset reminderEndDate = new DateTimeOffset(SelectedEndDate.Year, SelectedEndDate.Month, SelectedEndDate.Day,
            //    SelectedTime.Hours, SelectedTime.Minutes, SelectedTime.Seconds, TimeZoneInfo.Local.BaseUtcOffset);

            // Erzeuge Reminder Objekt mit aktuellen Daten und lasse den nächsten
            // Reminder Zeitpunkt bestimmen.
            Reminder reminderTmp = new Reminder()
            {
                StartDate = reminderStartDate,
                EndDate = reminderEndDate,
                Ignore = SkipNextReminderDate,
                Interval = IntervalValue
            };

            reminderTmp.ComputeFirstNextDate();
            reminderTmp.EvaluateIsExpired();

            if (reminderTmp.IsExpired)
            {
                Debug.WriteLine("Reminder is expired.");
                IsReminderExpired = true;
            }
            else
            {
                IsReminderExpired = false;
            }
            
            NextReminderDate = reminderTmp.NextDate;
        }
        /// <summary>
        /// Aktualisiert die für die View relevanten Parameter eines Reminder Objekts, welches aktuell
        /// vom ViewModel gehalten wird.
        /// </summary>
        /// <param name="currentReminder">Die aktuell gehaltene Reminder-Instanz.</param>
        /// <param name="newReminder">Die Reminder-Instanz mit den neuen Daten.</param>
        private void updateViewRelatedPropertiesOfReminder(Reminder currentReminder, Reminder newReminder)
        {
            currentReminder.StartDate = newReminder.StartDate;
            currentReminder.EndDate = newReminder.EndDate;
            currentReminder.Interval = newReminder.Interval;
            currentReminder.Ignore = newReminder.Ignore;
            currentReminder.IsActive = newReminder.IsActive;
            currentReminder.Text = newReminder.Text;
            currentReminder.Title = newReminder.Title;
            currentReminder.MessagePriority = newReminder.MessagePriority;
            currentReminder.ModificationDate = newReminder.ModificationDate;
            currentReminder.AuthorId = newReminder.AuthorId;

            currentReminder.ComputeFirstNextDate();
            currentReminder.EvaluateIsExpired();
        }