GrammarController.cs 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. using NEducation.Models;
  2. using System;
  3. using System.Configuration;
  4. using System.Web.Mvc;
  5. using NEducation.Code;
  6. namespace NEducation.Controllers
  7. {
  8. public class GrammarController : Controller
  9. {
  10. // GET: Grammar
  11. public ActionResult Index()
  12. {
  13. Session["navitab"] = "Grammar";
  14. if (!CheckAuthToken())
  15. {
  16. Session.Clear();
  17. return Redirect("/Home/Index");
  18. }
  19. Session["courseType"] = "2";
  20. return View();
  21. }
  22. public ActionResult Learning(String lessonId, String lessonName)
  23. {
  24. if (CheckAuthToken())
  25. {
  26. System.Diagnostics.Debug.WriteLine(" grammar lessonId: " + lessonId + " lessonName: " + lessonName);
  27. GrammarModel model = new GrammarModel();
  28. model.lessonId = lessonId;
  29. model.lessonName = lessonName;
  30. ViewBag.lessonName = lessonName;
  31. Session["lessonName"] = lessonName;
  32. Session["lessonId"] = lessonId;
  33. UserRequest userRequest = new UserRequest();
  34. if (Session["msisdn"] == null) userRequest.users = null;
  35. else userRequest.users = Session["msisdn"] as string;
  36. userRequest.lessonId = lessonId;
  37. String rs = UtilsController.SendPost(userRequest, Session.SessionID, UtilsController.WsType.GetContentOfGrammar);
  38. UserActionResult res = new UserActionResult(rs);
  39. if (res.status == "0")
  40. {
  41. ListLessonData lessons = new ListLessonData(rs);
  42. Session["grammars"] = lessons;
  43. model.grammars = lessons.grammars;
  44. System.Diagnostics.Debug.WriteLine(model.grammars);
  45. Session["model"] = model;
  46. Session["lessonId"] = lessonId;
  47. return View("Learning", model);
  48. }
  49. else
  50. {
  51. return Redirect("/Common/Error");
  52. }
  53. }
  54. else
  55. {
  56. Session.Clear();
  57. return Redirect("/Home/Index");
  58. }
  59. }
  60. public ActionResult LearningFinish(String lessonId)
  61. {
  62. if (CheckAuthToken())
  63. {
  64. ViewBag.lessonName = Session["lessonName"] as String;
  65. Session["lessonId"] = lessonId;
  66. ViewBag.lessonId = lessonId;
  67. GrammarModel model = Session["model"] as GrammarModel;
  68. return View("LearningFinish", model);
  69. }
  70. else
  71. {
  72. Session.Clear();
  73. return Redirect("/Home/Index");
  74. }
  75. }
  76. public ActionResult Testing(String lessonId)
  77. {
  78. //GrammarModel model = Session["model"] as GrammarModel;
  79. //Session["lessonId"] = lessonId;
  80. //String wsUser = ConfigurationManager.AppSettings["wsUser"];
  81. //String wsPassword = ConfigurationManager.AppSettings["wsPassword"];
  82. //NEduService.WsNEduClient wsClient = new NEduService.WsNEduClient();
  83. //UtilsController.SetWsClient(ref wsClient, Session.SessionID);
  84. //NEduService.getVocaRes res = wsClient.wsGetVocaQuestionByLessonId(wsUser, wsPassword, lessonId);
  85. //model.listQuestion = res.listVocaQuestion;
  86. //Session["model"] = model;
  87. //Session["correctCount"] = 0;
  88. //ViewBag.lessonName = Session["lessonName"] as String;
  89. //return View("Testing", model);
  90. if (CheckAuthToken())
  91. {
  92. GrammarModel model = new GrammarModel();
  93. UserRequest userRequest = new UserRequest();
  94. if (Session["msisdn"] == null) userRequest.users = null;
  95. else userRequest.users = Session["msisdn"] as string;
  96. userRequest.lessonId = lessonId;
  97. String rs = UtilsController.SendPost(userRequest, Session.SessionID, UtilsController.WsType.GetContentOfQuestion);
  98. UserActionResult res = new UserActionResult(rs);
  99. System.Diagnostics.Debug.WriteLine("grammar res: " + rs);
  100. if (res.status == "0")
  101. {
  102. ListLessonData lessons = new ListLessonData(rs);
  103. System.Diagnostics.Debug.WriteLine(lessons.questions);
  104. Session["questions"] = lessons;
  105. model.questions = lessons.questions;
  106. System.Diagnostics.Debug.WriteLine(model.questions);
  107. Session["model"] = model;
  108. Session["modelTestingType"] = "grammar";
  109. Session["lessonId"] = lessonId;
  110. Session["correctCount"] = 0;
  111. ViewBag.lessonName = Session["lessonName"] as String;
  112. return View("Testing", model);
  113. }
  114. else
  115. {
  116. return Redirect("/Common/Error");
  117. }
  118. }
  119. else
  120. {
  121. Session.Clear();
  122. return Redirect("/Home/Index");
  123. }
  124. }
  125. public ActionResult TestingResult()
  126. {
  127. if (CheckAuthToken())
  128. {
  129. ViewBag.lessonName = Session["lessonName"] as String;
  130. ViewBag.lessonId = Session["lessonId"] as String;
  131. //GrammarModel model = Session["model"] as GrammarModel;
  132. var testingResult = Session["testingResult"];
  133. return View("TestingResult", testingResult);
  134. }
  135. else
  136. {
  137. Session.Clear();
  138. return Redirect("/Home/Index");
  139. }
  140. }
  141. private bool CheckAuthToken()
  142. {
  143. if (Session["AuthToken"] != null && Request.Cookies["AuthToken"] != null)
  144. {
  145. if (!Session["AuthToken"].ToString().Equals(Request.Cookies["AuthToken"].Value))
  146. {
  147. return false;
  148. }
  149. else
  150. {
  151. return true;
  152. }
  153. }
  154. else
  155. {
  156. return false;
  157. }
  158. }
  159. }
  160. }