OperatorProvider.cs 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. using CZFW.Core;
  2. using CZFW.Core.Json;
  3. using CZFW.Framework.Model.Common;
  4. using System;
  5. namespace CZFW.Framework.Model
  6. {
  7. public class OperatorProvider
  8. {
  9. public static OperatorProvider Provider => new OperatorProvider();
  10. private const string LoginUserKey = "CZFW_loginuserkey_2017";
  11. private readonly string _loginProvider = ConfigHelper.Configs["Framework:LoginProvider"];
  12. public OperatorModel GetCurrent()
  13. {
  14. OperatorModel operatorModel;
  15. if (_loginProvider == "Session")
  16. {
  17. if (string.IsNullOrEmpty(WebHelper.GetSession(LoginUserKey)))
  18. {
  19. return null;
  20. }
  21. operatorModel = WebHelper.GetSession(LoginUserKey).ToObject<OperatorModel>();
  22. }
  23. else
  24. {
  25. if (string.IsNullOrEmpty(WebHelper.GetCookie(LoginUserKey)))
  26. {
  27. return null;
  28. }
  29. operatorModel = WebHelper.GetCookie(LoginUserKey).ToObject<OperatorModel>();
  30. }
  31. return operatorModel ?? (new OperatorModel());
  32. }
  33. public void AddCurrent(OperatorModel operatorModel, int expireMinutes = 60)
  34. {
  35. if (_loginProvider == "Session")
  36. {
  37. WebHelper.WriteSession(LoginUserKey, operatorModel.ToJson());
  38. }
  39. else
  40. {
  41. WebHelper.WriteCookie(LoginUserKey, operatorModel.ToJson(), expireMinutes);
  42. }
  43. }
  44. public void RemoveCurrent()
  45. {
  46. if (_loginProvider == "Session")
  47. {
  48. WebHelper.RemoveSession(LoginUserKey.Trim());
  49. }
  50. else
  51. {
  52. WebHelper.RemoveCookie(LoginUserKey.Trim());
  53. }
  54. }
  55. public int CurrentId
  56. {
  57. get
  58. {
  59. if(CZHttpContext.Current==null) return ConfigHelper.GetValue<int>("Framework:DefaultUserId");
  60. var user = GetCurrent();
  61. if (user != null) return user.UserId;
  62. return ConfigHelper.GetValue<int>("Framework:DefaultUserId");
  63. }
  64. }
  65. public static IServiceProvider serviceProvider;
  66. #region 物流管理系统登录用户
  67. private const string LoginUserInfoKey = "WLGL_LoginUserKey";
  68. public UserModel GetUser()
  69. {
  70. UserModel userModel;
  71. if (!string.IsNullOrEmpty(WebHelper.GetSession(LoginUserKey)))
  72. {
  73. userModel = WebHelper.GetSession(LoginUserKey).ToObject<UserModel>();
  74. }
  75. else
  76. {
  77. if (string.IsNullOrEmpty(WebHelper.GetCookie(LoginUserKey)))
  78. {
  79. return null;
  80. }
  81. userModel = WebHelper.GetCookie(LoginUserKey).ToObject<UserModel>();
  82. }
  83. return userModel ?? (new UserModel());
  84. }
  85. public void AddUser(UserModel userModel, int expireMinutes = 60 * 24 * 5)
  86. {
  87. WebHelper.WriteSession(LoginUserKey, userModel.ToJson());
  88. WebHelper.WriteCookie(LoginUserKey, userModel.ToJson(), expireMinutes);
  89. }
  90. public void RemoveUser()
  91. {
  92. WebHelper.RemoveSession(LoginUserKey.Trim());
  93. WebHelper.RemoveCookie(LoginUserKey.Trim());
  94. }
  95. #endregion
  96. }
  97. }