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; } }
private void loadStoredChannelLoginInfo(ChannelEx channel) { if (channel == null) { return; } string email = getAccountEmail(); string storedChannelLoginData = UserStoreService.Instance.GetRecordFromKeychain(email + "channel-" + channel.ID); if (!string.IsNullOrEmpty(storedChannelLoginData)) { var loginInfo = JsonConvert.DeserializeObject <ChannelLoginInfo>(storedChannelLoginData); if (loginInfo != null) { channel.LoginInfo = loginInfo; } } if ((channel.CredentialsType != ChannelCredentialsType.Anonymous) && (accountViewModel.UserInfo != null) && !string.IsNullOrEmpty(accountViewModel.UserInfo.Email)) { if (channel.LoginInfo == null) { channel.LoginInfo = new ChannelLoginInfo(); } if (string.IsNullOrEmpty(channel.LoginInfo.Username)) { channel.LoginInfo.Username = accountViewModel.UserInfo.Email; } } }
private async Task loadCableProviders(ChannelEx channel) { if (channel != null && channel.CredentialsType == ChannelCredentialsType.UsernamePasswordServiceProvider) { if (channel.LoginInfo != null && channel.LoginInfo.CableProviders != null && channel.LoginInfo.CableProviders.Any()) { 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); } } return; } try { IsLoading = true; await mediaContentViewModel.LoadCableProviders(channel); } finally { IsLoading = false; } } }