timeTableAllInfo method
Future<void>
timeTableAllInfo(
)
Implementation
Future<void> timeTableAllInfo() async {
// 같은 Position 정보들을 가진 놈들을 TimeList 로 묶고,
// 그 TimeList 를 list 로 정리한다.
//1.모든 위치정보 가져와 TimeZone 들로 만들기.
List<dynamic> temp = await repository.timeTableAllInfo();
List<Map<String, dynamic>> l = [];
for (dynamic j in temp) {
l.add(convertUtf8ToObject(j));
}
List<TimeZone> innerTimes = [];
for (Map<String, dynamic> json in l) {
innerTimes.add(TimeZone.fromJson(json));
}
//2. 모든 가능한 장소 불러오기
PlaceDatabase placeDB = Get.find<PlaceDatabase>();
List<DoomFacility> avail = placeDB.doomFacils!;
//3. 모든 가능한 장소에 대해 PositionList 만들기
List<TimeList> list = [];
for (DoomFacility p in avail) {
list.add(TimeList(list: [], place: p));
}
//4. position 들 각 장소에 해당하는 positionlist 의 list 에 귀속시키기
for (TimeZone t in innerTimes) {
for (int i = 0; i < list.length; i++) {
if (list[i].place.name == placeDB.getDoomFacilName(t.facilityId)) {
list[i].list.add(t);
break;
}
}
}
//5. 아무도 없는 곳 떨구기?
times.value = list;
}