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.8KB

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