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

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