package com.nilhcem.bblfr.model.locations.dao;
import android.support.annotation.NonNull;
import com.nilhcem.bblfr.model.locations.Audience;
import com.nilhcem.bblfr.model.locations.Interest;
import com.nilhcem.bblfr.model.locations.Location;
import com.nilhcem.bblfr.model.locations.LocationInterest;
import java.util.List;
import javax.inject.Inject;
import javax.inject.Singleton;
import ollie.query.Select;
@Singleton
public class LocationsDao {
@Inject
public LocationsDao() {
}
public boolean hasData() {
return Select.from(Location.class).fetchSingle() != null;
}
public List<Location> getLocations() {
List<Location> locations = Select.from(Location.class).fetch();
for (Location location : locations) {
fillLocationData(location);
}
return locations;
}
private void fillLocationData(@NonNull Location location) {
location.audience = Select.from(Audience.class).where("audiences.location_id=?", location.id).fetchSingle();
location.interests = Select.from(Interest.class).innerJoin(LocationInterest.class).on("interests._id=locations_interests.interest_id").where("locations_interests.location_id=?", location.id).fetch();
}
}