public ActionResult Index() { var vm = new HomeViewModel(); vm.MinimumPosts = 3; using (var context = new MassTaggerContext()) { var subs = new List <SubredditViewModel>(); foreach (var subreddit in context.Subreddits.OrderBy(sub => sub.SubName)) { var count = context.SubredditUsers.Count(su => su.SubredditId == subreddit.id); if (count > 0) { var svm = new SubredditViewModel { Id = subreddit.id, Name = subreddit.SubName, Ignored = false, TagColor = Util.Enum.TagColor.red }; subs.Add(svm); } } vm.Subreddits = subs; } return(View(vm)); }
public SubredditPage() { this.InitializeComponent(); ViewModel = new SubredditViewModel(); DataContext = ViewModel; if (Settings.Instance.LastLoggedUser != null) { ViewModel.Login(); } }
public ActionResult AddSubreddit(SubredditViewModel subredditViewModel) { using (var redditCloneContext = new RedditCloneContext()) { var subreddit = new Subreddit { SubredditName = subredditViewModel.SubredditName }; redditCloneContext.Subreddits.Add(subreddit); redditCloneContext.SaveChanges(); return(RedirectToAction("Detail", new { id = subreddit.SubredditId })); } }
public ActionResult DeleteSubreddit(SubredditViewModel subredditViewModel) { using (var redditCloneContext = new RedditCloneContext()) { var subreddit = redditCloneContext.Subreddits.SingleOrDefault(s => s.SubredditId == subredditViewModel.SubredditId); if (subreddit != null) { redditCloneContext.Subreddits.Remove(subreddit); redditCloneContext.SaveChanges(); return(RedirectToAction("Index")); } return(new HttpNotFoundResult()); } }
public ActionResult AddSubreddit(SubredditViewModel subredditViewModel) { using (var redditCloneContext = new RedditCloneContext()) { // Build a new subreddit and save it to the DB. var newSubreddit = new Subreddit { SubredditName = subredditViewModel.SubredditName, OwnerId = User.Identity.GetUserId() }; redditCloneContext.Subreddits.Add(newSubreddit); redditCloneContext.SaveChanges(); return(RedirectToAction("Detail", new { id = newSubreddit.SubredditId })); } }
public IActionResult Index(int id) { try { HttpContext.Session.SetInt32(SubredditId, id); var vm = new SubredditViewModel { Posts = _context.Posts.Where(p => p.Subreddit.Id == id).ToList(), Subreddit = _context.Subreddits.Find(id), SelectedId = id }; return(View(vm)); } catch (ArgumentNullException e) { return(RedirectToPage("Home")); } }
public ActionResult DeleteSubreddit(SubredditViewModel subredditViewModel) { using (var redditCloneContext = new RedditCloneContext()) { var subreddit = redditCloneContext.Subreddits.SingleOrDefault(s => s.SubredditId == subredditViewModel.SubredditId); // Ensure that the user owns the subreddit and delet it from the DB. if (subreddit != null && User.Identity.GetUserId() == subreddit.OwnerId) { redditCloneContext.Subreddits.Remove(subreddit); redditCloneContext.SaveChanges(); return(RedirectToAction("Index")); } return(new HttpNotFoundResult()); } }
public IActionResult AddPost(SubredditViewModel model) { var id = HttpContext.Session.GetInt32(SubredditId); if (!id.HasValue) { return(RedirectToPage("Home")); } if (!ModelState.IsValid) { return(RedirectToAction("Index", new { id })); } model.NewPost.SubredditId = id.GetValueOrDefault(); _context.Add(model.NewPost); _context.SaveChanges(); return(RedirectToAction("Index", new { id })); }