Advertisement
Guest User

Untitled

a guest
Mar 10th, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.68 KB | None | 0 0
  1.  public static List<User> LoadUsers()
  2.     {
  3.         List<User> users = new List<User>();
  4.         var dataLines = ReadLines(config["users"]);
  5.  
  6.         foreach (var line in dataLines)
  7.         {
  8.             var args = line.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
  9.             var id = int.Parse(args[0]);
  10.             var username = args[1];
  11.             var password = args[2];
  12.             var postIds = args[3]
  13.                 .Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries)
  14.                 .Select(int.Parse)
  15.                     .ToArray();
  16.             User user = new User(id, username, password, postIds);
  17.             users.Add(user);
  18.         }
  19.  
  20.         return users;
  21.     }
  22.  
  23.     public static void SaveUsers(List<User> users)
  24.     {
  25.         List<string> lines = new List<string>();
  26.  
  27.         foreach (var user in users)
  28.         {
  29.             const string userFormat = "{0};{1};{2};{3}";
  30.             string line = string.Format(userFormat,
  31.                 user.Id,
  32.                 user.Username,
  33.                 user.Password,
  34.                 string.Join(",", user.PostIds)
  35.             );
  36.  
  37.             lines.Add(line);
  38.         }
  39.         WriteLines(config["users"], lines.ToArray());
  40.     }
  41.  
  42.     public static List<Post> LoadPosts()
  43.     {
  44.         List<Post> posts = new List<Post>();
  45.         var dataLines = ReadLines(config["posts"]);
  46.  
  47.         foreach (var line in dataLines)
  48.         {
  49.             var args = line.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
  50.             var id = int.Parse(args[0]);
  51.             var title = args[1];
  52.             var content = args[2];
  53.             var categoryId = int.Parse(args[3]);
  54.             var authorId = int.Parse(args[4]);
  55.            
  56.             var replyIds = args[5]
  57.                 .Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries)
  58.                 .Select(int.Parse)
  59.                     .ToArray();
  60.             Post post = new Post(id, title, content, categoryId, authorId, replyIds);
  61.             posts.Add(post);
  62.         }
  63.  
  64.         return posts;
  65.     }
  66.  
  67.     public static void SavePosts(List<Post> posts)
  68.     {
  69.         List<string> lines = new List<string>();
  70.  
  71.         foreach (var post in posts)
  72.         {
  73.             const string postFormat = "{0};{1};{2};{3};{4};{5}";
  74.             string line = string.Format(postFormat,
  75.                 post.Id,
  76.                 post.Title,
  77.                 post.Content,
  78.                 post.CategoryId,
  79.                 post.AuthorId,
  80.                 string.Join(",", post.ReplyIds)
  81.             );
  82.  
  83.             lines.Add(line);
  84.         }
  85.         WriteLines(config["users"], lines.ToArray());
  86.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement