You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

SchedulesDataAccess.java 1.9KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package com.rthoni.stssaguenay.dataaccess;
  2. import com.luticate.utils.business.LuPromise;
  3. import com.luticate.utils.dataaccess.LuDataAccess;
  4. import com.luticate.utils.dbo.LuDataAccessConfigDbo;
  5. import com.luticate.utils.dbo.LuDbo;
  6. import com.rthoni.stssaguenay.dbo.UserFavouriteStopsDbo;
  7. import com.rthoni.stssaguenay.dbo.RoutesDbo;
  8. import com.rthoni.stssaguenay.dbo.SchedulesDbo;
  9. import org.joda.time.LocalDateTime;
  10. import org.json.JSONArray;
  11. import org.json.JSONException;
  12. import org.json.JSONObject;
  13. import java.util.HashMap;
  14. import java.util.List;
  15. /**
  16. * Created by robin on 10/1/16.
  17. */
  18. public class SchedulesDataAccess extends LuDataAccess {
  19. public static LuPromise<List<SchedulesDbo>> getMultiple(LuDataAccessConfigDbo config, List<UserFavouriteStopsDbo> favouriteStopDbos, LocalDateTime date, int count)
  20. {
  21. HashMap<String, String> map = new HashMap<>();
  22. map.put("count", Integer.toString(count));
  23. map.put("date", JSONObject.quote(date.toString(LuDbo.DEFAULT_DATE_TIME_FORMAT)));
  24. JSONArray stops = new JSONArray();
  25. for (UserFavouriteStopsDbo dbo : favouriteStopDbos) {
  26. for (RoutesDbo routesDbo : dbo.getRoutes()) {
  27. JSONObject obj = new JSONObject();
  28. try {
  29. obj.put("stopId", dbo.getStop().getId());
  30. obj.put("routeId", routesDbo.getId());
  31. } catch (JSONException e) {
  32. e.printStackTrace();
  33. }
  34. stops.put(obj);
  35. }
  36. }
  37. map.put("stops", stops.toString());
  38. return post(config, SchedulesDbo.SchedulesDboArray.class, "schedules/multiple", map).map(new LuPromise.LuConverter<SchedulesDbo.SchedulesDboArray, List<SchedulesDbo>>() {
  39. @Override
  40. public List<SchedulesDbo> convert(SchedulesDbo.SchedulesDboArray data) {
  41. return data.getData();
  42. }
  43. });
  44. }
  45. }