public ActionResult BlogIndex(int page = 1) { // Read the list var blogs = PostManager.Read(); if (blogs == null) { ViewBag.Empty = true; return(View()); } else { var blogsView = new BlogModels { BlogPerPage = 5, Blogs = (from blog in blogs orderby blog.CreateTime descending select blog).ToList(), CurrentPage = page }; return(View(blogsView)); } }
public ActionResult WriteComment(int postId) { Post post; using (var db = new BlogModels()) { post = db.Posts.Include(p => p.Comments).First(p => p.Id == postId); } var model = new WriteCommentModel(); model.Post = post; using (var idb = new IdentityDbContext()) { var authors = post.Comments.Select(p => p.Author).ToList(); authors.Add(post.Author); List <IdentityUser> allAuth = new List <IdentityUser>(); foreach (string author in authors) { var autor = idb.Users.FirstOrDefault(u => u.Id == author); if (autor != null) { allAuth.Add(autor); } } model.AllAuthors = allAuth.ToArray(); } return(View(model)); }
public ActionResult NewPost(NewPostModel model) { if (!User.IsInRole("admin")) { return(RedirectToAction("Index")); } if (ModelState.IsValid) { using (var db = new BlogModels()) { Post new_post = new Post() { Label = model.Label, Text = model.Text, ImageUrl = model.ImageUrl, CreationTime = DateTime.Now, Author = User.Identity.GetUserId(), Likes = 0, Views = 0 }; db.Posts.Add(new_post); db.SaveChanges(); } return(RedirectToAction("Index", "Blog")); } ModelState.AddModelError("", "Что то не правильно"); return(View(model)); }
// GET public ActionResult Index() { AllPostsModel allPosts = new AllPostsModel(); using (var db = new BlogModels()) { allPosts.AllPosts = db.Posts.Include(p => p.Comments).OrderByDescending(p => p.CreationTime).Take(100).ToArray(); var allAuthorsId = allPosts.AllPosts.Select(p => p.Author); using (var idb = new IdentityDbContext()) { var allIdentityUsers = from user in idb.Users where allAuthorsId.Contains(user.Id) select user; foreach (var post in allPosts.AllPosts) { post.Views++; } allPosts.AllAuthors = allIdentityUsers.ToArray(); db.SaveChanges(); } } return(View(allPosts)); }
public ActionResult Index() { HomeIndexViewModel allPosts = new HomeIndexViewModel(); using (var db = new BlogModels()) { allPosts.AllPosts = db.Posts.OrderByDescending(p => p.CreationTime).Take(4).ToArray(); allPosts.AllPosts.ForEach(p => p.Views++); } return(View(allPosts)); }
public ActionResult WriteComment(WriteCommentModel model, int postId) { using (var db = new BlogModels()) { Post post; post = db.Posts.Include(p => p.Comments).Single(p => p.Id == postId); model.Post = post; using (var idb = new IdentityDbContext()) { var authors = post.Comments.Select(p => p.Author).ToList(); authors.Add(post.Author); List <IdentityUser> allAuth = new List <IdentityUser>(); foreach (string author in authors) { var autor = idb.Users.FirstOrDefault(u => u.Id == author); if (autor != null) { allAuth.Add(autor); } } model.AllAuthors = allAuth.ToArray(); } if (ModelState.IsValid) { Comment newC = new Comment() { Author = User.Identity.GetUserId(), Body = model.Body, Likes = 0, Views = 0, CreationTime = DateTime.Now, }; db.Entry(post).Entity.Comments.Add(newC); db.SaveChanges(); return(RedirectToAction("Index", "Blog")); } ModelState.AddModelError("", "Заполните все поля!"); return(View(model)); } }