Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        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));
        }