public ActionResult Result(int userTestId) { UserTestService .LoadWith(c => c.Load(x => x.Test, x => x.TestPassRule)); var userTest = UserTestService.GetByPK(userTestId); if (userTest == null) { return(null); } var isEnglishTest = TestRecomendations.IsEnglishTest(userTest.TestId); var courseTCs = RecomendCourseTCs(userTest); var courseTC = userTest.Test.CourseTCSplitList.FirstOrDefault(); var isTrack = !courseTC.IsEmpty() && CourseService.IsTrack(courseTC); var courses = CourseService.GetCourseLinkList(courseTCs).ToList(); var modules = TestModuleService.GetForTest(userTest.TestId).ToList(); var courseName = DictionaryUtils.GetValueNotDefaultKey( CourseService.GetAllActiveCourseNames(), userTest.Course_TC); var model = new TestResultVM { UserTest = userTest, RecCourses = courses, IsOwned = User != null && User.UserID == userTest.UserId, IsPrivatePerson = User != null && !User.IsCompany, Modules = modules, IsTrack = isTrack, Stats = EntityUtils.GetStats(userTest), IsEnglish = isEnglishTest, CourseName = courseName }; return(BaseView(new PagePart(PartialViewNames.Result, model))); }
private void SendTestResult(string testName, UserTest userTest, int?companyId) { var courseName = DictionaryUtils.GetValueNotDefaultKey( CourseService.GetAllActiveCourseNames(), userTest.Course_TC); var userTestLink = Url.UserTestLink(userTest, courseName ?? testName).AbsoluteHref(); if (companyId.HasValue) { var email = UserService.GetAll(x => x.CompanyID == companyId).Select(x => x.Email).First(); MailService.Send(Services.Common.MailService.info, new MailAddress(email), userTestLink.ToString(), "Результат тестирования " + User.FullName); } if (!userTest.IsPass || !userTest.NormalTest) { return; } var courseTC = RecomendCourseTCs(userTest).ToList(); if (courseTC.Any()) { var courseLink = CourseService.GetCourseLinkList(courseTC); if (courseLink.Any()) { MailService.TestResult(AuthService.CurrentUser, userTestLink, courseLink.Select(cl => Html.CourseLinkAnchor(cl.UrlName, cl.GetName()).AbsoluteHref()).ToList(), userTest); } } }
ActionResult GetDetailsView(int id, string courseTC, int?moduleSetId) { var test = TestService.GetByPK(id); if (courseTC != null && CoursePrerequisiteService.GetTestIds( courseTC).All(x => x != id)) { return(NotFound()); } if (!StudentInGroupService.CalcTestIsActive(test)) { return(NotFound()); } return(BaseView(Views.TestRun.Details, new TestRunDetailsVM { Test = test, CourseName = DictionaryUtils.GetValueNotDefaultKey( CourseService.GetAllActiveCourseNames(), courseTC), ModuleSetId = moduleSetId, CourseTC = courseTC, })); }