Example #1
0
        public async Task <IActionResult> Index()
        {
            List <PortfolioListViewModel> vmList = new List <PortfolioListViewModel>();
            var portfolios = await _projectDb.Portfolio.Include(x => x.Status).Include(x => x.PortfolioTags).ThenInclude(x => x.Tag).ToListAsync();

            foreach (var portfolio in portfolios)
            {
                PortfolioListViewModel vm = new PortfolioListViewModel()
                {
                    Id             = portfolio.Id,
                    CompletionDate = portfolio.CompletionDate,
                    Status         = portfolio.Status.Description,
                    Tags           = portfolio.PortfolioTags.Select(x => x.Tag.Description).ToList(),
                    PhotoUrl       = portfolio.PhotoUrl,
                    Title          = portfolio.Title
                };
                vmList.Add(vm);
            }
            return(View(vmList));
        }
        public ActionResult List(string pageGroupParam)
        {
            MenuData menu = new MenuData();


            List <Portfolio> portfolios;
            string           title;
            string           body;

            if (pageGroupParam == null)
            {
                portfolios = db.Portfolios.Where(current =>
                                                 current.IsActive == true && current.IsDelete == false).OrderBy(current => current.Order).ToList();
                body  = "";
                title = "نمونه کارها";
            }
            else
            {
                portfolios = db.Portfolios.Where(current =>
                                                 current.IsActive == true && current.IsDelete == false &&
                                                 current.PortfolioGroup.UrlParameter == pageGroupParam).OrderBy(current => current.Order).ToList();

                PortfolioGroup portfolioGroup = db.PortfolioGroups.FirstOrDefault(current => current.UrlParameter == pageGroupParam);

                title = portfolioGroup?.Title;
                body  = portfolioGroup?.Body;
            }


            PortfolioListViewModel portfolio = new PortfolioListViewModel()
            {
                Portfolio      = portfolios,
                PageGroupBody  = body,
                PageGroupTitle = title
            };

            ViewBag.Title = title;
            return(View(portfolio));
        }