private async Task <bool> TryConnectionAsync(string uri) { var mediaContainer = await _connectionHelper.MakeRequestAsync <MediaContainer>(Method.Get, uri, "/", Username, Password); if (mediaContainer == null) { return(false); } if (MediaContainer == null) { MediaContainer = mediaContainer; await RefreshSessionAsync(); } else { if (MediaContainer.UpdateFrom(mediaContainer)) { RaisePropertyChanged(() => MediaContainer); } await RefreshSessionAsync(); } return(true); }
public async Task ConnectAsync(string username, string password) { if (!IsConnected || _username != username || _password != password) { lock (_userSyncObj) { User = null; _username = username; _password = password; } try { var user = await _connectionHelper.MakeRequestAsync <PlexUser>(Method.Post, PlexResources.MyPlexBaseUrl, PlexResources.MyPlexSignIn, _username, _password); lock (_userSyncObj) User = user; } catch (Exception ex) { throw new NotConnectedToPlexException(ex); } } await RefreshContainerAsync(); }