package com.rthoni.stssaguenay.dataaccess; import com.luticate.utils.business.LuPromise; import com.luticate.utils.dataaccess.LuDataAccess; import com.luticate.utils.dbo.LuDataAccessConfigDbo; import com.luticate.utils.dbo.LuDbo; import com.rthoni.stssaguenay.dbo.UserFavouriteStopsDbo; import com.rthoni.stssaguenay.dbo.RoutesDbo; import com.rthoni.stssaguenay.dbo.SchedulesDbo; import org.joda.time.LocalDateTime; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import java.util.HashMap; import java.util.List; /** * Created by robin on 10/1/16. */ public class SchedulesDataAccess extends LuDataAccess { public static LuPromise> getMultiple(LuDataAccessConfigDbo config, List favouriteStopDbos, LocalDateTime date, int count) { HashMap map = new HashMap<>(); map.put("count", Integer.toString(count)); map.put("date", JSONObject.quote(date.toString(LuDbo.DEFAULT_DATE_TIME_FORMAT))); JSONArray stops = new JSONArray(); for (UserFavouriteStopsDbo dbo : favouriteStopDbos) { for (RoutesDbo routesDbo : dbo.getRoutes()) { JSONObject obj = new JSONObject(); try { obj.put("stopId", dbo.getStop().getId()); obj.put("routeId", routesDbo.getId()); } catch (JSONException e) { e.printStackTrace(); } stops.put(obj); } } map.put("stops", stops.toString()); return post(config, SchedulesDbo.SchedulesDboArray.class, "schedules/multiple", map).map(new LuPromise.LuConverter>() { @Override public List convert(SchedulesDbo.SchedulesDboArray data) { return data.getData(); } }); } }