public static bool NewPart5(Guid quizId) //Tất cả cái add đều phải có một cái quizId { bl_QuestionGroup bl_group = new bl_QuestionGroup(); bl_Question bl_question = new bl_Question(); for (byte i = 0; i < 8; i++) { //8 pairs of reading texts with 5 questions per pair var groupId = bl_group.Create( quizId, 5, //Thay đổi đối với từng part String.Format("Part5.{0}-{1}", 101 + i * 5, 105 + i * 5), i, null, null); //Create 5 question each a group for (byte ord = 0; ord < 5; ord++) { bl_question.Create( groupId, quizId, (byte)(101 + i * 5 + ord), null, null, null, null, null, null, null, 0); } } return(true); }
public static bool NewPart6(Guid quizId) //Tất cả cái add đều phải có một cái quizId { bl_QuestionGroup bl_group = new bl_QuestionGroup(); bl_Question bl_question = new bl_Question(); for (byte i = 0; i < 3; i++) { //3 pairs of reading texts with 4 questions per pair var questionGroupId = Guid.NewGuid(); var groupId = bl_group.Create( quizId, 6, //Thay đổi đối với từng part String.Format("Part6.{0}-{1}", 141 + i * 4, 144 + i * 4), i, null, null); //Create 4 question each a group for (byte ord = 0; ord < 4; ord++) { bl_question.Create( groupId, //phải trả về đúng với group id phía trên quizId, (byte)(141 + i * 4 + ord), null, null, null, null, null, null, null, 0); } } return(true); }
public static bool NewPart7(Guid quizId, byte numberOfGroup, List <byte> itemList) { bl_QuestionGroup bl_group = new bl_QuestionGroup(); bl_Question bl_question = new bl_Question(); int tmp = 0; for (byte i = 0; i < itemList.Count; i++) { //4 pairs of reading texts with 5 questions per pair var questionGroupId = Guid.NewGuid(); var groupId = bl_group.Create( quizId, 7, //Thay đổi đối với từng part (thứ tự part) String.Format("Part7.{0}-{1}", 153 + tmp, 153 + tmp + itemList[i] - 1), i, null, null); for (byte ord = 0; ord < itemList[i]; ord++) { bl_question.Create( groupId, //phải trả về đúng với group id phía trên quizId, (byte)(153 + tmp + ord), //đúng thứ tự câu hỏi trong một bộ quiz null, null, null, null, null, null, null, 0); } tmp += itemList[i]; } return(true); }
public ActionResult Publishing(Guid quizId, Guid testId) { bl_QuestionGroup bl_group = new bl_QuestionGroup(); var group = bl_group.GetByQuizId(quizId).First(); return(Redirect(string.Format("/group/run?groupId={0}&testId={1}", group.QuestionGroupId, testId))); }
//Cái hàm này như là hàm khởi tạo, chỉ chạy 1 lần mỗi khi tạo một quiz mới //Nhiệm vụ : Để insert vào database số lượng câu hỏi của từng questionGroup. //Sau đó chúng ta sẽ cập nhật lại để đảm bảo tính đúng đắn của bộ câu hỏi. //Có thể xem thêm "http://localhost:12347/Bq_TuCuong/UpdatePart8?groupId=c38d171e-524b-466e-b814-be1d78398f7c" //để hiểu nó hoạt động như thế nào public static bool NewPart8(Guid quizId) //Tất cả cái add đều phải có một cái quizId { bl_QuestionGroup bl_group = new bl_QuestionGroup(); bl_Question bl_question = new bl_Question(); for (byte i = 0; i < 4; i++) { //4 pairs of reading texts with 5 questions per pair var groupId = bl_group.Create( quizId, 8, //Thay đổi đối với từng part (thứ tự part) String.Format("Part8.{0}-{1}", 181 + i * 5, 185 + i * 5), i, null, null); //Create 5 question each a group for (byte ord = 0; ord < 5; ord++) { bl_question.Create( groupId, //phải trả về đúng với group id phía trên quizId, (byte)(181 + i * 5 + ord), //đúng thứ tự câu hỏi trong một bộ quiz null, null, null, null, null, null, null, 0); } } return(true); }
public ActionResult Navigation(Guid quizId, Guid testId) { bl_QuestionGroup bl_group = new bl_QuestionGroup(); List <ps_PartViewItem> model = new List <ps_PartViewItem>(); for (byte i = 1; i <= 8; i++) { model.Add(new ps_PartViewItem { PartName = String.Format("Part{0}", i), TestId = testId, Groups = bl_group.GetByPartId(quizId, i) }); } bl_Answer blAnswer = new bl_Answer(); ViewBag.Done = blAnswer.GetNumberOfDone(testId); ViewBag.TestId = testId; //get the rest time bl_Test blTest = new bl_Test(); var test = blTest.GetById(testId); double restTime = (test.StartTime.AddHours(2) - DateTime.Now).TotalSeconds; ViewBag.Minute = Math.Round(restTime / 60, 0) - 1; ViewBag.Second = Math.Round(restTime % 60, 0); return(View("_Navigation", model)); }
public ActionResult View(Guid groupId, Guid testId) { bl_Test bl_test = new bl_Test(); bl_QuestionGroup bl_group = new bl_QuestionGroup(); bl_Question bl_question = new bl_Question(); bl_Answer bl_answer = new bl_Answer(); var test = bl_test.GetById(testId); var time = test.StartTime.AddHours(2) - DateTime.Now; var group = new ps_Group(); group.Group = bl_group.GetById(groupId); group.Group.Paragraph = HttpUtility.HtmlDecode(group.Group.Paragraph); group.QuestionList = bl_question.GetByGroupId(groupId); ViewBag.QuizId = group.Group.QuizId; ViewBag.GroupId = group.Group.QuestionGroupId; ViewBag.TestId = testId; ViewBag.TimeLeft = String.Format("{0}h{1}m{2}s", time.Hours, time.Minutes, time.Seconds); ViewBag.QuestionDone = bl_answer.GetQuestionDone(testId).Count; double Timeab = time.TotalSeconds; ViewBag.Time = Timeab; return(View(group)); }
public ActionResult UpdatePart8(Guid groupId) { //Phải là người tạo mới được sửa bl_QuestionGroup bl_group = new bl_QuestionGroup(); bl_Question bl_question = new bl_Question(); if (bl_group.GetById(groupId).bq_Quiz.UserId == (Guid)Membership.GetUser().ProviderUserKey) { var group = bl_group.GetById(groupId); var questionList = bl_question.GetByGroupId(group.QuestionGroupId); ps_Group part8 = new ps_Group(); part8.Group = group; part8.Group.Paragraph = HttpUtility.HtmlDecode(part8.Group.Paragraph); part8.QuestionList = questionList; ViewBag.QuizId = group.QuizId; return(View(part8)); } else { return(Redirect("/")); } }
public ActionResult UpdatePart3(Guid groupId) { bl_QuestionGroup bl_group = new bl_QuestionGroup(); bl_Question bl_question = new bl_Question(); if (bl_group.GetById(groupId).bq_Quiz.UserId == (Guid)Membership.GetUser().ProviderUserKey) { var group = bl_group.GetById(groupId); var questionList = bl_question.GetByGroupId(group.QuestionGroupId); ps_Group part3 = new ps_Group(); part3.Group = group; part3.QuestionList = questionList; //db.bq_QuestionGroup_UpdateMediaPath(groupId,null); ViewBag.QuestionGroupId = groupId; ViewBag.QuizId = group.QuizId; return(View(part3)); } else { return(Redirect("/")); } }
public static bool NewPart4(Guid quizId) { bl_QuestionGroup bl_group = new bl_QuestionGroup(); bl_Question bl_question = new bl_Question(); for (byte i = 0; i < 10; i++) { Int32 s = 70 + i * 3; //4 pairs of reading texts with 10 questions per pair var questionGroupId = Guid.NewGuid(); var groupId = bl_group.Create( quizId, 4, //Thay đổi đối với từng part (thứ tự part) String.Format("Part4.{0}-{1}", s + 1, s + 3), i, null, null); //Create 3 question each a group for (byte ord = 0; ord < 3; ord++) { bl_question.Create( groupId, //phải trả về đúng với group id phía trên quizId, (byte)(s + ord + 1), null, null, null, null, null, null, null, 0); } } return(true); }
//update question group public ActionResult UpdateNav(Guid quizId) { bl_QuestionGroup bl_group = new bl_QuestionGroup(); var groupId = bl_group.GetByPartId(quizId, 1) .OrderBy(m => m.Order) .First().QuestionGroupId; return(RedirectToAction("update", new { groupId = groupId })); }
public ActionResult RunNav(Guid testId) { bl_Test bl_test = new bl_Test(); bl_QuestionGroup bl_group = new bl_QuestionGroup(); Guid quizId = bl_test.GetById(testId).QuizId; Guid groupId = bl_group .GetByPartId(quizId, 1).OrderBy(m => m.Order) .First().QuestionGroupId; return(RedirectToAction("Run", new { groupId = groupId, testId = testId })); }
public ActionResult Update(Guid groupId) { bl_QuestionGroup bl_group = new bl_QuestionGroup(); bl_Question bl_question = new bl_Question(); ps_Group model = new ps_Group(); model.GroupId = groupId; model.Group = bl_group.GetById(groupId); model.QuizId = model.Group.QuizId; model.QuestionList = bl_question.GetByGroupId(groupId); return(View(model)); }
public ActionResult UpdatePart8(ps_Group part8) { bl_QuestionGroup bl_group = new bl_QuestionGroup(); bl_Question bl_question = new bl_Question(); bl_group.Update( part8.Group.QuestionGroupId, part8.Group.Paragraph); if (ModelState.IsValid) { foreach (var question in part8.QuestionList) { bl_question.Update( question.QuestionId, question.Paragraph, question.OptionA, question.OptionB, question.OptionC, question.OptionD, question.Answer); } //Trả về trang chủ //return Redirect("/"); part8.Group = bl_group.GetById(part8.Group.QuestionGroupId); part8.Group.Paragraph = HttpUtility.HtmlDecode(part8.Group.Paragraph); ViewBag.QuizId = part8.Group.QuizId; //chỉnh lại khi request var group = bl_group.GetById(part8.Group.QuestionGroupId); var questionList = bl_question.GetByGroupId(group.QuestionGroupId); part8.QuestionList = questionList; return(View(part8)); } else { //Nếu như dữ liệu gởi lên không đạt yêu cầu //Trả về client trạng thái dữ liệu đang làm dở part8.Group = bl_group.GetById(part8.Group.QuestionGroupId); part8.Group.Paragraph = HttpUtility.HtmlDecode(part8.Group.Paragraph); ViewBag.QuizId = part8.Group.QuizId; //chỉnh lại khi request var group = bl_group.GetById(part8.Group.QuestionGroupId); var questionList = bl_question.GetByGroupId(group.QuestionGroupId); part8.QuestionList = questionList; return(View(part8)); } }
public ActionResult Nav_UpdateGroup(Guid quizId) { bl_QuestionGroup bl_group = new bl_QuestionGroup(); List <ps_EditGroupNavItem> model = new List <ps_EditGroupNavItem>(); for (byte i = 1; i <= 8; i++) { model.Add(new ps_EditGroupNavItem { PartName = String.Format("Part{0}", i), Groups = bl_group.GetByPartId(quizId, i) }); } return(View(model)); }
public ActionResult UpdatePart6(ps_Group part6) { bl_QuestionGroup bl_group = new bl_QuestionGroup(); bl_Question bl_question = new bl_Question(); if (ModelState.IsValid) { bl_group.Update( part6.Group.QuestionGroupId, part6.Group.Paragraph); foreach (var question in part6.QuestionList) { bl_question.Update( question.QuestionId, question.Paragraph, question.OptionA, question.OptionB, question.OptionC, question.OptionD, question.Answer); } part6.Group = bl_group.GetById(part6.Group.QuestionGroupId); ViewBag.QuizId = part6.Group.QuizId; //chỉnh lại khi request var group = bl_group.GetById(part6.Group.QuestionGroupId); var questionList = bl_question.GetByGroupId(group.QuestionGroupId); part6.QuestionList = questionList; return(View(part6)); } else { part6.Group = bl_group.GetById(part6.Group.QuestionGroupId); ViewBag.QuizId = part6.Group.QuizId; //chỉnh lại khi request var group = bl_group.GetById(part6.Group.QuestionGroupId); var questionList = bl_question.GetByGroupId(group.QuestionGroupId); part6.QuestionList = questionList; return(View(part6)); } }
public ActionResult Share(Guid id, string userName) { bl_QuestionGroup bl_group = new bl_QuestionGroup(); bl_Question bl_question = new bl_Question(); bl_User blUser = new bl_User(); var group = new ps_Group(); var user = blUser.GetByUserName(userName); group.Group = bl_group.GetById(id); group.Group.Paragraph = HttpUtility.HtmlDecode(group.Group.Paragraph); group.QuestionList = bl_question.GetByGroupId(id); if (user != null) { ViewBag.DisplayName = user.DisplayName; } return(View(group)); }
public List <Group> Get(byte partNumber, int lastSync = 0) { bl_QuestionGroup bl_group = new bl_QuestionGroup(); bl_Question bl_question = new bl_Question(); List <Group> data = bl_group.GetAllPartById(partNumber) .Where(m => m.SyncVersion > lastSync) .Select(m => new Group(m)) .ToList(); foreach (var item in data) { item.Questions = bl_question.GetByGroupId(item.GroupId) .Select(m => new Question(m)) .ToList(); } return(data); }
public ActionResult Run(Guid groupId, Guid testId) { bl_Test bl_test = new bl_Test(); bl_QuestionGroup bl_group = new bl_QuestionGroup(); bl_Question bl_question = new bl_Question(); bl_Answer bl_answer = new bl_Answer(); var test = bl_test.GetById(testId); var time = test.StartTime.AddHours(2) - DateTime.Now; var group = new ps_Group(); group.Group = bl_group.GetById(groupId); group.QuizId = group.Group.QuizId; group.TestId = testId; group.Group.Paragraph = HttpUtility.HtmlDecode(group.Group.Paragraph); group.QuestionList = bl_question.GetByGroupId(groupId); group.AnswerList = bl_answer.GetByGroupId(groupId, testId); return(View(group)); }
public ActionResult UpdatePart2(Guid groupId) { bl_QuestionGroup bl_group = new bl_QuestionGroup(); bl_Question bl_question = new bl_Question(); if (bl_group.GetById(groupId).bq_Quiz.UserId == ps_Membership.GetUser().UserId) { var group = bl_group.GetById(groupId); var questionList = bl_question.GetByGroupId(group.QuestionGroupId); ps_Group part2 = new ps_Group(); part2.Group = group; part2.QuestionList = questionList; ViewBag.QuizId = group.QuizId; return(View(part2)); } else { return(Redirect("/")); } }
public static ps_TestingNav GetNav(Guid groupId) { bl_QuestionGroup bl_group = new bl_QuestionGroup(); var nav = new ps_TestingNav(); var nextId = Guid.NewGuid(); var backId = Guid.NewGuid(); var group = bl_group.GetById(groupId); var temp = bl_group.GetByPartId(group.QuizId, group.PartId); int m = temp.Count(); for (int i = 0; i < m; i++) { if (temp[i].QuestionGroupId == groupId) { if (i == 0) { nextId = temp[i + 1].QuestionGroupId; backId = temp[m - 1].QuestionGroupId; } if (i == m - 1) { nextId = temp[0].QuestionGroupId; backId = temp[i - 1].QuestionGroupId; } if (i > 0 && i < m - 1) { nextId = temp[i + 1].QuestionGroupId; backId = temp[i - 1].QuestionGroupId; } } } nav.PreGroup = backId; nav.NextGroup = nextId; return(nav); }
public ActionResult UpdatePart7(Guid groupId) { bl_QuestionGroup bl_group = new bl_QuestionGroup(); bl_Question bl_question = new bl_Question(); if (bl_group.GetById(groupId).bq_Quiz.UserId == ps_Membership.GetUser().UserId) { var group = bl_group.GetById(groupId); var questionList = bl_question.GetByGroupId(group.QuestionGroupId); ps_Group part7 = new ps_Group(); part7.Group = group; part7.Group.Paragraph = HttpUtility.HtmlDecode(part7.Group.Paragraph); part7.QuestionList = questionList; ViewBag.QuizId = group.QuizId; return(View(part7)); } else { return(Redirect("/")); } }
public ActionResult UpdatePart5(Guid groupId) { bl_QuestionGroup bl_group = new bl_QuestionGroup(); bl_Question bl_question = new bl_Question(); //Phải là người tạo mới được sửa if (bl_group.GetById(groupId).bq_Quiz.UserId == (Guid)Membership.GetUser().ProviderUserKey) { var group = bl_group.GetById(groupId); var questionList = bl_question.GetByGroupId(group.QuestionGroupId); ps_Group part5 = new ps_Group(); part5.Group = group; part5.QuestionList = questionList; ViewBag.QuizId = group.QuizId; return(View(part5)); } else { return(Redirect("/")); } }