package Ġcom . money budget . repository Ċ Ċ import Ġcom . money budget . database . Movement Ċ import Ġcom . money budget . database . Movement Minimal Ċ import Ġcom . money budget . database . Mov ements Database Dao Ċ Ċ class ĠMov ements Repository DataSource ( private Ġval Ġmov ements Database Dao : ĠMov ements Database Dao ) ĊĠĠĠ Ġ: ĠRepository DataSource < Movement >( mov ements Database Dao ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun ĠgetAll Minimal () Ġ= Ġmov ements Database Dao . get ListOf Mov ements () ĊĊĠĠĠ Ġoverride Ġfun Ġget From Minimal ( element Ġ: ĠAny ) Ġ: ĠMovement Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif ( element Ġis ĠMovement Minimal ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMovement ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 L , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelement . amount ?: 0 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelement . source AccountId , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelement . destination AccountId , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelement . movement Id ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . get From Minimal ( element ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }