private async Task <bool> SelectCalendar() { _logger.Trace("Choosing calendar."); CalendarList calendarList; using (var service = _calendarServiceProvider.GetCalendarService()) calendarList = await service.CalendarList.List().ExecuteAsync(); while (true) { for (var i = 0; i < calendarList.Items.Count; i++) { var calendar = calendarList.Items[i]; Console.WriteLine($"[{i}] {calendar.Summary}"); } Console.Write("Calendar nr.: "); if (!int.TryParse(Console.ReadLine(), out var chosenCalendarIndex) || chosenCalendarIndex < 0 || chosenCalendarIndex >= calendarList.Items.Count) { Console.WriteLine("Invalid number."); continue; } var chosenCalendar = calendarList.Items[chosenCalendarIndex]; SettingsService.Settings.TargetCalendarId = chosenCalendar.Id; SettingsService.Save(); _logger.Info($"Chosen calendar: [{chosenCalendar.Id}] {chosenCalendar.Summary}"); return(true); } }
private async Task <bool> CanGetPrimaryCalendar() { try { using (var service = _calendarServiceProvider.GetCalendarService()) return((await service.Calendars.Get("primary").ExecuteAsync())?.Id != null); } catch (Exception ex) { _logger.Error(ex, "Could not get default calendar ID."); return(false); } }