public IActionResult AddComment(string comment, CourseMaterialViewModel cmvm, ICollection <Comment> notifications)
        {
            if (cmvm != null)
            {
                //viewModel uit session halen
                CourseMaterial course = _courseMaterialRepository.GetById(cmvm.SelectedCourseMaterial.MaterialId);
                Member         member = (Member)_userRepository.GetById(cmvm.SelectedMember.UserId);

                if (course == null || member == null)
                {
                    return(NotFound());
                }

                Comment c = new Comment(comment, course, member);
                _commentRepository.Add(c);
                _commentRepository.SaveChanges();
                SendMail(c);
                TempData["message"] = "Het commentaar is succesvol verstuurd!";

                //Notificaties
                if (notifications != null)
                {
                    notifications.Add(c);
                    ICollection <Comment> tempList = notifications.OrderByDescending(com => com.CommentId).ToList();
                    while (notifications.Count() > 0)
                    {
                        notifications.Remove(notifications.Last());
                    }
                    foreach (Comment loopComment in tempList)
                    {
                        notifications.Add(loopComment);
                    }
                    while (notifications.Where(n => n.IsRead).Count() > 0 && notifications.Count() > 5)
                    {
                        notifications.Remove(notifications.Last());
                    }
                }
                else
                {
                    notifications = new List <Comment>();
                    notifications.Add(c);
                }
                return(RedirectToAction(nameof(SelectCourse), new { sessionId = cmvm.Session.SessionId, rank = cmvm.SelectedRank,
                                                                    selectedUserId = cmvm.SelectedMember.UserId, matId = cmvm.SelectedCourseMaterial.MaterialId }));
            }
            return(View("Training"));
        }
        public IActionResult SelectRank(int id, Rank rank, int selectedUserId)
        {
            ViewData["partialView"] = "lessons";
            var session        = _sessionRepository.GetById(id);
            var courseMaterial = _courseMaterialRepository.GetByRank(rank);
            var selectedMember = (Member)_userRepository.GetById(selectedUserId);

            if (session == null || selectedMember == null)
            {
                return(NotFound());
            }

            CourseMaterialViewModel vm = new CourseMaterialViewModel()
            {
                Session         = session,
                CourseMaterials = courseMaterial,
                AllRanks        = GiveAllRanksAsList(),
                SelectedMember  = selectedMember,
                SelectedRank    = rank,
            };

            return(View("Training", vm));
        }
        public IActionResult Confirm(Session session)
        {
            Session tempSession = _sessionRepository.GetById(session.SessionId);

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

            tempSession.Start();
            session.Start();
            _sessionRepository.SaveChanges();

            ViewData["partialView"] = "";
            CourseMaterialViewModel vm = new CourseMaterialViewModel()
            {
                Session         = tempSession,
                CourseMaterials = _courseMaterialRepository.GetByRank(Rank.Kyu6),
                AllRanks        = GiveAllRanksAsList(),
                SelectedRank    = Rank.Kyu6
            };

            return(View("Training", vm));
        }
        public IActionResult SelectCourse(int sessionId, Rank rank, int selectedUserId, int matId, CourseMaterialViewModel cmvm)
        {
            var session                = _sessionRepository.GetById(sessionId);
            var courseMaterial         = _courseMaterialRepository.GetByRank(rank);
            var selectedMember         = (Member)_userRepository.GetById(selectedUserId);
            var selectedCourseMaterial = _courseMaterialRepository.GetById(matId);

            if (session == null || selectedMember == null)
            {
                return(NotFound());
            }

            ViewData["partialView"] = "course";
            cmvm.Update(session, courseMaterial, selectedCourseMaterial, GiveAllRanksAsList(), selectedMember, rank);
            return(View("Training", cmvm));
        }
예제 #5
0
 private void WriteViewModelToSession(CourseMaterialViewModel cmvm, HttpContext context)
 {
     context.Session.SetString("CourseMaterialViewModel", JsonConvert.SerializeObject(cmvm));
 }
예제 #6
0
 public override void OnActionExecuting(ActionExecutingContext context)
 {
     _cmvm = ReadViewModelFromSession(context.HttpContext);
     context.ActionArguments["cmvm"] = _cmvm;
     base.OnActionExecuting(context);
 }