public static List<BCBill> handlePayQueryByConditionResult(string respString, bool? needDetail)
{
JsonData responseData = JsonMapper.ToObject(respString);
List<BCBill> bills = new List<BCBill>();
if (responseData["result_code"].ToString() == "0")
{
if (responseData["bills"].IsArray)
{
foreach (JsonData billData in responseData["bills"])
{
BCBill bill = new BCBill();
bill.id = billData["id"].ToString();
bill.title = billData["title"].ToString();
bill.totalFee = int.Parse(billData["total_fee"].ToString());
bill.createdTime = BCUtil.GetDateTime((long)billData["create_time"]);
bill.billNo = billData["bill_no"].ToString();
bill.result = (bool)billData["spay_result"];
bill.channel = billData["sub_channel"].ToString();
bill.tradeNo = billData["trade_no"].ToString();
bill.optional = JsonMapper.ToObject<Dictionary<string, string>>(billData["optional"].ToString());
if (needDetail == true)
{
bill.messageDetail = billData["message_detail"].ToString();
}
bill.revertResult = (bool)billData["revert_result"];
bill.refundResult = (bool)billData["refund_result"];
bills.Add(bill);
}
}
}
else
{
var ex = new BCException(responseData["err_detail"].ToString());
throw ex;
}
return bills;
}