diff --git a/Program.cs b/Program.cs index 51f8a1a..2c615ce 100644 --- a/Program.cs +++ b/Program.cs @@ -131,8 +131,13 @@ namespace director Occurrence = occurrence, Showtime = occurrence.OccurrenceStart }; - createSchedulable(ref newSchedulable); - scratch.agenda.Add(newSchedulable); + var asActualEvent = iCalHoopJumping.parseEvent(calLabel, occurrence.Event); + + if(scratch.agenda.FirstOrDefault(s => iCalHoopJumping.parseEvent(calLabel, s.Occurrence.Event)?.Uid == asActualEvent.Uid) == null) + { + createSchedulable(ref newSchedulable); + scratch.agenda.Add(newSchedulable); + } } } } diff --git a/iCalHoopJumping.cs b/iCalHoopJumping.cs index 33a9183..b4bf442 100644 --- a/iCalHoopJumping.cs +++ b/iCalHoopJumping.cs @@ -20,12 +20,12 @@ namespace director //I don't understand why the entire .net ecosystem insists on ignoring ToString(). Is it really that much fun writing ThingSerializerFactory? ...java programmers. private static EventSerializer ser = new EventSerializer(); - public static CalendarEvent parseEvent(string calendar, string eventStr) + public static CalendarEvent parseEvent(string calendarLabel, string eventStr) { //return new CalendarEvent(eventStr); //lol no //return CalendarEvent.Parse(eventStr); //lol no - var cal = Calendar.Load(Program.scratch.Calendars[calendar]); + var cal = Calendar.Load(Program.scratch.Calendars[calendarLabel]); foreach (var evt in cal.Events) { if (ser.SerializeToString(evt) == eventStr)