Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        public void Delete(GitHubUser user)
        {
            var filePath = Path.Combine(GitHubUsersDir, user.UserCookie.UserName);

            try
            {
                File.Delete(filePath);
            }
            catch
            {
                // ignored
            }
        }
Exemplo n.º 3
0
        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);
                }
            }
        }