public void Save(GitHubUser user) { EnsureDirectoryExists(); var filePath = Path.Combine(GitHubUsersDir, user.UserCookie.UserName + ".bin"); using (var stream = new FileStream(filePath, FileMode.Create)) { var bFormatter = new BinaryFormatter(); bFormatter.Serialize(stream, user.UserCookie); } }
public void Delete(GitHubUser user) { var filePath = Path.Combine(GitHubUsersDir, user.UserCookie.UserName); try { File.Delete(filePath); } catch { // ignored } }
public IEnumerable <IUser> Load() { EnsureDirectoryExists(); foreach (var file in Directory.EnumerateFiles(GitHubUsersDir, "*.bin", SearchOption.TopDirectoryOnly)) { using (var stream = new FileStream(file, FileMode.Open)) { var bFormatter = new BinaryFormatter(); var user = new GitHubUser(_oAuth, this); try { var cookie = bFormatter.Deserialize(stream) as GitHubUserCookie; user.UserCookie = cookie; } catch { yield break; } yield return(user); } } }