예제 #1
0
        public ActionResult Create(ForumAccount forumaccount)
        {
            if (ModelState.IsValid)
            {
                db.Accounts.Add(forumaccount);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(forumaccount));
        }
예제 #2
0
        public void Scrape()
        {
            //Don't scavange if there is not forumaccounts active on YAF
            if (!_db.Accounts.Any(a => a.YafActive))
            {
                return;
            }

            _db.Accounts.Where(a => a.YafActive).ForEach(account =>
            {
                var toAdd = GetNewPosts(account, _db.Threads.ToList()).ToList();
                account.Posts.AddRange(toAdd);
                _db.Accounts.Attach(account);
                _db.SaveChanges();         //Pesky thread duplication avoided
            });

            _db.SaveChanges();
        }
예제 #3
0
        public void Scrape()
        {
            //Don't scavange if there is not forumaccounts active on vb
            if (!_db.Accounts.Any(a => a.VbActive))
            {
                return;
            }

            var prospectiveThreads = GetActiveThreads();

            foreach (var thread in prospectiveThreads)
            {
                ScrapeThread(thread);
            }

            foreach (var thread in prospectiveThreads)
            {
                var targetThread = _db.Threads.FirstOrDefault(a => a.ThreadId == thread.ThreadId && a.Type == 2);
                if (targetThread != null)
                {
                    foreach (var post in thread.Posts)
                    {
                        var targetPost = targetThread.Posts.FirstOrDefault(p => p.PostId == post.PostId);
                        if (targetPost != null)
                        {
                            if (targetPost.Hash != post.Hash)
                            {
                                targetPost.Hash    = post.Hash;
                                targetPost.Content = post.Content;
                            }
                        }
                        else
                        {
                            targetThread.Posts.Add(post);
                        }
                    }
                }
                else
                {
                    _db.Threads.Add(thread);
                }
            }

            _db.SaveChanges();
        }
예제 #4
0
        public ActionResult Create(NewUserViewModel newUser)
        {
            if (ModelState.IsValid && newUser.Secret == Settings.Default.SecretAnswer)
            {
                var user = new User
                {
                    Username  = newUser.Username,
                    Password  = BCrypt.HashPassword(newUser.Password, BCrypt.GenerateSalt()),
                    Email     = newUser.Email,
                    IsAdmin   = true,
                    CreatedAt = DateTime.Now
                };

                db.Users.Add(user);
                db.SaveChanges();
                return(RedirectToAction("Index", "Home"));
            }
            return(View(newUser));
        }