public ApplicationSettingsService(AppSettingsFileRepository appSettingsFileRepository, IRegistryAccess registryAccess) { _registryRepository = registryAccess; _fileRepository = appSettingsFileRepository; try { bool result = _fileRepository.LoadSettings(); if (!result) { _fileRepository = new AppSettingsFileRepository(); _fileRepository.SaveSettings(); } result = result & _registryRepository.TryReadObjectFromRegistry(out _registryAppSettings); if (!result || _registryAppSettings == null) { _registryAppSettings = RegistryAppSettings.CreateNew(ProductName, CompanyName); _registryRepository.SaveObjectToRegistry(_registryAppSettings); } } catch (Exception ex) { Log.Error(ex, "Fatal error encountered when accessing the registry settings"); _registryAppSettings = RegistryAppSettings.CreateNew(ProductName, CompanyName); //MessageBox.Show(ex.Message, Resources.Fatal_error_encountered_when_accessing_the_registry_settings_please_restart_, MessageBoxButtons.OK, MessageBoxIcon.Error); } _fileRepository.LoadSettingsCompleted += _appSettingsFileRepository_LoadSettingsCompleted; }
public SettingsRepository(IMapper mapper) { _mapper = mapper; _registryService = new RegistryAccess(CompanyName, ProductName); }