add support for mib loans view
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
package sh.sar.basedbank.util
|
||||
|
||||
import android.content.Context
|
||||
import org.json.JSONArray
|
||||
import org.json.JSONObject
|
||||
import sh.sar.basedbank.api.mib.MibFinanceDeal
|
||||
|
||||
object FinancingCache {
|
||||
|
||||
private const val PREFS = "financing_cache"
|
||||
private const val KEY_MIB = "mib_financing"
|
||||
|
||||
fun save(context: Context, deals: List<MibFinanceDeal>) {
|
||||
val arr = JSONArray()
|
||||
for (d in deals) {
|
||||
arr.put(JSONObject().apply {
|
||||
put("dealNo", d.dealNo)
|
||||
put("productDesc", d.productDesc)
|
||||
put("dealStatus", d.dealStatus)
|
||||
put("statusDesc", d.statusDesc)
|
||||
put("dealAmount", d.dealAmount)
|
||||
put("paidAmount", d.paidAmount)
|
||||
put("outstandingAmount", d.outstandingAmount)
|
||||
put("dealDate", d.dealDate)
|
||||
put("overdueAmount", d.overdueAmount)
|
||||
put("installmentAmount", d.installmentAmount)
|
||||
put("noOfInstallments", d.noOfInstallments)
|
||||
put("lastPaidDate", d.lastPaidDate)
|
||||
put("lastPayAmount", d.lastPayAmount)
|
||||
put("currency", d.currency)
|
||||
})
|
||||
}
|
||||
context.getSharedPreferences(PREFS, Context.MODE_PRIVATE)
|
||||
.edit().putString(KEY_MIB, arr.toString()).apply()
|
||||
}
|
||||
|
||||
fun load(context: Context): List<MibFinanceDeal> {
|
||||
val json = context.getSharedPreferences(PREFS, Context.MODE_PRIVATE)
|
||||
.getString(KEY_MIB, null) ?: return emptyList()
|
||||
return try {
|
||||
val arr = JSONArray(json)
|
||||
(0 until arr.length()).map { i ->
|
||||
val o = arr.getJSONObject(i)
|
||||
MibFinanceDeal(
|
||||
dealNo = o.optString("dealNo"),
|
||||
productDesc = o.optString("productDesc"),
|
||||
dealStatus = o.optString("dealStatus"),
|
||||
statusDesc = o.optString("statusDesc"),
|
||||
dealAmount = o.optDouble("dealAmount", 0.0),
|
||||
paidAmount = o.optDouble("paidAmount", 0.0),
|
||||
outstandingAmount = o.optDouble("outstandingAmount", 0.0),
|
||||
dealDate = o.optString("dealDate"),
|
||||
overdueAmount = o.optDouble("overdueAmount", 0.0),
|
||||
installmentAmount = o.optDouble("installmentAmount", 0.0),
|
||||
noOfInstallments = o.optInt("noOfInstallments", 0),
|
||||
lastPaidDate = o.optString("lastPaidDate"),
|
||||
lastPayAmount = o.optDouble("lastPayAmount", 0.0),
|
||||
currency = o.optString("currency", "MVR")
|
||||
)
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
emptyList()
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user