private void InitProvider() { do { _provider = RotateProvider(_provider); if (_provider == null) { if (FailureHandler != null) FailureHandler(this, null); return; } if (_provider.IsAvailable()) break; } while (true); _provider.SuccessHandler += OnLoaded; _provider.FailureHandler += OnFailure; }
private IChapterProvider RotateProvider(IChapterProvider provider) { IChapterProvider newProvider = null; if (provider == null) { newProvider = new ProjectContentProvider(_chapterName); } else if (provider is ProjectContentProvider) { newProvider = new IsolatedStorageProvider(_chapterName); } else if (provider is IsolatedStorageProvider) { newProvider = new BlobStorageProvider(_chapterName); } return newProvider; }