You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

164 line
5.0 KiB

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using StuMgmClient;
  5. using StuMgmLib.MyNameSpace;
  6. using System.Diagnostics;
  7. using System.Data;
  8. namespace StuMgmClient
  9. {
  10. class SystemCtrl
  11. {
  12. internal static ErrCode VerifLogin(short userName, string pawssword, out Lvl role, out int token)
  13. {
  14. LoginResponse lr = new LoginResponse();
  15. role = Lvl.Error;
  16. token = 0;
  17. UserInfoLogin cs = new UserInfoLogin(userName, pawssword);
  18. ClientRequest req = new ClientRequest(ClientFunc.VerifyLogin, cs);
  19. ServerResponse o = new ServerResponse(null);
  20. ErrCode err = SystemComm.GetData(req, out o);
  21. if (err != ErrCode.Success)
  22. return err;
  23. if (!(o.Object is LoginResponse))
  24. return ErrCode.ErrData;
  25. if (!o.Final)
  26. {
  27. Debug.Print(o.ErrMessage);
  28. return ErrCode.ErrData;
  29. }
  30. lr = (LoginResponse)o.Object;
  31. role = lr.Level;
  32. token = lr.Token;
  33. return ErrCode.Success;
  34. }
  35. internal static ErrCode GetCourseInfo(out List<CourseInfo> courseInfo)
  36. {
  37. courseInfo = null;
  38. //******
  39. ClientRequest req = new ClientRequest(ClientFunc.GetCourseInfo, null);
  40. ServerResponse o = new ServerResponse(null);
  41. ErrCode err = SystemComm.GetData(req, out o);
  42. if (err != ErrCode.Success)
  43. return err;
  44. if (!(o.Object is List<CourseInfo>))
  45. return ErrCode.ErrData;
  46. if (!o.Final)
  47. {
  48. Debug.Print(o.ErrMessage);
  49. return ErrCode.ErrData;
  50. }
  51. courseInfo = (List<CourseInfo>)o.Object;
  52. return ErrCode.Success;
  53. }
  54. internal static ErrCode RefreshUserCourseInfo(short job_id, int token)
  55. {
  56. UserCourseInfo info;
  57. ErrCode err;
  58. err = GetUserCourseInfo(job_id, token, out info);
  59. if (err != ErrCode.Success)
  60. return err;
  61. err = SystemData.RefreshUserCourseInfo(info);
  62. if (err != ErrCode.Success)
  63. return err;
  64. return ErrCode.Success;
  65. }
  66. internal static ErrCode SendUserCourseInfoOper(UserCourseInfoOper uo)
  67. {
  68. //******
  69. ClientRequest req = new ClientRequest(ClientFunc.SUpdateCourse, uo);
  70. ServerResponse o = new ServerResponse(null);
  71. ErrCode err = SystemComm.sendData(req, out o);
  72. if (err != ErrCode.Success)
  73. return err;
  74. //if (!(o.Object is List<CourseInfo>))
  75. // return ErrCode.ErrData;
  76. if (!o.Final)
  77. {
  78. Debug.Print(o.ErrMessage);
  79. return ErrCode.ErrData;
  80. }
  81. return ErrCode.Success;
  82. }
  83. static ErrCode GetUserCourseInfo(short job_id, int token, out UserCourseInfo info)
  84. {
  85. info = null;
  86. UserCourseInfoReq infoRe = new UserCourseInfoReq();
  87. infoRe.Job_Id = job_id;
  88. infoRe.Token = token;
  89. ClientRequest req = new ClientRequest(ClientFunc.GetSelfUserCourseInfo, infoRe);
  90. ServerResponse o = new ServerResponse(null);
  91. ErrCode err = SystemComm.GetData(req, out o);
  92. if (err != ErrCode.Success)
  93. return err;
  94. if (!(o.Object is UserCourseInfo))
  95. return ErrCode.ErrData;
  96. //info = (UserCourseInfo)o;
  97. info = (UserCourseInfo)o.Object;
  98. return ErrCode.Success;
  99. }
  100. internal static DataTable GetTable()
  101. {
  102. return SystemData.StreeTable();
  103. }
  104. #region 教师操作
  105. internal static ErrCode RefreshAllUserCourseInfo(short job_id, int token)
  106. {
  107. List<UserCourseInfo> userInfo;
  108. ErrCode err;
  109. err = GetAllUserCourseInfo(job_id, token, out userInfo);
  110. if (err != ErrCode.Success)
  111. return err;
  112. err = SystemData.RefreshAllUserCourseInfo(userInfo);
  113. if (err != ErrCode.Success)
  114. return err;
  115. return ErrCode.Success;
  116. }
  117. static ErrCode GetAllUserCourseInfo(short job_id, int token, out List<UserCourseInfo> userCourseInfo)
  118. {
  119. userCourseInfo = null;
  120. UserCourseInfoReq infoRe = new UserCourseInfoReq();
  121. infoRe.Job_Id = job_id;
  122. infoRe.Token = token;
  123. ClientRequest req = new ClientRequest(ClientFunc.GetSomeoneUserCInfo, infoRe);
  124. ServerResponse o = new ServerResponse(null);
  125. ErrCode err = SystemComm.GetData(req, out o);
  126. if (err != ErrCode.Success)
  127. return err;
  128. if (!(o.Object is List<UserCourseInfo>))
  129. // return ErrCode.ErrData;
  130. userCourseInfo = (List<UserCourseInfo>)o.Object;
  131. return ErrCode.Success;
  132. }
  133. #endregion
  134. }
  135. }