11package tools .dynamia .modules .saas .domain ;
22
3- import jakarta .persistence .Entity ;
4- import jakarta .persistence .FetchType ;
5- import jakarta .persistence .ManyToOne ;
6- import jakarta .persistence .Table ;
3+ import jakarta .persistence .*;
74import jakarta .validation .constraints .NotNull ;
85import tools .dynamia .domain .jpa .SimpleEntity ;
6+ import tools .dynamia .domain .query .QueryConditions ;
7+ import tools .dynamia .domain .query .QueryParameters ;
8+ import tools .dynamia .domain .util .DomainUtils ;
99
10+ import java .util .ArrayList ;
11+ import java .util .List ;
1012import java .util .Locale ;
1113import java .util .TimeZone ;
1214
@@ -28,6 +30,10 @@ public class AccountRegion extends SimpleEntity {
2830 private String currency ;
2931 private String timeZone = TimeZone .getDefault ().getDisplayName ();
3032 private String locale = Locale .getDefault ().getDisplayName ();
33+ private String invoiceType ;
34+
35+ @ OneToMany (mappedBy = "region" , cascade = CascadeType .ALL , orphanRemoval = true )
36+ private List <AccountRegionParameter > parameters = new ArrayList <>();
3137
3238 public String getName () {
3339 return name ;
@@ -106,4 +112,28 @@ public String toString() {
106112 return name ;
107113 }
108114
115+ public String getInvoiceType () {
116+ return invoiceType ;
117+ }
118+
119+ public void setInvoiceType (String invoiceType ) {
120+ this .invoiceType = invoiceType ;
121+ }
122+
123+ public List <AccountRegionParameter > getParameters () {
124+ return parameters ;
125+ }
126+
127+ public void setParameters (List <AccountRegionParameter > parameters ) {
128+ this .parameters = parameters ;
129+ }
130+
131+ public AccountRegionParameter findParameter (String name ) {
132+ if (getId () == null ) {
133+ return parameters .stream ().filter (p -> p .getName ().equals (name )).findFirst ().orElse (null );
134+ } else {
135+ return DomainUtils .lookupCrudService ().findSingle (AccountRegionParameter .class , QueryParameters .with ("region" , this )
136+ .add ("name" , QueryConditions .eq (name )));
137+ }
138+ }
109139}
0 commit comments