private void OnAppearingLoad() { SetLoadingMessage("Loading Settings...", true); //Add finished binding message to display when loading data done. //more unit tests. _settings.GetConsumingEnumerable(); _settings = new BlockingCollection <Setting>(); foreach (var setting in _settingAccess.GetSettings()) { _settings.Add(setting); } _settings.CompleteAdding(); var baseURLSetting = GetSettingByID((int)SettingsIDs.BaseURL); if (baseURLSetting == null) { throw new NullReferenceException("Base URL Setting not found...app will not be functional"); } if (Uri.TryCreate(baseURLSetting.SettingValue, UriKind.Absolute, out _baseUri)) { _baseUri = new Uri(baseURLSetting.SettingValue); SetLoadingMessage("Done!", false); } else { SetLoadingMessage("BaseURL Formatting Error", false); _platformToast.ShowToast($"Base URL {baseURLSetting.SettingValue} is an incorrect URL Format"); } }
public SettingsViewModel(ISettingAccess settingAccess, ICommandGenerator commandGenerator, INavigator INavigator, IPlatformToast platformToast) : base(INavigator) { _settingAccess = settingAccess; _commandGenerator = commandGenerator; _platformToast = platformToast; SaveSettingsCommand = _commandGenerator.GenerateCommand(async() => { try { await SaveSettings(Settings); } catch (ArgumentNullException) { _platformToast.ShowToast("Could not save settings...try again"); } }); }