getUserOrderPets method
Implementation
Future<List<Map<String, dynamic>>> getUserOrderPets() async {
http.Response response;
List<Map<String, dynamic>> orderPetInfoList = [];
List<PetModel> orderedPets = [];
List<OrderSummaryModel> orderSummaries = [];
List<OrderPetMapModel> orderPetMapList = [];
int i = 0;
SharedPreferencesService sharedPreferencesService = await SharedPreferencesService.getInstance();
try {
var currentUserId = await sharedPreferencesService.getUserId();
var token = await sharedPreferencesService.getToken();
response = await getHttp("/user/$currentUserId/order", token);
if (response.statusCode == 200) {
final listResponse = json.decode(response.body);
for (var key in listResponse.keys) {
var petInfo = listResponse[key]["PetInfo"];
var orderPetMapDetails = listResponse[key]["OrderPetMapDetails"];
var orderSummary = listResponse[key]["OrderSummary"];
orderedPets.add(PetModel.getData(petInfo));
orderPetMapList.add(OrderPetMapModel.getData(orderPetMapDetails));
orderSummaries.add(OrderSummaryModel.getData(orderSummary));
// Instead of adding to a map, add a new map to the list
orderPetInfoList.add({
"index": i,
"PetInfo": orderedPets[i],
"OrderPetMapDetails": orderPetMapList[i],
"OrderSummary": orderSummaries[i],
});
i++;
}
}
} catch (e) {
return orderPetInfoList; // Return the list even in case of error
}
return orderPetInfoList;
}