/database/ENSyncObject.m

http://github.com/enloyee/ENSQLite · Objective C · 75 lines · 53 code · 15 blank · 7 comment · 2 complexity · 15885759b29fd5f2b33dc3b41567b370 MD5 · raw file

  1. //
  2. // ENSyncObject.m
  3. // Jacob's Menu
  4. //
  5. // Created by enloyee on 11-11-14.
  6. // Copyright (c) 2011年 enloyee. All rights reserved.
  7. //
  8. #import "ENSyncObject.h"
  9. #define kENCreateDateKey @"create_date"
  10. #define kENUpdateDateKey @"update_date"
  11. @interface ENSyncObject()
  12. @property (retain, nonatomic) NSDate *createDate;
  13. @property (retain, nonatomic) NSDate *updateDate;
  14. @end
  15. @implementation ENSyncObject
  16. - (id)init
  17. {
  18. if (self = [super init])
  19. {
  20. self.createDate = nil;
  21. self.updateDate = nil;
  22. }
  23. return self;
  24. }
  25. - (NSDate *)createDate
  26. {
  27. double value = [self doubleForKey:kENCreateDateKey];
  28. return [NSDate dateWithTimeIntervalSince1970:value];
  29. }
  30. - (void)setCreateDate:(NSDate *)createDate
  31. {
  32. [self setDouble:[createDate timeIntervalSince1970] forKey:kENCreateDateKey];
  33. }
  34. - (NSDate *)updateDate
  35. {
  36. double value = [self doubleForKey:kENUpdateDateKey];
  37. return [NSDate dateWithTimeIntervalSince1970:value];
  38. }
  39. - (void)setUpdateDate:(NSDate *)updateDate
  40. {
  41. [self setDouble:[updateDate timeIntervalSince1970] forKey:kENUpdateDateKey];
  42. }
  43. - (BOOL)store
  44. {
  45. return [self storeUseTransactions:YES];
  46. }
  47. - (BOOL)storeUseTransactions:(BOOL)useTransactions
  48. {
  49. BOOL update = [self isSaved];
  50. NSDate *date = [NSDate date];
  51. if (update)
  52. self.updateDate = date;
  53. else
  54. {
  55. self.createDate = date;
  56. self.updateDate = date;
  57. }
  58. return [super storeUseTransactions:useTransactions];
  59. }
  60. @end