ExamProxy.cs 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.Globalization;
  5. using UnityEngine;
  6. public class ExamProxy : DataProxy
  7. {
  8. /// <summary>
  9. /// 考试科目
  10. /// </summary>
  11. private string curse;
  12. /// <summary>
  13. /// 开始时间
  14. /// </summary>
  15. public System.DateTime startTime;
  16. /// <summary>
  17. /// 考试用时
  18. /// </summary>
  19. public int examTime;
  20. public List<ExamScoreInfo> examScoreInfos;
  21. /// <summary>
  22. /// 开始考试
  23. /// </summary>
  24. public void StartExam()
  25. {
  26. startTime = System.DateTime.Now;
  27. curse = GlobalConfig.m_SelectDevice;
  28. Debug.LogError(curse);
  29. UserProxy userProxy = DAL.Instance.Get<UserProxy>();
  30. SearchInfoResponse searchInfoResponse = GrpcChannelContronller.Instance.client.StudentInfoSearch(new SearchRequest() {PhoneNumber = userProxy.userInfo.phoneNumber });
  31. Debug.LogError(searchInfoResponse.StudentInfos.Count);
  32. }
  33. /// <summary>
  34. /// 上传考试结果
  35. /// </summary>
  36. public bool UpLoadExamResult(float score)
  37. {
  38. UserProxy userProxy = DAL.Instance.Get<UserProxy>();
  39. OperateResponse operateResponse = GrpcChannelContronller.Instance.client.StudentScoreAdd(new StudentScore()
  40. {
  41. Answertime = (int)TimestampConvert.ConverOldTiemAndNewTiemDuration(startTime, System.DateTime.Now),
  42. CourseName = curse,
  43. Name = userProxy.userInfo.userName,
  44. Score = score,
  45. Starttime = GetCurrentTime(startTime),
  46. PhoneNumber = userProxy.userInfo.phoneNumber
  47. });
  48. return operateResponse.Result;
  49. }
  50. /// <summary>
  51. /// 记录时间
  52. /// </summary>
  53. private long GetCurrentTime(DateTime dateTime)
  54. {
  55. string formatStr = "yyyy年MM月dd日 HH : mm : ss";
  56. string curTimeStr = DateTime.Now.ToString(formatStr);
  57. DateTimeFormatInfo dtFormat = new DateTimeFormatInfo();
  58. dtFormat.ShortDatePattern = formatStr;
  59. DateTime dt = Convert.ToDateTime(curTimeStr, dtFormat);
  60. Debug.Log("当前系统时间 = " + dt);
  61. return TimestampConvert.ConvertDateTimeToLong(dt);
  62. }
  63. }
  64. public class ExamScoreInfo
  65. {
  66. public int id;
  67. public string stepName;
  68. public float score;
  69. }