better serialize calendar events

This commit is contained in:
Adam R. Grey 2021-10-28 09:08:29 -04:00
parent 8b1f042ec9
commit 6f450e25bc

View File

@ -54,6 +54,13 @@ namespace director
if (asEvent == null) { return null; } if (asEvent == null) { return null; }
return ser.SerializeToString(asEvent); return ser.SerializeToString(asEvent);
} }
internal static CalendarEvent Event_FromString(string asString)
{
if (string.IsNullOrWhiteSpace(asString)) { return null; }
var toReturn = Calendar.Load<CalendarEvent>(asString)?.FirstOrDefault();
return toReturn as CalendarEvent;
}
public static IEnumerable<CalendarOccurrence> getOccurrences(string calLabel) public static IEnumerable<CalendarOccurrence> getOccurrences(string calLabel)
{ {
var usefulList = new List<CalendarOccurrence>(); var usefulList = new List<CalendarOccurrence>();
@ -71,7 +78,7 @@ namespace director
} }
public class CalendarOccurrence public class CalendarOccurrence
{ {
internal string CalendarSourceName { get; set; } public string CalendarSourceName { get; set; }
internal CalendarEvent _event { get; set; } internal CalendarEvent _event { get; set; }
public string Event public string Event
{ {
@ -79,6 +86,10 @@ namespace director
{ {
return iCalHoopJumping.Event_ToString(_event); return iCalHoopJumping.Event_ToString(_event);
} }
set
{
_event = iCalHoopJumping.Event_FromString(value);
}
} }
public DateTime OccurrenceStart { get; set; } public DateTime OccurrenceStart { get; set; }
public DateTime OccurrenceEnd { get; set; } public DateTime OccurrenceEnd { get; set; }