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)); }
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)); }