ItemModel.h 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. //
  2. // ItemModel.h
  3. // kneet
  4. //
  5. // Created by Jason Lee on 4/1/15.
  6. // Copyright (c) 2015 ntels. All rights reserved.
  7. //
  8. #import "JDJSONModel.h"
  9. #define ksItemSubTypeCodeDevice @"01"
  10. #define ksItemSubTypeCodeMode @"02"
  11. #define ksItemSubTypeCodeAppPush @"03"
  12. #define ksItemSubTypeCodeTimer @"05"
  13. #define ksItemSubTypeCodeGeoFencing @"06"
  14. #define ksItemTypeCodeTrigger @"01"
  15. #define ksItemTypeCodeAction @"02"
  16. #define ksItemTypeCodeCondition @"03"
  17. #define ksConditionSubTypeCodeDueDate @"21"
  18. #define ksConditionSubTypeCodeDaysOfWeek @"22"
  19. #define ksConditionSubTypeCodeDueTime @"23"
  20. #define ksConditionSubTypeCodeHomeMode @"02"
  21. #define ksConditionSubTypeCodeExternHeat @"31"
  22. @protocol ItemModel;
  23. @protocol ItemSubModel;
  24. @protocol ModeModel;
  25. @protocol DeviceModel;
  26. @interface ItemSubModel : JDJSONModel {//subCondition
  27. @protected
  28. NSString *_cmdclsValueMsg;
  29. }
  30. //@property (copy, nonatomic) NSString *itemSubTypeCode;
  31. @property (copy, nonatomic) NSString *subSequence;
  32. @property (copy, nonatomic) NSString *sourceId;
  33. @property (copy, nonatomic) NSString *sourceSubId;
  34. @property (copy, nonatomic) NSString *conditionTypeCode;
  35. @property (copy, nonatomic) NSString *cmdclsValue;
  36. @property (copy, nonatomic) NSString *cmdclsValueMsg;
  37. @property (copy, nonatomic) NSString *dataTypeCode;
  38. @property (copy, nonatomic) NSString *sourceName;
  39. @property (copy, nonatomic) NSString *sourceSubName;
  40. @property (copy, nonatomic) NSString *actionTypeCode;
  41. @property (copy, nonatomic) NSString *deleteYn;
  42. @property (copy, nonatomic) NSString *hour;
  43. @property (copy, nonatomic) NSString *minute;
  44. @property (copy, nonatomic) NSString *nickname;
  45. @property (copy, nonatomic) NSString *predCmdclsValue;
  46. @property (strong, nonatomic) NSMutableArray<ItemModel> *conditions;
  47. //flash
  48. @property (copy, nonatomic) NSString<Ignore> *dueDate;
  49. @property (copy, nonatomic) NSString<Ignore> *daysOfWeek;
  50. @property (copy, nonatomic) NSString<Ignore> *dueTime;
  51. @property (copy, nonatomic) NSString<Ignore> *homeModes;
  52. @property (copy, nonatomic) NSString<Ignore> *externHeat;
  53. @end
  54. @protocol PredefinedDeviceModel;
  55. @interface ItemModel : JDJSONModel //condition
  56. @property (copy, nonatomic) NSString *predItemSequence;
  57. @property (copy, nonatomic) NSString *itemTypeCode;
  58. @property (copy, nonatomic) NSString *itemSubTypeCode;
  59. @property (copy, nonatomic) NSString *itemName;
  60. @property (copy, nonatomic) NSString *predRuleId;
  61. @property (copy, nonatomic) NSString *predSceneId;
  62. @property (copy, nonatomic) NSString *predActionSequence;
  63. @property (copy, nonatomic) NSString *cnt;
  64. @property (copy, nonatomic) NSString *totalCnt;
  65. @property (copy, nonatomic) NSString *imageFileName;
  66. @property (strong, nonatomic) NSMutableArray<ItemSubModel> *subItems;
  67. //for register
  68. @property (strong, nonatomic) NSMutableArray<PredefinedDeviceModel> *predDevices;
  69. @property (strong, nonatomic) NSMutableArray<ModeModel> *modes;
  70. @property (strong, nonatomic) NSMutableArray<ItemSubModel> *pushes;
  71. @property (strong, nonatomic) NSMutableArray<ItemSubModel> *timers;
  72. @property (strong, nonatomic) NSMutableArray<DeviceModel> *mobileDevices;
  73. //fuction
  74. @property (assign, nonatomic, readonly) NSInteger sumPredDeviceCount;
  75. @property (assign, nonatomic, readonly) NSInteger sumModesCount;
  76. @property (assign, nonatomic, readonly) NSInteger sumPushesCount;
  77. + (NSString *)itemSubTypeString:(NSString *)itemSubTypeCode;
  78. @end
  79. @interface ItemListModel : JDJSONModel
  80. @property (copy, nonatomic) NSMutableArray<ItemModel> *list;
  81. @end