电子药箱通讯服务端
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

RequestMulOperationUsageProtocol.cs 2.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace Rdh.SocketServer.Client.Models
  7. {
  8. /// <summary>
  9. /// 表示上传多个手术用药信息的类
  10. /// </summary>
  11. public class RequestMulOperationUsageProtocol : EleMedKitProtocol
  12. {
  13. public RequestMulOperationUsageProtocol()
  14. {
  15. this.Command = EleMedKitCommand.RequestPatientOperationUsage;
  16. this.MinLines = base.MinLines + 5;
  17. }
  18. public UserInfoProtocol? UserInfo { get; set; }
  19. public string? RoomCode { get; set; }
  20. public PatientOperationProtocol? OperationInfo { get; set; }
  21. public List<DrugUsageProtocol>? ListDrugs { get; set; }
  22. public string LineEnd { get => EleMedKitProtocolFlags.LineSpiltor; }
  23. public override string GetContent()
  24. {
  25. return base.GetContent()
  26. + UserInfo?.ToString()
  27. + AddLineContent(RoomCode)
  28. + OperationInfo?.ToString()
  29. + AddList<DrugUsageProtocol>(ListDrugs)
  30. + AddLineContent(LineEnd)
  31. + AddLineContent(CountFlag);
  32. }
  33. public override bool ParseContent(string[] lines)
  34. {
  35. if (!base.ParseContent(lines)
  36. || lines.Length < MinLines)
  37. {
  38. return false;
  39. }
  40. if (!lines[lines.Length - 2].Contains(LineEnd))
  41. {
  42. return false;
  43. }
  44. UserInfo = new UserInfoProtocol();
  45. if (!UserInfo.ParseContent(lines[2]))
  46. {
  47. return false;
  48. }
  49. RoomCode = EleMedKitProtocolHelper.GetLineContent(lines[2]);
  50. OperationInfo = new PatientOperationProtocol();
  51. if (!OperationInfo.ParseContent(lines[4]))
  52. {
  53. return false;
  54. }
  55. ListDrugs = new List<DrugUsageProtocol>();
  56. for (int i = 5; i < lines.Length - 2; i++)
  57. {
  58. DrugUsageProtocol drugInfo = new DrugUsageProtocol();
  59. if (drugInfo.ParseContent(lines[i]))
  60. {
  61. ListDrugs.Add(drugInfo);
  62. }
  63. else
  64. {
  65. return false;
  66. }
  67. }
  68. return base.ParseContent(lines);
  69. }
  70. }
  71. }