package Ġio . github . k un af ah house . take away . DB Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . Context Ċ import Ġandroid . database . Cursor Ċ import Ġandroid . database . sqlite . SQLite Database Ċ import Ġandroid . database . sqlite . SQLite QueryBuilder Ċ Ċ import Ġcom . read yst ates o ftware . sqlite asset . SQLite Asset Helper Ċ import Ġio . github . k un af ah house . take away . Model . Order Ċ Ċ class ĠDatabase ( context : ĠContext ) Ġ: ĠSQLite Asset Helper ( context , ĠDB _ NAME , Ġnull , ĠDB _ VERSION ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠDB _ NAME Ġ= Ġ" take away DB . db " ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠDB _ VERSION Ġ= Ġ 1 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" Range ") ĊĠĠĠ Ġfun Ġget Cart s (): ĠList < Order > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdb : ĠSQLite Database Ġ= Ġreadable Database ĊĠĠĠĠĠĠĠ Ġval Ġq Ġ= ĠSQLite QueryBuilder () ĊĠĠĠĠĠĠĠ Ġval Ġselect _ column Ġ= ĠarrayOf < String >( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ProductId ", Ġ" ProductName ", Ġ" Quantity ", Ġ" Price ", Ġ" Discount ") ĊĠĠĠĠĠĠĠ Ġval Ġtable Ġ= Ġ" Order Detail " ĊĠĠĠĠĠĠĠ Ġq . tables Ġ= Ġtable ĊĠĠĠĠĠĠĠ Ġval Ġcursor : ĠCursor Ġ= Ġq . query ( db , Ġselect _ column , Ġnull , Ġnull , Ġnull , Ġnull , Ġnull ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠArrayList < Order >() ĊĊĠĠĠĠĠĠĠ Ġif Ġ( cursor . moveTo First ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdo Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . add ( Order ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . getString ( cursor . getColumnIndex (" ProductId ")), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . getString ( cursor . getColumnIndex (" ProductName ")), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . getString ( cursor . getColumnIndex (" Quantity ")), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . getString ( cursor . getColumnIndex (" Price ")), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . getString ( cursor . getColumnIndex (" Discount ")) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġwhile Ġ( cursor . moveTo Next ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠaddTo Cart ( order : ĠOrder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdb : ĠSQLite Database Ġ= Ġwritable Database ĊĠĠĠĠĠĠĠ Ġval Ġquery Ġ= ĠString . format ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" INSERT ĠINTO ĠOrder Detail ( ProductId , ĠProduct Name , Quantity , Price , Discount ) VALUES ('% S ',' % S ',' % S ',' % S ',' % S '); ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġorder . extra , Ġorder . product Name , Ġorder . quantity , Ġorder . price , Ġorder . size ) ĊĊĠĠĠĠĠĠĠ Ġdb . exec SQL ( query ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclean Cart () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdb : ĠSQLite Database Ġ= Ġwritable Database ĊĠĠĠĠĠĠĠ Ġval Ġquery Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" DELETE ĠFROM ĠOrder Detail " ĊĊĠĠĠĠĠĠĠ Ġdb . exec SQL ( query ) ĊĊĠĠĠ Ġ} Ċ Ċ } Ċ