public void TrySaveSettings(SaveSettingsData saveSettingsData) { var searchedObjects = MedicalTypesConverter.ToDatabaseService(saveSettingsData.SearchedObjects); var lastSearch = new MedicalLocatorUserLastSearch { Address = saveSettingsData.Address, CenterType = CenterTypeConverter.ToDatabaseService(saveSettingsData.CenterType), Latitude = saveSettingsData.Latitude, Longitude = saveSettingsData.Longitude, Range = saveSettingsData.Range, SearchedObjects = new ObservableCollection<MedicalTypeDatabaseService>(searchedObjects) }; var client = new DatabaseConnectionServiceClient(); var saveSettingsResponse = client.SaveSettings(saveSettingsData.Login, saveSettingsData.Password, lastSearch); if (!saveSettingsResponse.IsSuccessful) throw new InvalidSaveSettingsException(saveSettingsResponse.ErrorMessage); }
public static SaveSettingsResponse SaveSettings( this DatabaseConnectionServiceClient client, string login, string password, MedicalLocatorUserLastSearch lastSearch) { var syncProvider = new ManualResetEvent(false); SaveSettingsResponse response = null; Exception saveSettingsException = null; client.SaveSettingsCompleted += (sender, args) => { syncProvider.Set(); try { response = args.Result; } catch (Exception exception) { saveSettingsException = exception; } }; client.SaveSettingsAsync(login, password, lastSearch); syncProvider.WaitOne(); CheckException(saveSettingsException); return response; }