Beispiel #1
0
 private void Button_Click_2(object sender, RoutedEventArgs e)
 {
     //TickRRule rule = new TickRRule();
     //TickRRule rrule = new TickRRule("");
     DDay.iCal.RecurrencePattern pattern = new DDay.iCal.RecurrencePattern();
 }
        /*
         * If a Event happens on a certain Day
         *
         * @param e : Event
         * @param date : DateTime
         */
        private bool isToday(Event e, DateTime date)
        {
            String myDate = date.Year.ToString() + "-" + Tools.addZeroFormatStringDate(date.Month) + "-" + Tools.addZeroFormatStringDate(date.Day);

            if (e.Start.DateTime != null)
            {
                if (e.Start.DateTime.Contains(myDate))
                    return true;
                if (Convert.ToDateTime(e.Start.DateTime) < date && e.End.DateTime != null && date < Convert.ToDateTime(e.End.DateTime))
                    return true;
                if (e.Recurrence != null && e.Recurrence.Count > 0)
                {
                    DDay.iCal.RecurrencePattern pattern = new DDay.iCal.RecurrencePattern(e.Recurrence[0]);
                    DDay.iCal.RecurrencePatternEvaluator re = new DDay.iCal.RecurrencePatternEvaluator(pattern);
                    IList<DDay.iCal.IPeriod> list = re.Evaluate(
                        new DDay.iCal.iCalDateTime(e.Start.DateTime), date, date.AddDays(1), false);
                    if (list.Count == 1) return true;
                }
            }
            // Event which takes all day
            if (e.Start.Date != null)
            {
                if (e.Start.Date.Equals(myDate))
                    return true;
                if (e.Start.Date.CompareTo(myDate) == -1 && e.End.Date != null && myDate.CompareTo(e.End.Date) == -1)
                    return true;
                if (e.Recurrence != null && e.Recurrence.Count > 0)
                {
                    DDay.iCal.RecurrencePattern pattern = new DDay.iCal.RecurrencePattern(e.Recurrence[0]);
                    DDay.iCal.RecurrencePatternEvaluator re = new DDay.iCal.RecurrencePatternEvaluator(pattern);
                    IList<DDay.iCal.IPeriod> list = re.Evaluate(
                        new DDay.iCal.iCalDateTime(Convert.ToDateTime(e.Start.Date)), date, date.AddDays(1), false);
                    if (list.Count == 1) return true;
                }
            }
            return false;
        }