internal async Task LoadCableProviders(ChannelEx channel) { try { if (channel.LoginInfo == null) { channel.LoginInfo = new ChannelLoginInfo(); } IsLoading = true; var providers = await SettingsClient.GetCableProviders(channel.ID); if (providers != null) { channel.LoginInfo.CableProviders = new ObservableCollection <ProviderCode>(providers); if (!string.IsNullOrEmpty(channel.LoginInfo.ProviderCode)) { var selectedCableProvider = channel.LoginInfo.CableProviders.FirstOrDefault(c => c.Code == channel.LoginInfo.ProviderCode); if (selectedCableProvider != null) { channel.LoginInfo.SelectedCableProviderIndex = channel.LoginInfo.CableProviders.IndexOf(selectedCableProvider); } } } } catch (Exception ex) { //XXX : Handle error LoggerService.Instance.Log("ERROR: MediaContent.LoadCableProviders: " + ex); } finally { IsLoading = false; } }