Esempio n. 1
0
        private async void SaveSettings()
        {
            IsLoading     = true;
            SettingsSaved = false;

            Settings.SettingsVersion = ApplicationInfo.Version;

            ApplyProxySettings();
            if (Settings.AppSettings.RunApplicationAtSystemStartup)
            {
                WindowsStartupService.RunAtWindowsStartup();
            }
            else
            {
                WindowsStartupService.RemoveFromWindowsStartup();
            }

            try
            {
                foreach (var calendarSyncProfile in Settings.CalendarSyncProfiles)
                {
                    calendarSyncProfile.SetSourceDestTypes();
                }

                foreach (var calendarSyncProfile in Settings.TaskSyncProfiles)
                {
                    calendarSyncProfile.SetSourceDestTypes();
                }

                foreach (var calendarSyncProfile in Settings.ContactSyncProfiles)
                {
                    calendarSyncProfile.SetSourceDestTypes();
                }

                var result = await SettingsSerializationService.SerializeSettingsAsync(Settings);

                if (result)
                {
                    LastSavedSettings = Settings;
                    Settings          = LastSavedSettings.DeepClone();
                }
                Init = true;
                await MessageService.ShowMessage(result? "Settings Saved Successfully" : "Error Saving Settings",
                                                 "Settings");

                SettingsSaved = true;
            }
            catch (AggregateException exception)
            {
                SettingsSaved = false;
                var flattenException = exception.Flatten();
                MessageService.ShowMessageAsync(flattenException.Message);
            }
            catch (Exception exception)
            {
                SettingsSaved = false;
                MessageService.ShowMessageAsync(exception.Message);
            }
            finally
            {
                IsLoading = false;
            }
        }
Esempio n. 2
0
        private async void SaveSettings()
        {
            IsLoading                = true;
            SettingsSaved            = false;
            Settings.GoogleAccounts  = GoogleAccounts;
            Settings.SettingsVersion = ApplicationInfo.Version;
            Settings.AppSettings.MinimizeToSystemTray          = MinimizeToSystemTray;
            Settings.AppSettings.HideSystemTrayTooltip         = HideSystemTrayTooltip;
            Settings.AppSettings.CheckForUpdates               = CheckForUpdates;
            Settings.AppSettings.CheckForAlphaReleases         = CheckForAlphaReleases;
            Settings.AppSettings.RunApplicationAtSystemStartup = RunApplicationAtSystemStartup;
            Settings.AppSettings.StartMinimized          = StartMinimized;
            Settings.AppSettings.IsManualSynchronization = IsManualSynchronization;
            Settings.AllowManualAuthentication           = AllowManualGoogleAuth;
            Settings.AppSettings.ProxySettings           = new ProxySetting
            {
                BypassOnLocal         = ProxySettings.BypassOnLocal,
                Domain                = ProxySettings.Domain,
                Password              = ProxySettings.Password,
                Port                  = ProxySettings.Port,
                ProxyAddress          = ProxySettings.ProxyAddress,
                ProxyType             = ProxySettings.ProxyType,
                UseDefaultCredentials = ProxySettings.UseDefaultCredentials,
                UserName              = ProxySettings.UserName
            };
            ApplyProxySettings();
            Settings.SyncProfiles.Clear();
            foreach (var profileViewModel in SyncProfileList)
            {
                Settings.SyncProfiles.Add(profileViewModel.SaveCurrentSyncProfile());
            }

            if (RunApplicationAtSystemStartup)
            {
                WindowsStartupService.RunAtWindowsStartup();
            }
            else
            {
                WindowsStartupService.RemoveFromWindowsStartup();
            }

            try
            {
                var result = await SettingsSerializationService.SerializeSettingsAsync(Settings);

                await
                MessageService.ShowMessage(result? "Settings Saved Successfully" : "Error Saving Settings",
                                           "Settings");

                SettingsSaved = true;
            }
            catch (AggregateException exception)
            {
                SettingsSaved = false;
                var flattenException = exception.Flatten();
                MessageService.ShowMessageAsync(flattenException.Message);
            }
            catch (Exception exception)
            {
                SettingsSaved = false;
                MessageService.ShowMessageAsync(exception.Message);
            }
            finally
            {
                IsLoading = false;
            }
        }