Exemplo n.º 1
0
 private static void AddRecords(ConcurrentQueue <PostRecord> concurrentQueue)
 {
     while (true)
     {
         try
         {
             if (concurrentQueue.TryDequeue(out PostRecord pr))
             {
                 var user          = GetUser(pr.Username);
                 var subreddit     = GetSubreddit(pr.Subreddit);
                 var subredditUser = GetSubredditUser(subreddit, user);
                 var post          = new Post {
                     SubredditUserID = subredditUser.id, Url = pr.Url
                 };
                 using (var context = new MassTaggerContext())
                 {
                     context.Posts.Add(post);
                     context.SaveChanges();
                 }
             }
         }
         catch (Exception e)
         {
         }
     }
 }
Exemplo n.º 2
0
 private static SubredditUser GetSubredditUser(Subreddit subreddit, RedditUser user)
 {
     using (var context = new MassTaggerContext())
     {
         var subUser = context.SubredditUsers.FirstOrDefault(su => su.UserId == user.id && su.SubredditId == subreddit.id);
         if (subUser == null)
         {
             subUser = new SubredditUser {
                 UserId = user.id, SubredditId = subreddit.id
             };
             context.SubredditUsers.Add(subUser);
             context.SaveChanges();
         }
         return(subUser);
     }
 }
Exemplo n.º 3
0
 private static Subreddit GetSubreddit(string subName)
 {
     using (var context = new MassTaggerContext())
     {
         var subreddit = context.Subreddits.FirstOrDefault(s => s.SubName == subName);
         if (subreddit == null)
         {
             subreddit = new Subreddit {
                 SubName = subName
             };
             context.Subreddits.Add(subreddit);
             context.SaveChanges();
         }
         return(subreddit);
     }
 }
Exemplo n.º 4
0
 private static RedditUser GetUser(string username)
 {
     using (var context = new MassTaggerContext())
     {
         var user = context.RedditUsers.FirstOrDefault(u => u.Username == username);
         if (user == null)
         {
             user = new RedditUser {
                 Username = username
             };
             context.RedditUsers.Add(user);
             context.SaveChanges();
         }
         return(user);
     }
 }