DeciceStateHelper.cs 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. using DBHelper;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using WCS.Entity.Protocol;
  6. namespace WCS.Service.Helpers
  7. {
  8. /// <summary>
  9. /// 状态管理中心
  10. /// </summary>
  11. public class DeciceStateHelper
  12. {
  13. /// <summary>
  14. /// 状态记录
  15. /// </summary>
  16. public static Dictionary<string, string> StateLog = new Dictionary<string, string>();
  17. /// <summary>
  18. /// 状态检查
  19. /// </summary>
  20. public static void StatusCheck(string devCode, string state)
  21. {
  22. if (StateLog.Any(v => v.Key == devCode))
  23. {
  24. if (StateLog.Any(v => v.Key == devCode && v.Value != state))
  25. {
  26. DB.Do(db =>
  27. {
  28. WCS_DEVICESTATELOG dev = new WCS_DEVICESTATELOG()
  29. {
  30. DEVICECODE = devCode,
  31. STATE = state,
  32. UPDATETIME = DateTime.Now
  33. };
  34. db.Default.Add(dev);
  35. db.Default.SaveChanges();
  36. });
  37. StateLog[devCode] = state;
  38. }
  39. }
  40. else //初始化
  41. {
  42. StateLog.Add(devCode, state);
  43. DB.Do(db =>
  44. {
  45. WCS_DEVICESTATELOG dev = new WCS_DEVICESTATELOG()
  46. {
  47. DEVICECODE = devCode,
  48. STATE = state,
  49. UPDATETIME = DateTime.Now
  50. };
  51. db.Default.Add(dev);
  52. db.Default.SaveChanges();
  53. });
  54. }
  55. }
  56. }
  57. }