private void RefreshProvider(IAdProvider provider) { Debug.WriteLine("RefreshProvider -> " + provider.GetName() + " with priority: " + provider.GetPriority()); if (_newProvider != null) { //TODO: Unanchor events _newProvider.PurgeControl(); } if (provider == _currentProvider) { _currentProvider.New += Refresh_New; _currentProvider.Error += Refresh_Error; _currentProvider.Refresh(); return; } _newProvider = provider; _newProvider.New += Refresh_New; _newProvider.Error += Refresh_Error; UIElement newAdControl = _newProvider.CreateControl(); if (newAdControl != null) { try { _rotatingBannerContainer.Children.Add(newAdControl); } catch (Exception) { UnanchorNewProvider(); _newProvider.PurgeControl(); _newProvider = null; } } _newProvider.Start(); }
private int CompareProviders(IAdProvider provider1, IAdProvider provider2) { return provider2.GetPriority().CompareTo(provider1.GetPriority()); }