public JsonResult GetTests(int?subjectId) { var tests = TestsManagementService.GetTestsForSubject(subjectId); var testViewModels = tests.Select(TestItemListViewModel.FromTest); return(Json(testViewModels, JsonRequestBehavior.AllowGet)); }
public JsonResult GetQuestionsFromAnotherTests(int testId) { IEnumerable <Question> questions = TestsManagementService.GetQuestionsFromAnotherTests(testId, CurrentUserId); var questionViewModels = questions.Select(QuestionViewModel.FromQuestion).ToList(); return(Json(questionViewModels, JsonRequestBehavior.AllowGet)); }
public JsonResult GetTest(int id) { var test = id == 0 ? new TestViewModel() : TestViewModel.FromTest(TestsManagementService.GetTest(id)); return(Json(test, JsonRequestBehavior.AllowGet)); }
public JsonResult GetTestDescription(int testId) { Test test = TestsManagementService.GetTest(testId); var description = new { Title = test.Title, Description = test.Description }; return(Json(description, JsonRequestBehavior.AllowGet)); }
public JsonResult SaveTest(TestViewModel testViewModel) { try { var savedTest = TestsManagementService.SaveTest(testViewModel.ToTest()); return(Json(savedTest)); } catch (Exception e) { return(Json(new { ErrorMessage = e.Message })); } }
public JsonResult GetTestForLector() { IEnumerable <Test> tests = TestsManagementService.GetTestForLector(CurrentUserId); var testViewModels = tests.Select(TestViewModel.FromTest).OrderBy(t => t.Title).ToList(); testViewModels.Add(new TestViewModel() { Id = 0, Title = "Все тесты" }); return(Json(testViewModels, JsonRequestBehavior.AllowGet)); }
public JsonResult GetSubGroups(int groupId, int subjectId, int testId) { IEnumerable <TestUnlockInfo> testUnlocks = TestsManagementService.GetTestUnlocksForTest(groupId, testId); var subgroups = SubjectsManagementService.GetSubGroups(subjectId, groupId).Select(subGroup => new { Name = subGroup.Name, Students = subGroup.SubjectStudents.Select(student => new { Id = student.StudentId, Name = student.Student.FullName, Unlocked = testUnlocks.Single(unlock => unlock.StudentId == student.StudentId).Unlocked }).OrderBy(student => student.Name).ToArray() }).ToArray(); return(Json(subgroups, JsonRequestBehavior.AllowGet)); }
public PartialViewResult GetNextQuestion(int testId, int questionNumber) { if (questionNumber == 1 && TestsManagementService.GetTest(testId, true).Questions.Count == 0) { ViewBag.Message = "Тест не содержит ни одного вопроса"; return(PartialView("Error")); } NextQuestionResult nextQuestion = TestPassingService.GetNextQuestion(testId, CurrentUserId, questionNumber); if (nextQuestion.Question == null) { ViewBag.Mark = nextQuestion.Mark; return(PartialView("EndTest", nextQuestion.QuestionsStatuses)); } return(PartialView("GetNextQuestion", nextQuestion)); }
public ActionResult ChangeLockForUserForStudent(int testId, int studentId, bool unlocked) { TestsManagementService.UnlockTestForStudent(testId, studentId, unlocked); if (unlocked) { TestPassResult passedByUser = TestPassingService.GetTestPassingTime(testId, studentId); if (passedByUser != null) { Student student = StudentManagementService.GetStudent(studentId); return(Json(new { PassedTime = passedByUser.StartTime.ToShortDateString(), Test = TestsManagementService.GetTest(testId).Title, Student = string.Format("{0} {1}", student.FirstName, student.LastName), Points = passedByUser.Points })); } } return(Json("Ok")); }
public ActionResult UnlockTests(int[] studentIds, int testId, bool unlock) { TestsManagementService.UnlockTest(studentIds, testId, unlock); return(Json("Ok")); }
public JsonResult DeleteTest(int id) { TestsManagementService.DeleteTest(id); return(Json(id)); }
public void Save(int userId, string color) { var subject = new Subject { Id = SubjectId, Name = DisplayName, ShortName = ShortName, Color = color, SubjectModules = new Collection <SubjectModule>(), SubjectLecturers = new Collection <SubjectLecturer>() }; foreach (var module in Modules) { if (module.Checked) { if (module.Type == ModuleType.Labs) { subject.SubjectModules.Add(new SubjectModule { ModuleId = ModulesManagementService.GetModules() .First(e => e.ModuleType == ModuleType.ScheduleProtection).Id, SubjectId = SubjectId }); subject.SubjectModules.Add(new SubjectModule { ModuleId = ModulesManagementService.GetModules() .First(e => e.ModuleType == ModuleType.StatisticsVisits).Id, SubjectId = SubjectId }); subject.SubjectModules.Add(new SubjectModule { ModuleId = ModulesManagementService.GetModules() .First(e => e.ModuleType == ModuleType.Results).Id, SubjectId = SubjectId }); } subject.SubjectModules.Add(new SubjectModule { ModuleId = module.ModuleId, SubjectId = SubjectId }); } } subject.SubjectLecturers.Add(new SubjectLecturer { SubjectId = SubjectId, LecturerId = userId }); var selectedGroupdsOld = new List <SubjectGroup>(); if (SubjectId != 0) { selectedGroupdsOld = SubjectManagementService .GetSubject(new Query <Subject>(e => e.Id == SubjectId).Include(e => e.SubjectGroups)).SubjectGroups .ToList(); } var oldGroupIds = selectedGroupdsOld.Select(x => x.GroupId); if (SelectedGroups != null) { UpdateNewAssignedGroups(Modules.Where(e => e.Checked), SelectedGroups.Where(e => !oldGroupIds.Contains(e)).ToList()); subject.SubjectGroups = SelectedGroups.Select(e => new SubjectGroup { GroupId = e, SubjectId = SubjectId, IsActiveOnCurrentGroup = true }).ToList(); } else { subject.SubjectGroups = new Collection <SubjectGroup>(); } foreach (var subjectSubjectGroup in selectedGroupdsOld) { if (subject.SubjectGroups.Any(e => e.GroupId == subjectSubjectGroup.GroupId)) { continue; } TestsManagementService.UnlockAllTestForGroup(subjectSubjectGroup.GroupId); SubjectManagementService.DeleteNonReceivedUserFiles(subjectSubjectGroup.GroupId); } var acp = Context.AssignedCourseProjects.Include("Student") .Where(x => x.CourseProject.SubjectId == subject.Id); foreach (var a in acp) { var flag = subject.SubjectGroups.Any(s => s.GroupId == a.Student.GroupId); if (!flag) { Context.AssignedCourseProjects.Remove(a); } CPManagementService.DeletePercenageAndVisitStatsForUser(a.StudentId); } var cpg = Context.CourseProjectGroups.Where(x => x.CourseProject.SubjectId == subject.Id); foreach (var a in cpg) { var flag = subject.SubjectGroups.Any(s => s.GroupId == a.GroupId); if (!flag) { Context.CourseProjectGroups.Remove(a); } } Context.SaveChanges(); var sub = SubjectManagementService.SaveSubject(subject); SubjectId = sub.Id; CreateOrUpdateSubGroups(); foreach (var module in sub.SubjectModules) { if (module.ModuleId == 9) { MaterialsManagementService.CreateRootFolder(module.Id, sub.Name); } } }