public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            var user = DatabaseContext.Users.Find(id);

            if (user == null)
            {
                return(HttpNotFound());
            }

            var qualificationsCompleted = DatabaseContext.UserQualifications.Where(x => x.UserId == id)
                                          .Select(x => x.Qualification);

            var trainingModuleIds = DatabaseContext.UserCriterions.Where(x => x.UserId == id)
                                    .Select(x => x.Criterion.ModuleSection.Module.ModuleId);

            var qualificationsInProgress =
                DatabaseContext.Qualifications.Where(x => x.UserQualifications.All(y => y.UserId != id) &&
                                                     x.Modules.Any(y => trainingModuleIds.Contains(y.ModuleId)));

            var model = new UserQualificationsModel(user, qualificationsCompleted, qualificationsInProgress);

            return(View(model));
        }
Example #2
0
        public ActionResult Index()
        {
            var qualificationsCompleted = DatabaseContext.UserQualifications.Where(x => x.UserId == CurrentUserId)
                                          .Select(x => x.Qualification);

            var trainingModuleIds = DatabaseContext.UserCriterions.Where(x => x.UserId == CurrentUserId)
                                    .Select(x => x.Criterion.ModuleSection.Module.ModuleId);
            var qualificationsInProgress =
                DatabaseContext.Qualifications.Where(x => x.UserQualifications.All(y => y.UserId != CurrentUserId) &&
                                                     x.Modules.Any(y => trainingModuleIds.Contains(y.ModuleId)));

            var model = new UserQualificationsModel(CurrentUser, qualificationsCompleted, qualificationsInProgress);

            return(View(model));
        }