public PlaylistRequest(UserStatus userStatus, PlayHistory history, PlayOperation operation, Channel channel, Song lastPlay) { UserStatus = userStatus; History = history; Operation = operation; RequestChannel = channel; LastPlay = lastPlay; }
public static void SaveUserStatus(UserStatus status) { IFormatter format = new BinaryFormatter(); using (FileStream fs = s_statusFile.Open(FileMode.OpenOrCreate)) { format.Serialize(fs,status); } //format.Serialize( // s_statusFile.Open(FileMode.OpenOrCreate), // status); }
/// <summary> /// Signs out and remove saved user status if exists. /// </summary> public void Logout() { _status = null; StorageManager.ClearUserStatus(); }
/// <summary> /// Tries to recover user sign-in status from storage. /// </summary> /// <returns>Returns true if a valid user status /// has been loaded successfully.</returns> public bool TryLoadStatus() { if (LocalUserStatusExists) { _status = StorageManager.LoadUserStatus(); return _status != null; } else { return false; } }
/// <summary> /// Signs in with user email and password and /// receives response from DoubanFM server. /// </summary> /// <param name="email">User email.</param> /// <param name="password">User password.</param> /// <param name="saveStatus">Indicates if this client should /// save user's status when sign-in succeeded.</param> /// <returns></returns> public LoginResponse Login(string email, string password, bool saveStatus) { //Get response via http post. var jResp = ConnectionManager.GetPostResponse( ConnectionManager.LoginUri, new LoginRequestForm(new LoginRequest(email, password))); //Create response from json. LoginResponse resp = new LoginResponse(jResp); if (resp.Result == LoginResult.Success) { //Update local storage for user status. StorageManager.ClearUserStatus(); _status = new UserStatus() { Expire = jResp.expire, Token = jResp.token, UserID = jResp.user_id }; if (saveStatus) { StorageManager.SaveUserStatus(_status); } } return resp; }