package Ġcom . gmail . pz ale j ko . invoice . core . infrastructure Ċ Ċ import Ġcom . gmail . pz ale j ko . invoice . core . model . subject . Bank Account Number Ċ import Ġcom . gmail . pz ale j ko . invoice . core . model . subject . Invoice S eller Ċ import Ġcom . gmail . pz ale j ko . invoice . core . model . subject . Subject Address Ċ import Ġcom . gmail . pz ale j ko . invoice . core . model . subject . Subject Pol and Tax Id Ċ import Ġsoftware . amazon . aw ssdk . services . dynamodb . model . AttributeValue Ċ import Ġjava . util . HashMap Ċ import Ġjavax . enterprise . context . Application Scoped Ċ Ċ @ Application Scoped Ċ class ĠD ynamoDB S eller Factory Ġ{ ĊĊĠĠĠ Ġfun Ġfrom ( map : ĠMap < String , ĠAttribute Value >): ĠInvoice S eller Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠInvoice S eller ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap [" accountId "] !!. n (). to Long (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap [" name "] !!. s (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSubject Address ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap [" street "] !!. s (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap [" street Number "] !!. s (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap [" city "] !!. s () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSubject Pol and Tax Id ( map [" tax Id "] !!. s ()), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBank Account Number ( map [" bank Account Number "] !!. s ()) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġto ( seller : ĠInvoice S eller ): ĠMap < String , ĠAttribute Value > Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠaccountId Ġ= Ġsell er . accountId ĊĠĠĠĠĠĠĠ Ġval Ġname Ġ= Ġsell er . name ĊĠĠĠĠĠĠĠ Ġval Ġstreet Ġ Ġ= Ġsell er . address . street ĊĠĠĠĠĠĠĠ Ġval Ġstreet Num Ġ= Ġsell er . address . number ĊĠĠĠĠĠĠĠ Ġval Ġcity Ġ= Ġsell er . address . city ĊĠĠĠĠĠĠĠ Ġval Ġbank Account Ġ= Ġsell er . bank Account . number ĊĠĠĠĠĠĠĠ Ġval Ġtax Id Ġ= Ġsell er . tax Id . get Tax Id () ĊĊĠĠĠĠĠĠĠ Ġval Ġmap : ĠMutable Map < String , ĠAttribute Value > Ġ= ĠHashMap () ĊĠĠĠĠĠĠĠ Ġmap [" accountId "] Ġ= Ġto Num Attr ( accountId ) ĊĠĠĠĠĠĠĠ Ġmap [" name "] Ġ= ĠtoString Attr ( name ) ĊĠĠĠĠĠĠĠ Ġmap [" street "] Ġ= ĠtoString Attr ( street ) ĊĠĠĠĠĠĠĠ Ġmap [" street Number "] Ġ= ĠtoString Attr ( street Num ) ĊĠĠĠĠĠĠĠ Ġmap [" city "] Ġ= ĠtoString Attr ( city ) ĊĠĠĠĠĠĠĠ Ġmap [" bank Account Number "] Ġ= ĠtoString Attr ( bank Account ) ĊĠĠĠĠĠĠĠ Ġmap [" tax Id "] Ġ= ĠtoString Attr ( tax Id ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġmap ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠtoString Attr ( value : ĠString ): ĠAttribute Value Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠAttribute Value . builder (). s ( value ). build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġto Num Attr ( value : ĠNumber ): ĠAttribute Value Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠAttribute Value . builder (). n ( value . toString ()). build () ĊĠĠĠ Ġ} Ċ }