Guest User

Untitled

a guest
Jan 24th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.37 KB | None | 0 0
  1. package com.destroytoday.twitterdiff.command.snapshot.follower
  2. {
  3. import com.destroytoday.twitterdiff.core.IDatabaseService;
  4. import com.destroytoday.twitterdiff.model.FollowerSnapshotModel;
  5. import com.destroytoday.twitterdiff.model.vo.User;
  6. import com.destroytoday.util.VectorUtil;
  7. import com.destroytoday.vo.Timespan;
  8.  
  9. import flash.data.SQLResult;
  10. import flash.errors.SQLError;
  11.  
  12. import org.robotlegs.mvcs.AsyncSignalCommand;
  13.  
  14. public class GetNewFollowerListCommand extends AsyncSignalCommand
  15. {
  16. //--------------------------------------------------------------------------
  17. //
  18. // Injections
  19. //
  20. //--------------------------------------------------------------------------
  21.  
  22. [Inject]
  23. public var databaseService:IDatabaseService;
  24.  
  25. [Inject]
  26. public var model:FollowerSnapshotModel;
  27.  
  28. [Inject]
  29. public var timespan:Timespan;
  30.  
  31. //--------------------------------------------------------------------------
  32. //
  33. // Constructor
  34. //
  35. //--------------------------------------------------------------------------
  36.  
  37. public function GetNewFollowerListCommand()
  38. {
  39. }
  40.  
  41. //--------------------------------------------------------------------------
  42. //
  43. // Methods
  44. //
  45. //--------------------------------------------------------------------------
  46.  
  47. override public function execute():void
  48. {
  49. const selectNewFollowerListQuery:String =
  50. "SELECT u.* FROM followerSnapshots fs LEFT JOIN users u ON fs.id=u.id " +
  51. "WHERE fs.createdTimestamp >= :timespanStartDate AND fs.createdTimestamp <= :timestampEndDate " +
  52. "AND fs.createdTimestamp > (SELECT createdTimestamp FROM followerSnapshots ORDER BY createdTimestamp ASC LIMIT 1)";
  53.  
  54. databaseService.execute(selectNewFollowerListQuery,
  55. {timespanStartDate: timespan.startDate.time, timestampEndDate: timespan.endDate.time},
  56. resultHandler, User, errorHandler);
  57. }
  58.  
  59. //--------------------------------------------------------------------------
  60. //
  61. // Handlers
  62. //
  63. //--------------------------------------------------------------------------
  64.  
  65. protected function resultHandler(result:SQLResult):void
  66. {
  67. var newFollowerList:Vector.<User> = new Vector.<User>();
  68.  
  69. VectorUtil.pushArray(newFollowerList, result.data);
  70.  
  71. model.newFollowerList = newFollowerList;
  72.  
  73. completed.dispatch();
  74. }
  75.  
  76. protected function errorHandler(error:SQLError):void
  77. {
  78. failed.dispatch(error.message);
  79. }
  80. }
  81. }
Add Comment
Please, Sign In to add comment