public async Task ExportEventsAsync(TripSketch.Core.Models.Calendar calendar, IList<Event> events) { var apiCalendar = new Calendars.Plugin.Abstractions.Calendar { Name = calendar.Name, ExternalID = calendar.ExternalID }; var calendarEvents = events.Select(e => new CalendarEvent { Name = e.Name, AllDay = e.AllDay, ExternalID = e.ExternalID, Start = e.Start, End = e.End }); if (string.IsNullOrEmpty(apiCalendar.ExternalID)) { await CrossCalendars.Current.AddOrUpdateCalendarAsync(apiCalendar).ConfigureAwait(false); calendar.ExternalID = apiCalendar.ExternalID; } foreach (var ev in events) { var calendarEvent = new CalendarEvent { Name = ev.Name, AllDay = ev.AllDay, ExternalID = ev.ExternalID, Start = ev.Start, End = ev.End }; await CrossCalendars.Current.AddOrUpdateEventAsync(apiCalendar, calendarEvent).ConfigureAwait(false); ev.ExternalID = calendarEvent.ExternalID; } }
public async Task<ObservableCollection<Event>> GetEventsAsync(TripSketch.Core.Models.Calendar calendar, DateTime start, DateTime end) { var apiCalendar = new Calendars.Plugin.Abstractions.Calendar { Name = calendar.Name, ExternalID = calendar.ExternalID }; var events = await CrossCalendars.Current.GetEventsAsync(apiCalendar, start, end).ConfigureAwait(false); return new ObservableCollection<Event>(events.Select(e => new Event { Name = e.Name, AllDay = e.AllDay, ExternalID = e.ExternalID, Start = e.Start, End = e.End })); }