package Ġcom . k ato h . camp us schedule . models . dao Ċ Ċ import Ġcom . k ato h . camp us schedule . models . entity . Course Realm Object Ċ import Ġcom . k ato h . camp us schedule . models . entity . Term Realm Object Ċ import Ġio . realm . Realm Ċ import Ġio . realm . Realm Results Ċ import Ġio . realm . Sort Ċ import Ġio . realm . kotlin . createObject Ċ import Ġio . realm . kotlin . where Ċ Ċ class ĠTerm Dao ( val Ġrealm : ĠRealm ) Ġ{ ĊĠĠĠ Ġ// ĠAbout Ġall Ġterms ĊĠĠĠ Ġval Ġall Terms : ĠRealm Results < Term Realm Object > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġrealm . where < Term Realm Object >(). findAll Async () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. sort (" id ", ĠSort . DESC ENDING ) ĊĊĠĠĠ Ġ// ĠAbout Ġsearch ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠFind Ġa Ġterm Ġobject Ġequal Ġto Ġthe Ġselected Ġid ĊĠĠĠĠ Ġ* Ġ@ param Ġselected Id ĠThe Ġid Ġof Ġthe Ġselected Ġterm Ġobject ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġfind Term ById ( selected Id : ĠLong ) Ġ: ĠTerm Realm Object Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrealm . where < Term Realm Object >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. equalTo (" id ", Ġselected Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. findFirst () Ġ?: Ġthrow ĠException (" selected Id Ġis Ġinvalid ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġrealm Ġresults Ġof Ġthe Ġcourses Ġof Ġthe Ġselected Ġterm ĊĠĠĠĠ Ġ* Ġexcept Ġthe Ġname Ġis Ġempty ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Course Results ( selected Id : ĠLong ): ĠRealm Results < Course Realm Object > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfind Term ById ( selected Id ). courses ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. where (). isNotEmpty (" course Name "). findAll () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. sort (" order "). sort (" day ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠAbout ĠTransaction ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠAdd Ġa Ġterm Ġinfo Ġto Ġrealm Ġdatabase ĊĠĠĠĠ Ġ* Ġ@ param Ġterm Ġthe Ġterm Ġinfo , Ġusually Ġfrom Ġedit Ġtext Ġforms ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġcreate Transaction ( term : ĠTerm Realm Object ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrealm . execute Transaction Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrealm . createObject < Term Realm Object >( max Id Ġ+ Ġ 1 L ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġterm Label Ġ= Ġterm . term Label ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Year Ġ= Ġterm . start Year ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Month Ġ= Ġterm . start Month ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġend Year Ġ= Ġterm . end Year ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġend Month Ġ= Ġterm . end Month ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcourses . addAll ( init Courses ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcourses . sort (" order "). sort (" day ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠInitialized Ġcourse Ġlist Ġto Ġcreate Ġterm Ġobject ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġval Ġinit Courses : ĠMutable List < Course Realm Object > ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcourses Ġ= Ġmutable ListOf < Course Realm Object >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( d Ġin Ġ 0 .. 5 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. 7 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcourse Ġ= ĠCourse Realm Object (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġday Ġ= Ġd ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġorder Ġ= Ġi ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcourses . add ( course ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcourses ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRen ew Ġthe Ġterm Ġinfo ĊĠĠĠĠ Ġ* Ġ@ param Ġselected Id ĠThe Ġid Ġof Ġthe Ġselected Ġterm Ġobject ĊĠĠĠĠ Ġ* Ġ@ param Ġterm ĠThe Ġrenew al Ġterm Ġobject ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Transaction ( selected Id : ĠLong , Ġterm : ĠTerm Realm Object ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrealm . execute Transaction Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfind Term ById ( selected Id ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġterm Label Ġ= Ġterm . term Label ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Year Ġ= Ġterm . start Year ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Month Ġ= Ġterm . start Month ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġend Year Ġ= Ġterm . end Year ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġend Month Ġ= Ġterm . end Month ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠDelete Ġa Ġterm Ġfrom Ġrealm Ġdatabase ĊĠĠĠĠ Ġ* Ġ@ param Ġselected Id Ġthe Ġid Ġof Ġthe Ġselected Ġterm Ġobject ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdelete Transaction ( selected Id : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrealm . execute Transaction Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrealm . where < Term Realm Object >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. equalTo (" id ", Ġselected Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. findFirst () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . delete From Realm () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġmaximum Ġof ĠID Ġat Ġthe Ġtime ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġmax Id : ĠLong ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġrealm . where < Term Realm Object >(). max (" id ") ?. to Long () Ġ?: Ġ 0 L Ċ Ċ } Ċ