package Ġfinancial . accounting . book keep ing . driven . repository Ċ Ċ import Ġfinancial . accounting . book keep ing . core . model . Transaction Ċ import Ġfinancial . accounting . book keep ing . driven . repository . Queries . INSERT Ċ import Ġfinancial . shared . databases . Relational Database Ċ import Ġfinancial . shared . mapper . Json Mapper Ċ import Ġfinancial . accounting . book keep ing . core . model . Transaction Repository Ġas ĠI Transaction Repository Ċ Ċ class ĠTransaction Repository ( ĊĠĠĠ Ġprivate Ġval Ġdatabase : ĠRel ational Database , ĊĠĠĠ Ġprivate Ġval Ġjson Mapper : ĠJson Mapper Ċ ) Ġ: ĠI Transaction Repository Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġpush ( transaction : ĠTransaction ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtransaction . event S ourcing . re corded Events ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. bind (" code ", Ġit . code ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. bind (" payload ", Ġjson Mapper . toJson ( it . event )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. bind (" revision ", Ġit . revision ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. bind (" sequence ", Ġit . sequence . value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. bind (" event _ name ", Ġit . eventName ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. bind (" occ urred _ on ", Ġit . occ urred On ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. bind (" aggregate _ id ", Ġit . aggregate Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. bind (" aggregate _ type ", Ġit . aggregate Type ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. upsert ( INSERT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }