package Ġcom . ice . kt u ice . models čĊč Ċ import Ġio . realm . Realm List č Ċ import Ġio . realm . Realm Object č Ċ import Ġio . realm . annotations . Realm Class čĊč Ċ @ Realm Class č Ċ open Ġclass ĠGr ade Model ( čĊĠĠĠĠĠĠĠ Ġvar Ġname : ĠString Ġ= Ġ"", čĊĠĠĠĠĠĠĠ Ġvar Ġid : ĠString Ġ= Ġ"", čĊĠĠĠĠĠĠĠ Ġvar Ġse mester : ĠString Ġ= Ġ"", čĊĠĠĠĠĠĠĠ Ġvar Ġmodule _ code : ĠString Ġ= Ġ"", čĊĠĠĠĠĠĠĠ Ġvar Ġmodule _ name : ĠString Ġ= Ġ"", čĊĠĠĠĠĠĠĠ Ġvar Ġse mester _ number : ĠString Ġ= Ġ"", čĊĠĠĠĠĠĠĠ Ġvar Ġcredits : ĠString Ġ= Ġ"", čĊĠĠĠĠĠĠĠ Ġvar Ġlanguage : ĠString Ġ= Ġ"", čĊĠĠĠĠĠĠĠ Ġvar Ġprof essor : ĠString Ġ= Ġ"", čĊĠĠĠĠĠĠĠ Ġvar Ġtype Id : ĠString Ġ= Ġ"", čĊĠĠĠĠĠĠĠ Ġvar Ġtype : ĠString ? Ġ= Ġ"", čĊĠĠĠĠĠĠĠ Ġvar Ġweek : ĠString Ġ= Ġ"", čĊĠĠĠĠĠĠĠ Ġ/** čĊĠĠĠĠĠĠĠĠ Ġ* ĠA Ġlist Ġof Ġmarks : Ġhigher Ġindex Ġstrings Ġare Ġnewer Ġoverridden Ġmarks . čĊĠĠĠĠĠĠĠĠ Ġ*/ čĊĠĠĠĠĠĠĠ Ġmark List : ĠList < String > Ġ= Ġmutable ListOf () č Ċ ): ĠRealm Object () Ġ{ čĊĠĠĠĠĠĠĠ Ġvar Ġmarks : ĠRealm List < String > Ġ= ĠRealm List () čĊĠĠĠĠĠĠĠ Ġinit { čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmarks . addAll ( mark List ) čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġfun ĠisEmpty (): Boolean { čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġempty Ġ= Ġtrue čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmarks . forEach Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif (! it . isBlank ()) Ġempty Ġ= Ġfalse Ġ// Ġand Ġif Ġat Ġleast Ġone Ġmark Ġis Ġnot Ġblank čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġthe Ġmark Ġis Ġnot Ġempty ! čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġempty čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġfun Ġis On Same Date ( grade : ĠGr ade Model ): ĠBoolean Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġweek Ġ== Ġgrade . week čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġfun Ġgr ades Equal ( grade : ĠGr ade Model ): ĠBoolean Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġsame Ġ= Ġtrue čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . marks . forEach Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif (! grade . marks . contains ( it )){ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsame Ġ= Ġfalse čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġsame čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmark Str Ġ= Ġmarks . toArray (). join ToString ( separator Ġ= Ġ", Ġ") čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ"$ module _ name [$ week ]: Ġ$ mark Str " čĊĠĠĠĠĠĠĠ Ġ} č Ċ }