Example #1
0
        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)));
        }
Example #2
0
        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);
                }
            }
        }
Example #3
0
        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,
            }));
        }