public async Task <IActionResult> Detail(int?id) { if (id == null) { return(RedirectToAction("Error", "Home")); } AdminManager admin = new AdminManager(); UserClient user = new UserClient(); var cookieUser = Request.Cookies["Token"]; var cookieAdmin = Request.Cookies["TokenAdmin"]; if (cookieAdmin != null) { admin = await _db.AdminManagers.FirstOrDefaultAsync(a => a.Token == cookieAdmin); } if (cookieUser != null) { user = await _db.UserClients.FirstOrDefaultAsync(a => a.Token == cookieUser); } var rqf = Request.HttpContext.Features.Get <IRequestCultureFeature>(); var culture = rqf.RequestCulture.Culture; BlogTranslate blog = await _db.BlogTranslates.Include("Blog.BlogReviews.User").Include("Blog.BlogReviews.Admin.Category.AdminCategoryTranslates").Include("Blog.BlogCategories.AdminManager.Category.AdminCategoryTranslates").FirstOrDefaultAsync(c => c.BlogId == id && c.Language.LanguageCode == culture.ToString() && c.Blog.Status == true); if (blog == null) { return(RedirectToAction("Error", "Home")); } BlogDetailVM model = new BlogDetailVM { Blog = blog, UserClientId = (user != null?user.Id:0), AdminId = (admin != null ? admin.Id : 0), BlogVM = new BlogVM { Breadcrumb = new Breadcrumb { Path = new Dictionary <string, string> { { "Home", Url.Action("Index", "Home") }, { "Blog Detail", null } }, Page = Page.BlogDetail }, ArchiveBlogs = await _db.BlogTranslates .Where(c => c.Language.LanguageCode == culture.ToString() && c.Blog.Status == true) .OrderBy(b => b.Blog.CreatedAt).Take(4).ToListAsync(), Categories = await _db.BlogCategoryTranslates .Where(c => c.Language.LanguageCode == culture.ToString() && c.Category.Status == true) .OrderByDescending(c => c.Category.CreatedAt).ToListAsync(), Blogs = await _db.BlogTranslates .Include("Blog.AdminManager.Category.AdminCategoryTranslates") .Include("Language") .Where(c => c.Language.LanguageCode == culture.ToString() && c.Blog.Status == true) .OrderByDescending(b => b.Blog.CreatedAt).Take(4).ToListAsync(), }, BlogCategories = await _db.BlogCategories.Include("Category.BlogCategoryTranslates").Where(b => b.BlogId == blog.BlogId).ToListAsync() }; return(View(model)); }
public IActionResult Detail(int?id) { ViewBag.Category = _context.Categories.ToList(); Blog blog = _context.Blogs.Include(x => x.Category).FirstOrDefault(x => x.Id == id); var comments = _context.Comments.Where(x => x.BlogId == id).Include(x => x.AppUser).ToList(); if (blog == null) { return(NotFound()); } BlogDetailVM blogDetailVM = new BlogDetailVM { Blog = blog, Comments = comments }; return(View(blogDetailVM)); }
public async Task <IActionResult> Detail(int?id) { if (id == null) { return(NotFound()); } Blog blog = await _db.Blogs.FindAsync(id); if (blog == null) { return(NotFound()); } BlogDetailVM detailVM = new BlogDetailVM { Background = _db.Backgrounds.FirstOrDefault(), Courses = _db.Courses.Take(6), Events = _db.Events.OrderByDescending(p => p.Id).Take(3), Blog = blog, }; return(View(detailVM)); }