package Ġcodes . foobar . wed app . gift Ċ Ċ import Ġcodes . foobar . wed app . helper . Db Helper Ċ import Ġcodes . foobar . wed app . helper . Java Time Helper Ċ import Ġcodes . foobar . wed app . jooq . Sequences Ċ import Ġcodes . foobar . wed app . jooq . tables . Gift . G IFT Ċ import Ġorg . jooq . Record Ċ import Ġorg . jooq . Transactional Runnable Ċ import Ġjava . net . URL Ċ Ċ class ĠG ift Repository ( private Ġval Ġdb Helper : ĠDb Helper ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġselect Parameters Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG IFT . ID , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG IFT . CHECK ABLE , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG IFT . CHECK ED , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG IFT . TITLE , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG IFT . DESCRIPTION , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG IFT . LINK _ URL , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG IFT . LINK _ TEXT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG IFT . LAST _ UPDATED ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġfun ĠfindAll (): ĠList < Gift > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdb Helper . dsl Context () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. select ( select Parameters ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. from ( G IFT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. orderBy ( G IFT . ID ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fetch () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġmap To Gift ( it ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġfind ById ( id : ĠInt ): ĠG ift Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdb Helper . dsl Context () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. select ( select Parameters ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. from ( G IFT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. where ( G IFT . ID . eq ( id )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fetch One () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġmap To Gift ( it ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsave ( gift Registration : ĠG ift Registration ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġd sl Context Ġ= Ġdb Helper . dsl Context () ĊĊĠĠĠĠĠĠĠ Ġd sl Context . transaction ( Transactional Runnable Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġd sl Context . insert Into ( G IFT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG IFT . ID , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG IFT . CHECK ABLE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG IFT . CHECK ED , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG IFT . TITLE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG IFT . DESCRIPTION , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG IFT . LINK _ URL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG IFT . LINK _ TEXT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG IFT . LAST _ UPDATED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). values ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd sl Context . next val ( Sequences . G IFT _ ID _ SEQ ). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgift Registration . check able , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgift Registration . checked , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgift Registration . title , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgift Registration . description , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgift Registration . link ?. url ?. toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgift Registration . link ?. text , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJava Time Helper . now Europe Os lo () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. execute () ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate ( gift Registration : ĠG ift Registration ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġd sl Context Ġ= Ġdb Helper . dsl Context () ĊĊĠĠĠĠĠĠĠ Ġd sl Context . transaction ( Transactional Runnable Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġd sl Context . update ( G IFT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ( G IFT . CHECK ABLE , Ġgift Registration . check able ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ( G IFT . TITLE , Ġgift Registration . title ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ( G IFT . DESCRIPTION , Ġgift Registration . description ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ( G IFT . LINK _ URL , Ġgift Registration . link ?. url . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ( G IFT . LINK _ TEXT , Ġgift Registration . link ?. text ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ( G IFT . LAST _ UPDATED , ĠJava Time Helper . now Europe Os lo ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. where ( G IFT . ID . eq ( gift Registration . id )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. execute () ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate Checked ( id : ĠInt , Ġchecked : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġd sl Context Ġ= Ġdb Helper . dsl Context () ĊĊĠĠĠĠĠĠĠ Ġd sl Context . transaction ( Transactional Runnable Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġd sl Context . update ( G IFT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ( G IFT . CHECK ED , Ġchecked ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ( G IFT . LAST _ UPDATED , ĠJava Time Helper . now Europe Os lo ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. where ( G IFT . ID . eq ( id )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. execute () ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdelete ( id : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġd sl Context Ġ= Ġdb Helper . dsl Context () ĊĊĠĠĠĠĠĠĠ Ġd sl Context . transaction ( Transactional Runnable Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġd sl Context . delete From ( G IFT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. where ( G IFT . ID . eq ( id )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. execute () ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġmap To Gift ( it : ĠRecord ): ĠG ift Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠG ift ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġit [ G IFT . ID ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcheck able Ġ= Ġit [ G IFT . CHECK ABLE ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchecked Ġ= Ġit [ G IFT . CHECK ED ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġit [ G IFT . TITLE ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġit [ G IFT . DESCRIPTION ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlink Ġ= Ġto Link ( it [ G IFT . LINK _ URL ], Ġit [ G IFT . LINK _ TEXT ]), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdated DateTime Ġ= Ġit [ G IFT . LAST _ UPDATED ]. to Z onedDateTime () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġto Link ( url : ĠString ?, Ġlink Text : ĠString ?): ĠLink ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ!= Ġnull Ġ-> ĠLink ( URL ( url ), Ġlink Text . or Empty ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠLink () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ