public string SyncNow(CalendarSyncProfile syncProfile, SyncMetric syncMetric, SyncCallback syncCallback) { try { if (syncProfile.GoogleAccount == null || syncProfile.GoogleAccount.GoogleCalendar == null || !syncProfile.ValidateOutlookSettings()) { _messageService.ShowMessageAsync( "Please configure Google and Outlook calendar in settings to continue."); return("Invalid Settings"); } ResetSyncData(); var isSyncComplete = _calendarUpdateService.SyncCalendar(syncProfile, syncMetric, syncCallback); return(isSyncComplete ? null : "Error Occurred"); } catch (AggregateException exception) { var flattenException = exception.Flatten(); _messageService.ShowMessageAsync(flattenException.Message); _applicationLogger.Error(exception); return(flattenException.Message); } catch (Exception exception) { _messageService.ShowMessageAsync(exception.Message); _applicationLogger.Error(exception); return(exception.Message); } }