Esempio n. 1
0
        public async Task <IActionResult> Les(int?id)
        {
            CursusDetailViewModel viewModel = new CursusDetailViewModel();

            if (id == null)
            {
                return(NotFound());
            }

            var cursus = await _context.Cursussen
                         .Include(c => c.Docent)
                         .Include(c => c.CursusInhoud)
                         .ThenInclude(c => c.Les)
                         .ThenInclude(c => c.LesStappen)
                         .ThenInclude(c => c.StapIcon)
                         .Include(c => c.CursusBeschrijving)
                         .ThenInclude(c => c.InfoNodes)
                         .FirstOrDefaultAsync(m => m.CursusID == id);

            if (cursus == null)
            {
                return(NotFound());
            }
            viewModel.Cursus = cursus;
            return(View(viewModel));
        }
        public async Task <IActionResult> Buy(CursusDetailViewModel viewModel)
        {
            if (viewModel.IsLogged)
            {
                AccountCatalogus newItem = new AccountCatalogus
                {
                    CursusID    = viewModel.Cursus.CursusID,
                    Voortgang   = 1,
                    AccountID   = viewModel.CurrentUser.Id,
                    VerloopTijd = DateTime.Now.AddMonths(viewModel.Cursus.BeschikbaarheidInMaanden)
                };
                _context.Add(newItem);
                await _context.SaveChangesAsync();

                return(RedirectToAction("Catalogus"));
            }
            throw new Exception();
        }
        public async Task <IActionResult> Cursus(int?id)
        {
            CursusDetailViewModel viewModel = new CursusDetailViewModel();

            if (id == null)
            {
                return(NotFound());
            }

            var cursus = await _context.Cursussen
                         .Include(c => c.Docent)
                         .Include(c => c.CursusInhoud)
                         .ThenInclude(c => c.Les)
                         .ThenInclude(c => c.LesStappen)
                         .ThenInclude(c => c.StapIcon)
                         .Include(c => c.CursusBeschrijving)
                         .ThenInclude(c => c.InfoNodes)
                         .FirstOrDefaultAsync(m => m.CursusID == id);

            if (cursus == null)
            {
                return(NotFound());
            }
            viewModel.Cursus      = cursus;
            viewModel.IsLogged    = User.Identity.IsAuthenticated;
            viewModel.CurrentUser = _context.Account.Where(x => x.UserName == User.Identity.Name).FirstOrDefault();
            if (viewModel.IsLogged)
            {
                List <AccountCatalogus> accountCatalogus = await _context.AccountCatalogus
                                                           .Where(c => c.Account.UserName == User.Identity.Name)
                                                           .Include(c => c.Cursus)
                                                           .ToListAsync();

                viewModel.IsOwned = (accountCatalogus.Where(x => x.Cursus == viewModel.Cursus).Count() > 0);
            }
            else
            {
                viewModel.IsOwned = false;
            }
            return(View(viewModel));
        }