SessionBuilder.cs 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. using System.Collections.Generic;
  2. namespace DRG.DRGInterfaceClient
  3. {
  4. /// <summary>根据机构信息 + 默认值构建业务 session。</summary>
  5. internal static class SessionBuilder
  6. {
  7. /// <summary>完整 session:机构字段来自 hospital,其余来自默认值。</summary>
  8. public static Dictionary<string, object> Build(HospitalInfoItem hosp, SessionDefaults d)
  9. {
  10. hosp = hosp ?? new HospitalInfoItem();
  11. d = d ?? new SessionDefaults();
  12. return new Dictionary<string, object>
  13. {
  14. { "userID", d.userID ?? "" },
  15. { "userCode", d.userCode ?? "" },
  16. { "userName", d.userName ?? "" },
  17. { "locID", d.locID ?? "" },
  18. { "locDesc", d.locDesc ?? "" },
  19. { "groupID", d.groupID ?? "" },
  20. { "groupDesc", d.groupDesc ?? "" },
  21. { "hospID", hosp.id ?? "" },
  22. { "hospCode", hosp.hospCode ?? "" },
  23. { "hospDesc", hosp.descripts ?? "" },
  24. { "langID", d.langID },
  25. { "langDesc", d.langDesc ?? "" },
  26. { "changeFlag", d.changeFlag ?? "N" },
  27. { "changeDesc", d.changeDesc ?? "" },
  28. { "lastLoginDate", d.lastLoginDate ?? "" },
  29. { "lastLoginTime", d.lastLoginTime ?? "" },
  30. { "directorAuth", d.directorAuth ?? "N" },
  31. { "defaultMenuType", d.defaultMenuType ?? "" },
  32. { "titleDesc", d.titleDesc ?? "" },
  33. { "userYBCode", d.userYBCode ?? "" },
  34. { "hospYBCode", hosp.code ?? "" },
  35. { "provID", d.provID ?? "" },
  36. { "cityID", d.cityID ?? "" },
  37. { "areaCode", d.areaCode ?? "" },
  38. { "medinsLv", hosp.MedinsLv ?? "" },
  39. { "path", d.path ?? "" },
  40. { "sessionID", d.sessionID ?? "" },
  41. { "errorMessageTime", d.errorMessageTime ?? "" },
  42. { "language", d.language ?? "CN" },
  43. { "messageTime", d.messageTime }
  44. };
  45. }
  46. /// <summary>默认 session(机构字段为空),用于首次加载机构列表 01010064。</summary>
  47. public static Dictionary<string, object> BuildDefault(SessionDefaults d)
  48. {
  49. return Build(new HospitalInfoItem(), d);
  50. }
  51. }
  52. }