public ActionResult Enrol(EnrolModel model)
        {
            var qualificationIds = model.EnrolPostModels
                                   .Where(x => x.Selected)
                                   .Select(x => x.Qualification.QualificationId);

            var criterionIds = DatabaseContext.Criteria
                               .Where(x => qualificationIds.Contains(x.ModuleSection.Module.Qualification.QualificationId))
                               .Select(x => x.CriterionId);

            foreach (var criterionId in criterionIds)
            {
                var newUserCriterion = new UserCriterion
                {
                    CriterionId       = criterionId,
                    CriterionStatusId = (int)CriterionStatuses.NotStarted,
                    UserId            = model.User.UserId,
                    UpdatedDate       = DateTime.Now
                };

                DatabaseContext.UserCriterions.Add(newUserCriterion);
            }

            DatabaseContext.SaveChanges();

            return(RedirectToAction("Details", "Members", new { id = model.User.UserId }));
        }
        public UserCriterionModel(UserCriterion userCriterion)
        {
            CriterionId = userCriterion.CriterionId;
            UpdatedDate = userCriterion.UpdatedDate;

            Criterion       = new CriterionModel(userCriterion.Criterion);
            CriterionStatus = (CriterionStatuses)userCriterion.CriterionStatus.CriterionStatusId;
            User            = new UserModel(userCriterion.User);

            if (AwardedByUser == null)
            {
                return;
            }

            AwardedByUser = new UserModel(userCriterion.AwardedByUser);
        }