public async Task<IActionResult> Tagged(string tag) { var posts = await _postRepository.GetResults(p => p.Tags.Contains(tag)); foreach (var post in posts) { await post.SetUser(_userManager); } var model = new BlogViewModel() { RecentPosts = posts.OrderByDescending(o => o.DatePublished).ToList() }; return View(nameof(BlogController.Index), model); }
public async Task<IActionResult> Index() { var posts = await _postRepository.GetResults(); foreach (var post in posts) { await post.SetUser(_userManager); } var model = new BlogViewModel() { RecentPosts = posts.OrderByDescending(o => o.DatePublished).ToList() }; return View(model); }
public async Task<IActionResult> EditPost(string id) { var model = new BlogViewModel(); if (string.IsNullOrEmpty(id)) { var posts = await _postRepository.GetResults(); model.RecentPosts = posts.OrderByDescending(o => o.DatePublished).ToList(); return View("EditPostList", model); } else { var postToEdit = await _postRepository.GetResults(p => p.Id == id, 1); var post = postToEdit.First(); if (post == null) { return RedirectToAction(nameof(AdminController.Index)); } model.Body = post.Content; model.Title = post.Title; model.Id = post.Id; model.Tags = post.Tags; var filePath = GetFilePath(id); model.Images = Directory.Exists(filePath) ? Directory.GetFiles(filePath) .Select(path => path.Substring(path.IndexOf("\\img\\"), path.Length - path.IndexOf("\\img\\"))) .ToArray() : new string[0]; return View(model); } }
public async Task<IActionResult> EditPost(BlogViewModel model) { if (ModelState.IsValid) { var postToEdit = await _postRepository.GetResults(p => p.Id == model.Id, 1); var post = postToEdit.First(); post.Title = model.Title; post.Content = model.Body; post.Tags = model.Tags; post.DateUpdated = DateTime.Now; await _postRepository.UpdateAsync(post); } else { return View(model); } return RedirectToAction(nameof(BlogController.Index), nameof(BlogController).ControllerName()); }