diff options
author | ArenBabikian <aren.babikian@mail.mcgill.ca> | 2020-04-28 00:29:00 -0400 |
---|---|---|
committer | ArenBabikian <aren.babikian@mail.mcgill.ca> | 2020-04-28 00:29:00 -0400 |
commit | 68a0667e862f0714410aafbb499a95a03f5bee23 (patch) | |
tree | 34b7d690dae5b9dd8f188fc44802a02f8dd9a64a /Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl | |
parent | rename Pledge Case Studies and add familyTree case study (diff) | |
download | VIATRA-Generator-68a0667e862f0714410aafbb499a95a03f5bee23.tar.gz VIATRA-Generator-68a0667e862f0714410aafbb499a95a03f5bee23.tar.zst VIATRA-Generator-68a0667e862f0714410aafbb499a95a03f5bee23.zip |
Able to run Pledge Case Study
Diffstat (limited to 'Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl')
16 files changed, 52 insertions, 1687 deletions
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DependentImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DependentImpl.java index 0732ae44..a1b50304 100644 --- a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DependentImpl.java +++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/DependentImpl.java | |||
@@ -22,6 +22,7 @@ import org.eclipse.emf.ecore.EClass; | |||
22 | import org.eclipse.emf.ecore.InternalEObject; | 22 | import org.eclipse.emf.ecore.InternalEObject; |
23 | 23 | ||
24 | import org.eclipse.emf.ecore.impl.ENotificationImpl; | 24 | import org.eclipse.emf.ecore.impl.ENotificationImpl; |
25 | |||
25 | import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList; | 26 | import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList; |
26 | import org.eclipse.emf.ecore.util.EcoreUtil; | 27 | import org.eclipse.emf.ecore.util.EcoreUtil; |
27 | import org.eclipse.emf.ecore.util.InternalEList; | 28 | import org.eclipse.emf.ecore.util.InternalEList; |
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/ExpenseImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/ExpenseImpl.java index 70dfc53e..6acf1429 100644 --- a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/ExpenseImpl.java +++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/ExpenseImpl.java | |||
@@ -9,6 +9,7 @@ import Taxation.FromAgent; | |||
9 | import Taxation.Income; | 9 | import Taxation.Income; |
10 | import Taxation.Physical_Person; | 10 | import Taxation.Physical_Person; |
11 | import Taxation.TaxationPackage; | 11 | import Taxation.TaxationPackage; |
12 | |||
12 | import org.eclipse.emf.common.notify.Notification; | 13 | import org.eclipse.emf.common.notify.Notification; |
13 | import org.eclipse.emf.common.notify.NotificationChain; | 14 | import org.eclipse.emf.common.notify.NotificationChain; |
14 | 15 | ||
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/External_AllowanceImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/External_AllowanceImpl.java index 0d0119a5..d73a0014 100644 --- a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/External_AllowanceImpl.java +++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/External_AllowanceImpl.java | |||
@@ -7,6 +7,7 @@ import Taxation.External_Allowance; | |||
7 | import Taxation.Grantor; | 7 | import Taxation.Grantor; |
8 | import Taxation.Physical_Person; | 8 | import Taxation.Physical_Person; |
9 | import Taxation.TaxationPackage; | 9 | import Taxation.TaxationPackage; |
10 | |||
10 | import org.eclipse.emf.common.notify.Notification; | 11 | import org.eclipse.emf.common.notify.Notification; |
11 | import org.eclipse.emf.common.notify.NotificationChain; | 12 | import org.eclipse.emf.common.notify.NotificationChain; |
12 | 13 | ||
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/FromAgentImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/FromAgentImpl.java index 930a23de..9b7b38bb 100644 --- a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/FromAgentImpl.java +++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/FromAgentImpl.java | |||
@@ -7,6 +7,7 @@ import Taxation.Expense; | |||
7 | import Taxation.FromAgent; | 7 | import Taxation.FromAgent; |
8 | import Taxation.Tax_Payer; | 8 | import Taxation.Tax_Payer; |
9 | import Taxation.TaxationPackage; | 9 | import Taxation.TaxationPackage; |
10 | |||
10 | import org.eclipse.emf.common.notify.Notification; | 11 | import org.eclipse.emf.common.notify.Notification; |
11 | import org.eclipse.emf.common.notify.NotificationChain; | 12 | import org.eclipse.emf.common.notify.NotificationChain; |
12 | 13 | ||
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/IncomeImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/IncomeImpl.java index 233d467c..f4793894 100644 --- a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/IncomeImpl.java +++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/IncomeImpl.java | |||
@@ -9,8 +9,8 @@ import Taxation.Income_Type; | |||
9 | import Taxation.Tax_Card; | 9 | import Taxation.Tax_Card; |
10 | import Taxation.Tax_Payer; | 10 | import Taxation.Tax_Payer; |
11 | import Taxation.TaxationPackage; | 11 | import Taxation.TaxationPackage; |
12 | |||
12 | import java.util.Collection; | 13 | import java.util.Collection; |
13 | import java.util.Date; | ||
14 | 14 | ||
15 | import org.eclipse.emf.common.notify.Notification; | 15 | import org.eclipse.emf.common.notify.Notification; |
16 | import org.eclipse.emf.common.notify.NotificationChain; | 16 | import org.eclipse.emf.common.notify.NotificationChain; |
@@ -37,9 +37,6 @@ import org.eclipse.emf.ecore.util.InternalEList; | |||
37 | * <ul> | 37 | * <ul> |
38 | * <li>{@link Taxation.impl.IncomeImpl#getIncome_amount <em>Income amount</em>}</li> | 38 | * <li>{@link Taxation.impl.IncomeImpl#getIncome_amount <em>Income amount</em>}</li> |
39 | * <li>{@link Taxation.impl.IncomeImpl#getIncome_type <em>Income type</em>}</li> | 39 | * <li>{@link Taxation.impl.IncomeImpl#getIncome_type <em>Income type</em>}</li> |
40 | * <li>{@link Taxation.impl.IncomeImpl#getStart_date_within_taxation_year <em>Start date within taxation year</em>}</li> | ||
41 | * <li>{@link Taxation.impl.IncomeImpl#getStart_date_of_contract <em>Start date of contract</em>}</li> | ||
42 | * <li>{@link Taxation.impl.IncomeImpl#getEnd_date_within_taxation_year <em>End date within taxation year</em>}</li> | ||
43 | * <li>{@link Taxation.impl.IncomeImpl#getTax_card <em>Tax card</em>}</li> | 40 | * <li>{@link Taxation.impl.IncomeImpl#getTax_card <em>Tax card</em>}</li> |
44 | * <li>{@link Taxation.impl.IncomeImpl#getTax_liability <em>Tax liability</em>}</li> | 41 | * <li>{@link Taxation.impl.IncomeImpl#getTax_liability <em>Tax liability</em>}</li> |
45 | * <li>{@link Taxation.impl.IncomeImpl#getTaxPayer <em>Tax Payer</em>}</li> | 42 | * <li>{@link Taxation.impl.IncomeImpl#getTaxPayer <em>Tax Payer</em>}</li> |
@@ -82,66 +79,6 @@ public abstract class IncomeImpl extends MinimalEObjectImpl.Container implements | |||
82 | protected Income_Type income_type; | 79 | protected Income_Type income_type; |
83 | 80 | ||
84 | /** | 81 | /** |
85 | * The default value of the '{@link #getStart_date_within_taxation_year() <em>Start date within taxation year</em>}' attribute. | ||
86 | * <!-- begin-user-doc --> | ||
87 | * <!-- end-user-doc --> | ||
88 | * @see #getStart_date_within_taxation_year() | ||
89 | * @generated | ||
90 | * @ordered | ||
91 | */ | ||
92 | protected static final Date START_DATE_WITHIN_TAXATION_YEAR_EDEFAULT = null; | ||
93 | |||
94 | /** | ||
95 | * The cached value of the '{@link #getStart_date_within_taxation_year() <em>Start date within taxation year</em>}' attribute. | ||
96 | * <!-- begin-user-doc --> | ||
97 | * <!-- end-user-doc --> | ||
98 | * @see #getStart_date_within_taxation_year() | ||
99 | * @generated | ||
100 | * @ordered | ||
101 | */ | ||
102 | protected Date start_date_within_taxation_year = START_DATE_WITHIN_TAXATION_YEAR_EDEFAULT; | ||
103 | |||
104 | /** | ||
105 | * The default value of the '{@link #getStart_date_of_contract() <em>Start date of contract</em>}' attribute. | ||
106 | * <!-- begin-user-doc --> | ||
107 | * <!-- end-user-doc --> | ||
108 | * @see #getStart_date_of_contract() | ||
109 | * @generated | ||
110 | * @ordered | ||
111 | */ | ||
112 | protected static final Date START_DATE_OF_CONTRACT_EDEFAULT = null; | ||
113 | |||
114 | /** | ||
115 | * The cached value of the '{@link #getStart_date_of_contract() <em>Start date of contract</em>}' attribute. | ||
116 | * <!-- begin-user-doc --> | ||
117 | * <!-- end-user-doc --> | ||
118 | * @see #getStart_date_of_contract() | ||
119 | * @generated | ||
120 | * @ordered | ||
121 | */ | ||
122 | protected Date start_date_of_contract = START_DATE_OF_CONTRACT_EDEFAULT; | ||
123 | |||
124 | /** | ||
125 | * The default value of the '{@link #getEnd_date_within_taxation_year() <em>End date within taxation year</em>}' attribute. | ||
126 | * <!-- begin-user-doc --> | ||
127 | * <!-- end-user-doc --> | ||
128 | * @see #getEnd_date_within_taxation_year() | ||
129 | * @generated | ||
130 | * @ordered | ||
131 | */ | ||
132 | protected static final Date END_DATE_WITHIN_TAXATION_YEAR_EDEFAULT = null; | ||
133 | |||
134 | /** | ||
135 | * The cached value of the '{@link #getEnd_date_within_taxation_year() <em>End date within taxation year</em>}' attribute. | ||
136 | * <!-- begin-user-doc --> | ||
137 | * <!-- end-user-doc --> | ||
138 | * @see #getEnd_date_within_taxation_year() | ||
139 | * @generated | ||
140 | * @ordered | ||
141 | */ | ||
142 | protected Date end_date_within_taxation_year = END_DATE_WITHIN_TAXATION_YEAR_EDEFAULT; | ||
143 | |||
144 | /** | ||
145 | * The cached value of the '{@link #getTax_card() <em>Tax card</em>}' containment reference. | 82 | * The cached value of the '{@link #getTax_card() <em>Tax card</em>}' containment reference. |
146 | * <!-- begin-user-doc --> | 83 | * <!-- begin-user-doc --> |
147 | * <!-- end-user-doc --> | 84 | * <!-- end-user-doc --> |
@@ -304,75 +241,6 @@ public abstract class IncomeImpl extends MinimalEObjectImpl.Container implements | |||
304 | * @generated | 241 | * @generated |
305 | */ | 242 | */ |
306 | @Override | 243 | @Override |
307 | public Date getStart_date_within_taxation_year() { | ||
308 | return start_date_within_taxation_year; | ||
309 | } | ||
310 | |||
311 | /** | ||
312 | * <!-- begin-user-doc --> | ||
313 | * <!-- end-user-doc --> | ||
314 | * @generated | ||
315 | */ | ||
316 | @Override | ||
317 | public void setStart_date_within_taxation_year(Date newStart_date_within_taxation_year) { | ||
318 | Date oldStart_date_within_taxation_year = start_date_within_taxation_year; | ||
319 | start_date_within_taxation_year = newStart_date_within_taxation_year; | ||
320 | if (eNotificationRequired()) | ||
321 | eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME__START_DATE_WITHIN_TAXATION_YEAR, oldStart_date_within_taxation_year, start_date_within_taxation_year)); | ||
322 | } | ||
323 | |||
324 | /** | ||
325 | * <!-- begin-user-doc --> | ||
326 | * <!-- end-user-doc --> | ||
327 | * @generated | ||
328 | */ | ||
329 | @Override | ||
330 | public Date getStart_date_of_contract() { | ||
331 | return start_date_of_contract; | ||
332 | } | ||
333 | |||
334 | /** | ||
335 | * <!-- begin-user-doc --> | ||
336 | * <!-- end-user-doc --> | ||
337 | * @generated | ||
338 | */ | ||
339 | @Override | ||
340 | public void setStart_date_of_contract(Date newStart_date_of_contract) { | ||
341 | Date oldStart_date_of_contract = start_date_of_contract; | ||
342 | start_date_of_contract = newStart_date_of_contract; | ||
343 | if (eNotificationRequired()) | ||
344 | eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME__START_DATE_OF_CONTRACT, oldStart_date_of_contract, start_date_of_contract)); | ||
345 | } | ||
346 | |||
347 | /** | ||
348 | * <!-- begin-user-doc --> | ||
349 | * <!-- end-user-doc --> | ||
350 | * @generated | ||
351 | */ | ||
352 | @Override | ||
353 | public Date getEnd_date_within_taxation_year() { | ||
354 | return end_date_within_taxation_year; | ||
355 | } | ||
356 | |||
357 | /** | ||
358 | * <!-- begin-user-doc --> | ||
359 | * <!-- end-user-doc --> | ||
360 | * @generated | ||
361 | */ | ||
362 | @Override | ||
363 | public void setEnd_date_within_taxation_year(Date newEnd_date_within_taxation_year) { | ||
364 | Date oldEnd_date_within_taxation_year = end_date_within_taxation_year; | ||
365 | end_date_within_taxation_year = newEnd_date_within_taxation_year; | ||
366 | if (eNotificationRequired()) | ||
367 | eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.INCOME__END_DATE_WITHIN_TAXATION_YEAR, oldEnd_date_within_taxation_year, end_date_within_taxation_year)); | ||
368 | } | ||
369 | |||
370 | /** | ||
371 | * <!-- begin-user-doc --> | ||
372 | * <!-- end-user-doc --> | ||
373 | * @generated | ||
374 | */ | ||
375 | @Override | ||
376 | public Tax_Card getTax_card() { | 244 | public Tax_Card getTax_card() { |
377 | return tax_card; | 245 | return tax_card; |
378 | } | 246 | } |
@@ -604,12 +472,6 @@ public abstract class IncomeImpl extends MinimalEObjectImpl.Container implements | |||
604 | return getIncome_amount(); | 472 | return getIncome_amount(); |
605 | case TaxationPackage.INCOME__INCOME_TYPE: | 473 | case TaxationPackage.INCOME__INCOME_TYPE: |
606 | return getIncome_type(); | 474 | return getIncome_type(); |
607 | case TaxationPackage.INCOME__START_DATE_WITHIN_TAXATION_YEAR: | ||
608 | return getStart_date_within_taxation_year(); | ||
609 | case TaxationPackage.INCOME__START_DATE_OF_CONTRACT: | ||
610 | return getStart_date_of_contract(); | ||
611 | case TaxationPackage.INCOME__END_DATE_WITHIN_TAXATION_YEAR: | ||
612 | return getEnd_date_within_taxation_year(); | ||
613 | case TaxationPackage.INCOME__TAX_CARD: | 475 | case TaxationPackage.INCOME__TAX_CARD: |
614 | return getTax_card(); | 476 | return getTax_card(); |
615 | case TaxationPackage.INCOME__TAX_LIABILITY: | 477 | case TaxationPackage.INCOME__TAX_LIABILITY: |
@@ -641,15 +503,6 @@ public abstract class IncomeImpl extends MinimalEObjectImpl.Container implements | |||
641 | case TaxationPackage.INCOME__INCOME_TYPE: | 503 | case TaxationPackage.INCOME__INCOME_TYPE: |
642 | setIncome_type((Income_Type)newValue); | 504 | setIncome_type((Income_Type)newValue); |
643 | return; | 505 | return; |
644 | case TaxationPackage.INCOME__START_DATE_WITHIN_TAXATION_YEAR: | ||
645 | setStart_date_within_taxation_year((Date)newValue); | ||
646 | return; | ||
647 | case TaxationPackage.INCOME__START_DATE_OF_CONTRACT: | ||
648 | setStart_date_of_contract((Date)newValue); | ||
649 | return; | ||
650 | case TaxationPackage.INCOME__END_DATE_WITHIN_TAXATION_YEAR: | ||
651 | setEnd_date_within_taxation_year((Date)newValue); | ||
652 | return; | ||
653 | case TaxationPackage.INCOME__TAX_CARD: | 506 | case TaxationPackage.INCOME__TAX_CARD: |
654 | setTax_card((Tax_Card)newValue); | 507 | setTax_card((Tax_Card)newValue); |
655 | return; | 508 | return; |
@@ -688,15 +541,6 @@ public abstract class IncomeImpl extends MinimalEObjectImpl.Container implements | |||
688 | case TaxationPackage.INCOME__INCOME_TYPE: | 541 | case TaxationPackage.INCOME__INCOME_TYPE: |
689 | setIncome_type((Income_Type)null); | 542 | setIncome_type((Income_Type)null); |
690 | return; | 543 | return; |
691 | case TaxationPackage.INCOME__START_DATE_WITHIN_TAXATION_YEAR: | ||
692 | setStart_date_within_taxation_year(START_DATE_WITHIN_TAXATION_YEAR_EDEFAULT); | ||
693 | return; | ||
694 | case TaxationPackage.INCOME__START_DATE_OF_CONTRACT: | ||
695 | setStart_date_of_contract(START_DATE_OF_CONTRACT_EDEFAULT); | ||
696 | return; | ||
697 | case TaxationPackage.INCOME__END_DATE_WITHIN_TAXATION_YEAR: | ||
698 | setEnd_date_within_taxation_year(END_DATE_WITHIN_TAXATION_YEAR_EDEFAULT); | ||
699 | return; | ||
700 | case TaxationPackage.INCOME__TAX_CARD: | 544 | case TaxationPackage.INCOME__TAX_CARD: |
701 | setTax_card((Tax_Card)null); | 545 | setTax_card((Tax_Card)null); |
702 | return; | 546 | return; |
@@ -731,12 +575,6 @@ public abstract class IncomeImpl extends MinimalEObjectImpl.Container implements | |||
731 | return income_amount != INCOME_AMOUNT_EDEFAULT; | 575 | return income_amount != INCOME_AMOUNT_EDEFAULT; |
732 | case TaxationPackage.INCOME__INCOME_TYPE: | 576 | case TaxationPackage.INCOME__INCOME_TYPE: |
733 | return income_type != null; | 577 | return income_type != null; |
734 | case TaxationPackage.INCOME__START_DATE_WITHIN_TAXATION_YEAR: | ||
735 | return START_DATE_WITHIN_TAXATION_YEAR_EDEFAULT == null ? start_date_within_taxation_year != null : !START_DATE_WITHIN_TAXATION_YEAR_EDEFAULT.equals(start_date_within_taxation_year); | ||
736 | case TaxationPackage.INCOME__START_DATE_OF_CONTRACT: | ||
737 | return START_DATE_OF_CONTRACT_EDEFAULT == null ? start_date_of_contract != null : !START_DATE_OF_CONTRACT_EDEFAULT.equals(start_date_of_contract); | ||
738 | case TaxationPackage.INCOME__END_DATE_WITHIN_TAXATION_YEAR: | ||
739 | return END_DATE_WITHIN_TAXATION_YEAR_EDEFAULT == null ? end_date_within_taxation_year != null : !END_DATE_WITHIN_TAXATION_YEAR_EDEFAULT.equals(end_date_within_taxation_year); | ||
740 | case TaxationPackage.INCOME__TAX_CARD: | 578 | case TaxationPackage.INCOME__TAX_CARD: |
741 | return tax_card != null; | 579 | return tax_card != null; |
742 | case TaxationPackage.INCOME__TAX_LIABILITY: | 580 | case TaxationPackage.INCOME__TAX_LIABILITY: |
@@ -765,12 +603,6 @@ public abstract class IncomeImpl extends MinimalEObjectImpl.Container implements | |||
765 | StringBuilder result = new StringBuilder(super.toString()); | 603 | StringBuilder result = new StringBuilder(super.toString()); |
766 | result.append(" (income_amount: "); | 604 | result.append(" (income_amount: "); |
767 | result.append(income_amount); | 605 | result.append(income_amount); |
768 | result.append(", start_date_within_taxation_year: "); | ||
769 | result.append(start_date_within_taxation_year); | ||
770 | result.append(", start_date_of_contract: "); | ||
771 | result.append(start_date_of_contract); | ||
772 | result.append(", end_date_within_taxation_year: "); | ||
773 | result.append(end_date_within_taxation_year); | ||
774 | result.append(", tax_liability: "); | 606 | result.append(", tax_liability: "); |
775 | result.append(tax_liability); | 607 | result.append(tax_liability); |
776 | result.append(", num: "); | 608 | result.append(", num: "); |
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Income_DetailImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Income_DetailImpl.java index ff882fd5..d3b7fe83 100644 --- a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Income_DetailImpl.java +++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Income_DetailImpl.java | |||
@@ -5,6 +5,7 @@ package Taxation.impl; | |||
5 | import Taxation.Income; | 5 | import Taxation.Income; |
6 | import Taxation.Income_Detail; | 6 | import Taxation.Income_Detail; |
7 | import Taxation.TaxationPackage; | 7 | import Taxation.TaxationPackage; |
8 | |||
8 | import org.eclipse.emf.common.notify.Notification; | 9 | import org.eclipse.emf.common.notify.Notification; |
9 | import org.eclipse.emf.common.notify.NotificationChain; | 10 | import org.eclipse.emf.common.notify.NotificationChain; |
10 | 11 | ||
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Income_TaxImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Income_TaxImpl.java index 3083b3fa..69b14ade 100644 --- a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Income_TaxImpl.java +++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Income_TaxImpl.java | |||
@@ -5,6 +5,7 @@ package Taxation.impl; | |||
5 | import Taxation.Income_Tax; | 5 | import Taxation.Income_Tax; |
6 | import Taxation.Tax_Payer; | 6 | import Taxation.Tax_Payer; |
7 | import Taxation.TaxationPackage; | 7 | import Taxation.TaxationPackage; |
8 | |||
8 | import org.eclipse.emf.common.notify.Notification; | 9 | import org.eclipse.emf.common.notify.Notification; |
9 | 10 | ||
10 | import org.eclipse.emf.ecore.EClass; | 11 | import org.eclipse.emf.ecore.EClass; |
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Income_Tax_CreditImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Income_Tax_CreditImpl.java index 0dbd6e21..5a6f0a68 100644 --- a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Income_Tax_CreditImpl.java +++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Income_Tax_CreditImpl.java | |||
@@ -7,6 +7,7 @@ import Taxation.Income_Tax_Credit; | |||
7 | import Taxation.Tax_Card; | 7 | import Taxation.Tax_Card; |
8 | import Taxation.Tax_Payer; | 8 | import Taxation.Tax_Payer; |
9 | import Taxation.TaxationPackage; | 9 | import Taxation.TaxationPackage; |
10 | |||
10 | import org.eclipse.emf.common.notify.Notification; | 11 | import org.eclipse.emf.common.notify.Notification; |
11 | import org.eclipse.emf.common.notify.NotificationChain; | 12 | import org.eclipse.emf.common.notify.NotificationChain; |
12 | 13 | ||
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Legal_Union_RecordImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Legal_Union_RecordImpl.java index 1ab3bf53..8853657a 100644 --- a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Legal_Union_RecordImpl.java +++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Legal_Union_RecordImpl.java | |||
@@ -8,6 +8,7 @@ import Taxation.Physical_Person; | |||
8 | import Taxation.Separation_Causes; | 8 | import Taxation.Separation_Causes; |
9 | import Taxation.Tax_Property; | 9 | import Taxation.Tax_Property; |
10 | import Taxation.TaxationPackage; | 10 | import Taxation.TaxationPackage; |
11 | |||
11 | import java.util.Collection; | 12 | import java.util.Collection; |
12 | 13 | ||
13 | import org.eclipse.emf.common.notify.Notification; | 14 | import org.eclipse.emf.common.notify.Notification; |
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Physical_PersonImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Physical_PersonImpl.java index a63a993e..13e12888 100644 --- a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Physical_PersonImpl.java +++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Physical_PersonImpl.java | |||
@@ -7,6 +7,7 @@ import Taxation.Disability_Types; | |||
7 | import Taxation.Expense; | 7 | import Taxation.Expense; |
8 | import Taxation.Physical_Person; | 8 | import Taxation.Physical_Person; |
9 | import Taxation.TaxationPackage; | 9 | import Taxation.TaxationPackage; |
10 | |||
10 | import java.util.Collection; | 11 | import java.util.Collection; |
11 | 12 | ||
12 | import org.eclipse.emf.common.notify.Notification; | 13 | import org.eclipse.emf.common.notify.Notification; |
@@ -20,7 +21,6 @@ import org.eclipse.emf.ecore.InternalEObject; | |||
20 | import org.eclipse.emf.ecore.impl.ENotificationImpl; | 21 | import org.eclipse.emf.ecore.impl.ENotificationImpl; |
21 | import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; | 22 | import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; |
22 | 23 | ||
23 | import org.eclipse.emf.ecore.util.EObjectContainmentEList; | ||
24 | import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList; | 24 | import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList; |
25 | import org.eclipse.emf.ecore.util.InternalEList; | 25 | import org.eclipse.emf.ecore.util.InternalEList; |
26 | 26 | ||
@@ -43,7 +43,6 @@ import org.eclipse.emf.ecore.util.InternalEList; | |||
43 | * <li>{@link Taxation.impl.Physical_PersonImpl#getBirth_day <em>Birth day</em>}</li> | 43 | * <li>{@link Taxation.impl.Physical_PersonImpl#getBirth_day <em>Birth day</em>}</li> |
44 | * <li>{@link Taxation.impl.Physical_PersonImpl#getExpenses <em>Expenses</em>}</li> | 44 | * <li>{@link Taxation.impl.Physical_PersonImpl#getExpenses <em>Expenses</em>}</li> |
45 | * <li>{@link Taxation.impl.Physical_PersonImpl#isIs_widower <em>Is widower</em>}</li> | 45 | * <li>{@link Taxation.impl.Physical_PersonImpl#isIs_widower <em>Is widower</em>}</li> |
46 | * <li>{@link Taxation.impl.Physical_PersonImpl#getOwns_Address <em>Owns Address</em>}</li> | ||
47 | * </ul> | 46 | * </ul> |
48 | * | 47 | * |
49 | * @generated | 48 | * @generated |
@@ -250,16 +249,6 @@ public class Physical_PersonImpl extends MinimalEObjectImpl.Container implements | |||
250 | protected boolean is_widower = IS_WIDOWER_EDEFAULT; | 249 | protected boolean is_widower = IS_WIDOWER_EDEFAULT; |
251 | 250 | ||
252 | /** | 251 | /** |
253 | * The cached value of the '{@link #getOwns_Address() <em>Owns Address</em>}' containment reference list. | ||
254 | * <!-- begin-user-doc --> | ||
255 | * <!-- end-user-doc --> | ||
256 | * @see #getOwns_Address() | ||
257 | * @generated | ||
258 | * @ordered | ||
259 | */ | ||
260 | protected EList<Address> owns_Address; | ||
261 | |||
262 | /** | ||
263 | * <!-- begin-user-doc --> | 252 | * <!-- begin-user-doc --> |
264 | * <!-- end-user-doc --> | 253 | * <!-- end-user-doc --> |
265 | * @generated | 254 | * @generated |
@@ -516,19 +505,6 @@ public class Physical_PersonImpl extends MinimalEObjectImpl.Container implements | |||
516 | * <!-- end-user-doc --> | 505 | * <!-- end-user-doc --> |
517 | * @generated | 506 | * @generated |
518 | */ | 507 | */ |
519 | @Override | ||
520 | public EList<Address> getOwns_Address() { | ||
521 | if (owns_Address == null) { | ||
522 | owns_Address = new EObjectContainmentEList<Address>(Address.class, this, TaxationPackage.PHYSICAL_PERSON__OWNS_ADDRESS); | ||
523 | } | ||
524 | return owns_Address; | ||
525 | } | ||
526 | |||
527 | /** | ||
528 | * <!-- begin-user-doc --> | ||
529 | * <!-- end-user-doc --> | ||
530 | * @generated | ||
531 | */ | ||
532 | @SuppressWarnings("unchecked") | 508 | @SuppressWarnings("unchecked") |
533 | @Override | 509 | @Override |
534 | public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { | 510 | public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { |
@@ -553,8 +529,6 @@ public class Physical_PersonImpl extends MinimalEObjectImpl.Container implements | |||
553 | return ((InternalEList<?>)getAddresses()).basicRemove(otherEnd, msgs); | 529 | return ((InternalEList<?>)getAddresses()).basicRemove(otherEnd, msgs); |
554 | case TaxationPackage.PHYSICAL_PERSON__EXPENSES: | 530 | case TaxationPackage.PHYSICAL_PERSON__EXPENSES: |
555 | return ((InternalEList<?>)getExpenses()).basicRemove(otherEnd, msgs); | 531 | return ((InternalEList<?>)getExpenses()).basicRemove(otherEnd, msgs); |
556 | case TaxationPackage.PHYSICAL_PERSON__OWNS_ADDRESS: | ||
557 | return ((InternalEList<?>)getOwns_Address()).basicRemove(otherEnd, msgs); | ||
558 | } | 532 | } |
559 | return super.eInverseRemove(otherEnd, featureID, msgs); | 533 | return super.eInverseRemove(otherEnd, featureID, msgs); |
560 | } | 534 | } |
@@ -589,8 +563,6 @@ public class Physical_PersonImpl extends MinimalEObjectImpl.Container implements | |||
589 | return getExpenses(); | 563 | return getExpenses(); |
590 | case TaxationPackage.PHYSICAL_PERSON__IS_WIDOWER: | 564 | case TaxationPackage.PHYSICAL_PERSON__IS_WIDOWER: |
591 | return isIs_widower(); | 565 | return isIs_widower(); |
592 | case TaxationPackage.PHYSICAL_PERSON__OWNS_ADDRESS: | ||
593 | return getOwns_Address(); | ||
594 | } | 566 | } |
595 | return super.eGet(featureID, resolve, coreType); | 567 | return super.eGet(featureID, resolve, coreType); |
596 | } | 568 | } |
@@ -639,10 +611,6 @@ public class Physical_PersonImpl extends MinimalEObjectImpl.Container implements | |||
639 | case TaxationPackage.PHYSICAL_PERSON__IS_WIDOWER: | 611 | case TaxationPackage.PHYSICAL_PERSON__IS_WIDOWER: |
640 | setIs_widower((Boolean)newValue); | 612 | setIs_widower((Boolean)newValue); |
641 | return; | 613 | return; |
642 | case TaxationPackage.PHYSICAL_PERSON__OWNS_ADDRESS: | ||
643 | getOwns_Address().clear(); | ||
644 | getOwns_Address().addAll((Collection<? extends Address>)newValue); | ||
645 | return; | ||
646 | } | 614 | } |
647 | super.eSet(featureID, newValue); | 615 | super.eSet(featureID, newValue); |
648 | } | 616 | } |
@@ -688,9 +656,6 @@ public class Physical_PersonImpl extends MinimalEObjectImpl.Container implements | |||
688 | case TaxationPackage.PHYSICAL_PERSON__IS_WIDOWER: | 656 | case TaxationPackage.PHYSICAL_PERSON__IS_WIDOWER: |
689 | setIs_widower(IS_WIDOWER_EDEFAULT); | 657 | setIs_widower(IS_WIDOWER_EDEFAULT); |
690 | return; | 658 | return; |
691 | case TaxationPackage.PHYSICAL_PERSON__OWNS_ADDRESS: | ||
692 | getOwns_Address().clear(); | ||
693 | return; | ||
694 | } | 659 | } |
695 | super.eUnset(featureID); | 660 | super.eUnset(featureID); |
696 | } | 661 | } |
@@ -725,8 +690,6 @@ public class Physical_PersonImpl extends MinimalEObjectImpl.Container implements | |||
725 | return expenses != null && !expenses.isEmpty(); | 690 | return expenses != null && !expenses.isEmpty(); |
726 | case TaxationPackage.PHYSICAL_PERSON__IS_WIDOWER: | 691 | case TaxationPackage.PHYSICAL_PERSON__IS_WIDOWER: |
727 | return is_widower != IS_WIDOWER_EDEFAULT; | 692 | return is_widower != IS_WIDOWER_EDEFAULT; |
728 | case TaxationPackage.PHYSICAL_PERSON__OWNS_ADDRESS: | ||
729 | return owns_Address != null && !owns_Address.isEmpty(); | ||
730 | } | 693 | } |
731 | return super.eIsSet(featureID); | 694 | return super.eIsSet(featureID); |
732 | } | 695 | } |
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Private_Insurance_and_PlanImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Private_Insurance_and_PlanImpl.java index dfe39a95..2b1cd545 100644 --- a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Private_Insurance_and_PlanImpl.java +++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Private_Insurance_and_PlanImpl.java | |||
@@ -5,6 +5,7 @@ package Taxation.impl; | |||
5 | import Taxation.Category_of_Private_Insurance_and_Plan; | 5 | import Taxation.Category_of_Private_Insurance_and_Plan; |
6 | import Taxation.Private_Insurance_and_Plan; | 6 | import Taxation.Private_Insurance_and_Plan; |
7 | import Taxation.TaxationPackage; | 7 | import Taxation.TaxationPackage; |
8 | |||
8 | import org.eclipse.emf.common.notify.Notification; | 9 | import org.eclipse.emf.common.notify.Notification; |
9 | 10 | ||
10 | import org.eclipse.emf.ecore.EClass; | 11 | import org.eclipse.emf.ecore.EClass; |
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Resident_Tax_PayerImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Resident_Tax_PayerImpl.java index 34a1f15c..4ae64706 100644 --- a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Resident_Tax_PayerImpl.java +++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Resident_Tax_PayerImpl.java | |||
@@ -4,6 +4,7 @@ package Taxation.impl; | |||
4 | 4 | ||
5 | import Taxation.Resident_Tax_Payer; | 5 | import Taxation.Resident_Tax_Payer; |
6 | import Taxation.TaxationPackage; | 6 | import Taxation.TaxationPackage; |
7 | |||
7 | import org.eclipse.emf.ecore.EClass; | 8 | import org.eclipse.emf.ecore.EClass; |
8 | 9 | ||
9 | /** | 10 | /** |
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Tax_CardImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Tax_CardImpl.java index 68f4f7f9..ebff8555 100644 --- a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Tax_CardImpl.java +++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Tax_CardImpl.java | |||
@@ -13,7 +13,6 @@ import Taxation.TaxationPackage; | |||
13 | import Taxation.Town; | 13 | import Taxation.Town; |
14 | 14 | ||
15 | import java.util.Collection; | 15 | import java.util.Collection; |
16 | import java.util.Date; | ||
17 | 16 | ||
18 | import org.eclipse.emf.common.notify.Notification; | 17 | import org.eclipse.emf.common.notify.Notification; |
19 | import org.eclipse.emf.common.notify.NotificationChain; | 18 | import org.eclipse.emf.common.notify.NotificationChain; |
@@ -42,8 +41,6 @@ import org.eclipse.emf.ecore.util.InternalEList; | |||
42 | * <li>{@link Taxation.impl.Tax_CardImpl#getCard_identifier <em>Card identifier</em>}</li> | 41 | * <li>{@link Taxation.impl.Tax_CardImpl#getCard_identifier <em>Card identifier</em>}</li> |
43 | * <li>{@link Taxation.impl.Tax_CardImpl#getTax_card_type <em>Tax card type</em>}</li> | 42 | * <li>{@link Taxation.impl.Tax_CardImpl#getTax_card_type <em>Tax card type</em>}</li> |
44 | * <li>{@link Taxation.impl.Tax_CardImpl#getTax_office <em>Tax office</em>}</li> | 43 | * <li>{@link Taxation.impl.Tax_CardImpl#getTax_office <em>Tax office</em>}</li> |
45 | * <li>{@link Taxation.impl.Tax_CardImpl#getValid_from_date <em>Valid from date</em>}</li> | ||
46 | * <li>{@link Taxation.impl.Tax_CardImpl#getValid_until_date <em>Valid until date</em>}</li> | ||
47 | * <li>{@link Taxation.impl.Tax_CardImpl#getPercentage_of_witholding <em>Percentage of witholding</em>}</li> | 44 | * <li>{@link Taxation.impl.Tax_CardImpl#getPercentage_of_witholding <em>Percentage of witholding</em>}</li> |
48 | * <li>{@link Taxation.impl.Tax_CardImpl#getTax_payers_name_surname <em>Tax payers name surname</em>}</li> | 45 | * <li>{@link Taxation.impl.Tax_CardImpl#getTax_payers_name_surname <em>Tax payers name surname</em>}</li> |
49 | * <li>{@link Taxation.impl.Tax_CardImpl#getTax_payers_partner_name_surname <em>Tax payers partner name surname</em>}</li> | 46 | * <li>{@link Taxation.impl.Tax_CardImpl#getTax_payers_partner_name_surname <em>Tax payers partner name surname</em>}</li> |
@@ -142,46 +139,6 @@ public class Tax_CardImpl extends MinimalEObjectImpl.Container implements Tax_Ca | |||
142 | protected Tax_Office tax_office = TAX_OFFICE_EDEFAULT; | 139 | protected Tax_Office tax_office = TAX_OFFICE_EDEFAULT; |
143 | 140 | ||
144 | /** | 141 | /** |
145 | * The default value of the '{@link #getValid_from_date() <em>Valid from date</em>}' attribute. | ||
146 | * <!-- begin-user-doc --> | ||
147 | * <!-- end-user-doc --> | ||
148 | * @see #getValid_from_date() | ||
149 | * @generated | ||
150 | * @ordered | ||
151 | */ | ||
152 | protected static final Date VALID_FROM_DATE_EDEFAULT = null; | ||
153 | |||
154 | /** | ||
155 | * The cached value of the '{@link #getValid_from_date() <em>Valid from date</em>}' attribute. | ||
156 | * <!-- begin-user-doc --> | ||
157 | * <!-- end-user-doc --> | ||
158 | * @see #getValid_from_date() | ||
159 | * @generated | ||
160 | * @ordered | ||
161 | */ | ||
162 | protected Date valid_from_date = VALID_FROM_DATE_EDEFAULT; | ||
163 | |||
164 | /** | ||
165 | * The default value of the '{@link #getValid_until_date() <em>Valid until date</em>}' attribute. | ||
166 | * <!-- begin-user-doc --> | ||
167 | * <!-- end-user-doc --> | ||
168 | * @see #getValid_until_date() | ||
169 | * @generated | ||
170 | * @ordered | ||
171 | */ | ||
172 | protected static final Date VALID_UNTIL_DATE_EDEFAULT = null; | ||
173 | |||
174 | /** | ||
175 | * The cached value of the '{@link #getValid_until_date() <em>Valid until date</em>}' attribute. | ||
176 | * <!-- begin-user-doc --> | ||
177 | * <!-- end-user-doc --> | ||
178 | * @see #getValid_until_date() | ||
179 | * @generated | ||
180 | * @ordered | ||
181 | */ | ||
182 | protected Date valid_until_date = VALID_UNTIL_DATE_EDEFAULT; | ||
183 | |||
184 | /** | ||
185 | * The default value of the '{@link #getPercentage_of_witholding() <em>Percentage of witholding</em>}' attribute. | 142 | * The default value of the '{@link #getPercentage_of_witholding() <em>Percentage of witholding</em>}' attribute. |
186 | * <!-- begin-user-doc --> | 143 | * <!-- begin-user-doc --> |
187 | * <!-- end-user-doc --> | 144 | * <!-- end-user-doc --> |
@@ -835,52 +792,6 @@ public class Tax_CardImpl extends MinimalEObjectImpl.Container implements Tax_Ca | |||
835 | * @generated | 792 | * @generated |
836 | */ | 793 | */ |
837 | @Override | 794 | @Override |
838 | public Date getValid_from_date() { | ||
839 | return valid_from_date; | ||
840 | } | ||
841 | |||
842 | /** | ||
843 | * <!-- begin-user-doc --> | ||
844 | * <!-- end-user-doc --> | ||
845 | * @generated | ||
846 | */ | ||
847 | @Override | ||
848 | public void setValid_from_date(Date newValid_from_date) { | ||
849 | Date oldValid_from_date = valid_from_date; | ||
850 | valid_from_date = newValid_from_date; | ||
851 | if (eNotificationRequired()) | ||
852 | eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_CARD__VALID_FROM_DATE, oldValid_from_date, valid_from_date)); | ||
853 | } | ||
854 | |||
855 | /** | ||
856 | * <!-- begin-user-doc --> | ||
857 | * <!-- end-user-doc --> | ||
858 | * @generated | ||
859 | */ | ||
860 | @Override | ||
861 | public Date getValid_until_date() { | ||
862 | return valid_until_date; | ||
863 | } | ||
864 | |||
865 | /** | ||
866 | * <!-- begin-user-doc --> | ||
867 | * <!-- end-user-doc --> | ||
868 | * @generated | ||
869 | */ | ||
870 | @Override | ||
871 | public void setValid_until_date(Date newValid_until_date) { | ||
872 | Date oldValid_until_date = valid_until_date; | ||
873 | valid_until_date = newValid_until_date; | ||
874 | if (eNotificationRequired()) | ||
875 | eNotify(new ENotificationImpl(this, Notification.SET, TaxationPackage.TAX_CARD__VALID_UNTIL_DATE, oldValid_until_date, valid_until_date)); | ||
876 | } | ||
877 | |||
878 | /** | ||
879 | * <!-- begin-user-doc --> | ||
880 | * <!-- end-user-doc --> | ||
881 | * @generated | ||
882 | */ | ||
883 | @Override | ||
884 | public double getPercentage_of_witholding() { | 795 | public double getPercentage_of_witholding() { |
885 | return percentage_of_witholding; | 796 | return percentage_of_witholding; |
886 | } | 797 | } |
@@ -1771,10 +1682,6 @@ public class Tax_CardImpl extends MinimalEObjectImpl.Container implements Tax_Ca | |||
1771 | return getTax_card_type(); | 1682 | return getTax_card_type(); |
1772 | case TaxationPackage.TAX_CARD__TAX_OFFICE: | 1683 | case TaxationPackage.TAX_CARD__TAX_OFFICE: |
1773 | return getTax_office(); | 1684 | return getTax_office(); |
1774 | case TaxationPackage.TAX_CARD__VALID_FROM_DATE: | ||
1775 | return getValid_from_date(); | ||
1776 | case TaxationPackage.TAX_CARD__VALID_UNTIL_DATE: | ||
1777 | return getValid_until_date(); | ||
1778 | case TaxationPackage.TAX_CARD__PERCENTAGE_OF_WITHOLDING: | 1685 | case TaxationPackage.TAX_CARD__PERCENTAGE_OF_WITHOLDING: |
1779 | return getPercentage_of_witholding(); | 1686 | return getPercentage_of_witholding(); |
1780 | case TaxationPackage.TAX_CARD__TAX_PAYERS_NAME_SURNAME: | 1687 | case TaxationPackage.TAX_CARD__TAX_PAYERS_NAME_SURNAME: |
@@ -1864,12 +1771,6 @@ public class Tax_CardImpl extends MinimalEObjectImpl.Container implements Tax_Ca | |||
1864 | case TaxationPackage.TAX_CARD__TAX_OFFICE: | 1771 | case TaxationPackage.TAX_CARD__TAX_OFFICE: |
1865 | setTax_office((Tax_Office)newValue); | 1772 | setTax_office((Tax_Office)newValue); |
1866 | return; | 1773 | return; |
1867 | case TaxationPackage.TAX_CARD__VALID_FROM_DATE: | ||
1868 | setValid_from_date((Date)newValue); | ||
1869 | return; | ||
1870 | case TaxationPackage.TAX_CARD__VALID_UNTIL_DATE: | ||
1871 | setValid_until_date((Date)newValue); | ||
1872 | return; | ||
1873 | case TaxationPackage.TAX_CARD__PERCENTAGE_OF_WITHOLDING: | 1774 | case TaxationPackage.TAX_CARD__PERCENTAGE_OF_WITHOLDING: |
1874 | setPercentage_of_witholding((Double)newValue); | 1775 | setPercentage_of_witholding((Double)newValue); |
1875 | return; | 1776 | return; |
@@ -1990,12 +1891,6 @@ public class Tax_CardImpl extends MinimalEObjectImpl.Container implements Tax_Ca | |||
1990 | case TaxationPackage.TAX_CARD__TAX_OFFICE: | 1891 | case TaxationPackage.TAX_CARD__TAX_OFFICE: |
1991 | setTax_office(TAX_OFFICE_EDEFAULT); | 1892 | setTax_office(TAX_OFFICE_EDEFAULT); |
1992 | return; | 1893 | return; |
1993 | case TaxationPackage.TAX_CARD__VALID_FROM_DATE: | ||
1994 | setValid_from_date(VALID_FROM_DATE_EDEFAULT); | ||
1995 | return; | ||
1996 | case TaxationPackage.TAX_CARD__VALID_UNTIL_DATE: | ||
1997 | setValid_until_date(VALID_UNTIL_DATE_EDEFAULT); | ||
1998 | return; | ||
1999 | case TaxationPackage.TAX_CARD__PERCENTAGE_OF_WITHOLDING: | 1894 | case TaxationPackage.TAX_CARD__PERCENTAGE_OF_WITHOLDING: |
2000 | setPercentage_of_witholding(PERCENTAGE_OF_WITHOLDING_EDEFAULT); | 1895 | setPercentage_of_witholding(PERCENTAGE_OF_WITHOLDING_EDEFAULT); |
2001 | return; | 1896 | return; |
@@ -2110,10 +2005,6 @@ public class Tax_CardImpl extends MinimalEObjectImpl.Container implements Tax_Ca | |||
2110 | return tax_card_type != TAX_CARD_TYPE_EDEFAULT; | 2005 | return tax_card_type != TAX_CARD_TYPE_EDEFAULT; |
2111 | case TaxationPackage.TAX_CARD__TAX_OFFICE: | 2006 | case TaxationPackage.TAX_CARD__TAX_OFFICE: |
2112 | return tax_office != TAX_OFFICE_EDEFAULT; | 2007 | return tax_office != TAX_OFFICE_EDEFAULT; |
2113 | case TaxationPackage.TAX_CARD__VALID_FROM_DATE: | ||
2114 | return VALID_FROM_DATE_EDEFAULT == null ? valid_from_date != null : !VALID_FROM_DATE_EDEFAULT.equals(valid_from_date); | ||
2115 | case TaxationPackage.TAX_CARD__VALID_UNTIL_DATE: | ||
2116 | return VALID_UNTIL_DATE_EDEFAULT == null ? valid_until_date != null : !VALID_UNTIL_DATE_EDEFAULT.equals(valid_until_date); | ||
2117 | case TaxationPackage.TAX_CARD__PERCENTAGE_OF_WITHOLDING: | 2008 | case TaxationPackage.TAX_CARD__PERCENTAGE_OF_WITHOLDING: |
2118 | return percentage_of_witholding != PERCENTAGE_OF_WITHOLDING_EDEFAULT; | 2009 | return percentage_of_witholding != PERCENTAGE_OF_WITHOLDING_EDEFAULT; |
2119 | case TaxationPackage.TAX_CARD__TAX_PAYERS_NAME_SURNAME: | 2010 | case TaxationPackage.TAX_CARD__TAX_PAYERS_NAME_SURNAME: |
@@ -2198,10 +2089,6 @@ public class Tax_CardImpl extends MinimalEObjectImpl.Container implements Tax_Ca | |||
2198 | result.append(tax_card_type); | 2089 | result.append(tax_card_type); |
2199 | result.append(", tax_office: "); | 2090 | result.append(", tax_office: "); |
2200 | result.append(tax_office); | 2091 | result.append(tax_office); |
2201 | result.append(", valid_from_date: "); | ||
2202 | result.append(valid_from_date); | ||
2203 | result.append(", valid_until_date: "); | ||
2204 | result.append(valid_until_date); | ||
2205 | result.append(", percentage_of_witholding: "); | 2092 | result.append(", percentage_of_witholding: "); |
2206 | result.append(percentage_of_witholding); | 2093 | result.append(percentage_of_witholding); |
2207 | result.append(", tax_payers_name_surname: "); | 2094 | result.append(", tax_payers_name_surname: "); |
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Tax_PropertyImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Tax_PropertyImpl.java index e1ed46e4..b8bb6ef3 100644 --- a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Tax_PropertyImpl.java +++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Tax_PropertyImpl.java | |||
@@ -5,6 +5,7 @@ package Taxation.impl; | |||
5 | import Taxation.Legal_Union_Record; | 5 | import Taxation.Legal_Union_Record; |
6 | import Taxation.Tax_Property; | 6 | import Taxation.Tax_Property; |
7 | import Taxation.TaxationPackage; | 7 | import Taxation.TaxationPackage; |
8 | |||
8 | import org.eclipse.emf.common.notify.Notification; | 9 | import org.eclipse.emf.common.notify.Notification; |
9 | import org.eclipse.emf.common.notify.NotificationChain; | 10 | import org.eclipse.emf.common.notify.NotificationChain; |
10 | 11 | ||
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Taxation.ecore b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Taxation.ecore deleted file mode 100644 index 7834561d..00000000 --- a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/Taxation.ecore +++ /dev/null | |||
@@ -1,1257 +0,0 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
3 | xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="Taxation" nsURI="http:///TaxCardOld.ecore" nsPrefix="TaxCard"> | ||
4 | <eAnnotations source="http://www.eclipse.org/OCL/Import"> | ||
5 | <details key="ecore" value="http://www.eclipse.org/emf/2002/Ecore"/> | ||
6 | </eAnnotations> | ||
7 | <eClassifiers xsi:type="ecore:EEnum" name="Grantor"> | ||
8 | <eLiterals name="WWW" literal="WWW"/> | ||
9 | <eLiterals name="Employer" value="1" literal="Employer"/> | ||
10 | <eLiterals name="MMM" value="2" literal="MMM"/> | ||
11 | <eLiterals name="UUU" value="3" literal="UUU"/> | ||
12 | <eLiterals name="YYY" value="4" literal="YYY"/> | ||
13 | <eLiterals name="OOO" value="5" literal="OOO"/> | ||
14 | </eClassifiers> | ||
15 | <eClassifiers xsi:type="ecore:EClass" name="Constants" abstract="true"> | ||
16 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="MAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD" | ||
17 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
18 | defaultValueLiteral="3480.0"/> | ||
19 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="MAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE" | ||
20 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
21 | defaultValueLiteral="3600.0"/> | ||
22 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="MINIMUM_SALARY" lowerBound="1" | ||
23 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="1500.0"/> | ||
24 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="FLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION" | ||
25 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
26 | defaultValueLiteral="4500.0"/> | ||
27 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="MAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS" | ||
28 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
29 | defaultValueLiteral="20.0"/> | ||
30 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="MINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS" | ||
31 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
32 | defaultValueLiteral="120.0"/> | ||
33 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC" | ||
34 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
35 | defaultValueLiteral="0.0"/> | ||
36 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE" | ||
37 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
38 | defaultValueLiteral="24000.0"/> | ||
39 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="MAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION" | ||
40 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
41 | defaultValueLiteral="99.0"/> | ||
42 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="MAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION" | ||
43 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
44 | defaultValueLiteral="30.0"/> | ||
45 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="MINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION" | ||
46 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
47 | defaultValueLiteral="4.0"/> | ||
48 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="FLAT_RATE_CIM_DAILY" lowerBound="1" | ||
49 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="2.0"/> | ||
50 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="FLAT_RATE_CIM_MONTHLY" | ||
51 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
52 | defaultValueLiteral="62.0"/> | ||
53 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="FLAT_RATE_CIM_YEARLY" lowerBound="1" | ||
54 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="750.0"/> | ||
55 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="FLAT_RATE_CIP_DAILY" lowerBound="1" | ||
56 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="1.0"/> | ||
57 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="FLAT_RATE_CIP_MONTHLY" | ||
58 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
59 | defaultValueLiteral="25.0"/> | ||
60 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="FLAT_RATE_CIP_YEARLY" lowerBound="1" | ||
61 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="30.0"/> | ||
62 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="FLAT_RATE_CIS_DAILY" lowerBound="1" | ||
63 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="1.0"/> | ||
64 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="FLAT_RATE_CIS_MONTHLY" | ||
65 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
66 | defaultValueLiteral="25.0"/> | ||
67 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="FLAT_RATE_CIS_YEARLY" lowerBound="1" | ||
68 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="300.0"/> | ||
69 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="FLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT" | ||
70 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
71 | defaultValueLiteral="99.0"/> | ||
72 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS" | ||
73 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
74 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE" | ||
75 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
76 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="DISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE" | ||
77 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
78 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE" | ||
79 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
80 | </eClassifiers> | ||
81 | <eClassifiers xsi:type="ecore:EEnum" name="Disability_Types"> | ||
82 | <eLiterals name="beug"/> | ||
83 | <eLiterals name="NONE" value="1"/> | ||
84 | <eLiterals name="A" value="2" literal="A"/> | ||
85 | <eLiterals name="B" value="3" literal="B"/> | ||
86 | <eLiterals name="C" value="4" literal="C"/> | ||
87 | <eLiterals name="D" value="5" literal="D"/> | ||
88 | <eLiterals name="E" value="6" literal="E"/> | ||
89 | <eLiterals name="OTHER" value="7"/> | ||
90 | </eClassifiers> | ||
91 | <eClassifiers xsi:type="ecore:EEnum" name="Country"> | ||
92 | <eLiterals name="ZZ" literal="ZZ"/> | ||
93 | <eLiterals name="FF" value="1" literal="FF"/> | ||
94 | <eLiterals name="BB" value="2" literal="BB"/> | ||
95 | <eLiterals name="DD" value="3" literal="DD"/> | ||
96 | <eLiterals name="NN" value="4" literal="NN"/> | ||
97 | <eLiterals name="OTHER" value="5" literal="OTHER"/> | ||
98 | </eClassifiers> | ||
99 | <eClassifiers xsi:type="ecore:EEnum" name="Tax_Card_Type"> | ||
100 | <eLiterals name="Principal" literal="Principal"/> | ||
101 | <eLiterals name="Additional" value="1" literal="Additional"/> | ||
102 | </eClassifiers> | ||
103 | <eClassifiers xsi:type="ecore:EEnum" name="Tax_Office"> | ||
104 | <eLiterals name="RTS_2" literal="RTS_2"/> | ||
105 | <eLiterals name="RTS_3" value="1" literal="RTS_3"/> | ||
106 | <eLiterals name="RTS_4" value="2" literal="RTS_4"/> | ||
107 | <eLiterals name="RTS_5" value="3" literal="RTS_5"/> | ||
108 | </eClassifiers> | ||
109 | <eClassifiers xsi:type="ecore:EEnum" name="Tax_Class_Category"> | ||
110 | <eLiterals name="One" literal="One"/> | ||
111 | <eLiterals name="One_A" value="1" literal="One_A"/> | ||
112 | <eLiterals name="Two" value="2" literal="Two"/> | ||
113 | </eClassifiers> | ||
114 | <eClassifiers xsi:type="ecore:EEnum" name="Job_Activity"> | ||
115 | <eLiterals name="Salary" literal="Salary"/> | ||
116 | <eLiterals name="Pension" value="1" literal="Pension"/> | ||
117 | <eLiterals name="Annuity" value="2" literal="Annuity"/> | ||
118 | </eClassifiers> | ||
119 | <eClassifiers xsi:type="ecore:EEnum" name="Town"> | ||
120 | <eLiterals name="LL" literal="LL"/> | ||
121 | <eLiterals name="BB" value="1" literal="BB"/> | ||
122 | <eLiterals name="SS" value="2" literal="SS"/> | ||
123 | <eLiterals name="TT" value="3" literal="TT"/> | ||
124 | <eLiterals name="Other" value="4" literal="Other"/> | ||
125 | </eClassifiers> | ||
126 | <eClassifiers xsi:type="ecore:EEnum" name="Type_of_Rate"> | ||
127 | <eLiterals name="REGULAR" literal="REGULAR"/> | ||
128 | <eLiterals name="REAL_COST" value="1" literal="REAL_COST"/> | ||
129 | </eClassifiers> | ||
130 | <eClassifiers xsi:type="ecore:EEnum" name="CE_Type"> | ||
131 | <eLiterals name="INALIDITY_AND_INFIRMITY" literal="INALIDITY_AND_INFIRMITY"/> | ||
132 | <eLiterals name="DEPENDENCE_AND_CARE_EXCLUDING_CHLIDREN_NOT_PART_OF_HOUSEHOLD" | ||
133 | value="1" literal="DEPENDENCE_AND_CARE_EXCLUDING_CHLIDREN_NOT_PART_OF_HOUSEHOLD"/> | ||
134 | <eLiterals name="CARE_FOR_CHILDREN_NOT_BEING_PART_OF_HOUSEHOLD" value="2" literal="CARE_FOR_CHILDREN_NOT_BEING_PART_OF_HOUSEHOLD"/> | ||
135 | </eClassifiers> | ||
136 | <eClassifiers xsi:type="ecore:EEnum" name="Expense_Purpose"> | ||
137 | <eLiterals name="HOUSE_CARE" literal="HOUSE_CARE"/> | ||
138 | <eLiterals name="CHILD_CARE" value="1" literal="CHILD_CARE"/> | ||
139 | <eLiterals name="DEPENDENCE_CARE" value="2" literal="DEPENDENCE_CARE"/> | ||
140 | <eLiterals name="OTHER" value="3" literal="OTHER"/> | ||
141 | <eLiterals name="ALIMONY" value="4"/> | ||
142 | <eLiterals name="RECURRENT_DEPT" value="5"/> | ||
143 | </eClassifiers> | ||
144 | <eClassifiers xsi:type="ecore:EEnum" name="Dependent_Type"> | ||
145 | <eLiterals name="CHILD" literal="CHILD"/> | ||
146 | <eLiterals name="SPOUSE" value="1" literal="SPOUSE"/> | ||
147 | <eLiterals name="RELATIVE" value="2" literal="RELATIVE"/> | ||
148 | <eLiterals name="OTHER_FAMILY_MEMBER" value="3" literal="OTHER_FAMILY_MEMBER"/> | ||
149 | <eLiterals name="NOT_OWN_CHILD" value="4"/> | ||
150 | </eClassifiers> | ||
151 | <eClassifiers xsi:type="ecore:EClass" name="Income_Tax"> | ||
152 | <eStructuralFeatures xsi:type="ecore:EReference" name="taxPayer" lowerBound="1" | ||
153 | eType="#//Tax_Payer"/> | ||
154 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="tax_amount" lowerBound="1" | ||
155 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
156 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="tax_year" lowerBound="1" | ||
157 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> | ||
158 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="id6" ordered="false" lowerBound="1" | ||
159 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" iD="true"/> | ||
160 | </eClassifiers> | ||
161 | <eClassifiers xsi:type="ecore:EClass" name="Tax_Payer" abstract="true" eSuperTypes="#//Physical_Person #//Tax_Case"> | ||
162 | <eAnnotations source="duplicates"> | ||
163 | <contents xsi:type="ecore:EReference" name="expenses" ordered="false" upperBound="-1" | ||
164 | eType="#//Expense" containment="true"> | ||
165 | <eAnnotations source="redefines" references="#//Physical_Person/expenses"/> | ||
166 | </contents> | ||
167 | </eAnnotations> | ||
168 | <eOperations name="is_dependent_part_of_the_household" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> | ||
169 | <eParameters name="IN_dependent" lowerBound="1" eType="#//Dependent"/> | ||
170 | </eOperations> | ||
171 | <eOperations name="number_of_months_of_allowance" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> | ||
172 | <eOperations name="deduction_according_disability_rate" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
173 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
174 | <details key="body" value="if ( self.disability_percentage >= 0.25 and self.disability_percentage < 0.35) then
			150.0
			else if ( self.disability_percentage >= 0.35 and self.disability_percentage < 0.45) then
			225.0
			else if ( self.disability_percentage >=0.45 and self.disability_percentage <0.55) then
			375.0
			else if ( self.disability_percentage >= 0.55 and self.disability_percentage < 0.65 ) then
			450.0
			else if ( self.disability_percentage >= 0.65 and self.disability_percentage < 0.75) then
			525.0
			else if ( self.disability_percentage >=0.75 and self.disability_percentage < 0.85) then
			585.0
			else if ( self.disability_percentage >=0.85 and self.disability_percentage< 0.95) then
			645.0
			else if ( self.disability_percentage >= 0.95 and self.disability_percentage<=1)then
			735.0 else 0.0 endif endif endif endif endif endif endif endif"/> | ||
175 | </eAnnotations> | ||
176 | </eOperations> | ||
177 | <eOperations name="getIsTaxedJointly" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> | ||
178 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
179 | <details key="body" value="let is_married:Boolean = if(self.getLegalUnionRecord(year).oclIsUndefined()) then false else self.getLegalUnionRecord(year).oclIsTypeOf(Marriage_Record) endif in													
/** Description: - **/	
if (is_married) = false then
 let is_in_partnership_relation:Boolean = if(self.getLegalUnionRecord(year).oclIsUndefined()) then false else self.getLegalUnionRecord(year).oclIsTypeOf(Partnership_Record) endif in													
 /** Description: - **/	
 if (is_in_partnership_relation) = false then
 false
 else
 if (is_in_partnership_relation) = true then
 let is_joint_tax_beneficial:Boolean = true in													
 /** Description: - **/	
 if (is_joint_tax_beneficial) = true then
 let is_couple_living_apart:Boolean = false in													
 /** Description: - **/	
 let relation_lasted_for_the_taxation_year:Boolean = true in													
 /** Description: - **/	
 if (relation_lasted_for_the_taxation_year and not is_couple_living_apart) = false then
 false
 else
 if (relation_lasted_for_the_taxation_year and not is_couple_living_apart) = true then
 let are_both_spouses_resident:Boolean = (self.getSpouse(year).oclIsTypeOf(Resident_Tax_Payer) or self.getSpouse(year).oclIsTypeOf(Physical_Person)) and self.oclIsTypeOf(Resident_Tax_Payer) in													
 /** Description: - **/	
 if (are_both_spouses_resident) = true then
 true
 else
 if (are_both_spouses_resident) = false then
 let are_both_spouses_non_resident:Boolean = (self.getSpouse(year).oclIsTypeOf(Non_Resident_Tax_Payer) or self.getSpouse(year).oclIsTypeOf(Physical_Person)) and self.oclIsTypeOf(Non_Resident_Tax_Payer) in													
 /** Description: - **/	
 if (are_both_spouses_non_resident) = false then
 false
 else
 if (are_both_spouses_non_resident) = true then
 let my_incomes_all:Set(Income) = self.incomes->select(i:Income|i.year=year and i.oclIsTypeOf(Local_Income)) 
 	in													
 /** Description: - **/	
 let spouse_incomes_all:Set(Income) = if(self.getSpouse(year).oclIsKindOf(Tax_Payer)) then self.getSpouse(year).oclAsType(Tax_Payer).incomes->select(i:Income|i.year=year and i.oclIsTypeOf(Local_Income)) else OrderedSet{} endif	in													
 let total_household_income:Real = if(my_incomes_all->oclIsInvalid() and spouse_incomes_all->oclIsInvalid()) then 0 else if(my_incomes_all->oclIsInvalid()) then spouse_incomes_all.income_amount->sum() else if(spouse_incomes_all->oclIsInvalid()) then my_incomes_all.income_amount->sum() else my_incomes_all.income_amount->sum() + spouse_incomes_all.income_amount->sum() endif endif endif
 in													
 /** Description: - **/	
 let resident_taxpayer_income:Real = if(self.oclIsTypeOf(Resident_Tax_Payer)) then if(my_incomes_all->oclIsInvalid()) then 0.0 else my_incomes_all.income_amount->sum() endif else if(spouse_incomes_all->oclIsInvalid()) then 0.0 else spouse_incomes_all.income_amount->sum() endif endif in													
 /** Description: - **/	
 let non_resident_taxpayer_in_Belgium:Boolean = false in													
 /** Description: - **/	
 if ((resident_taxpayer_income > total_household_income * 0.9) or (non_resident_taxpayer_in_Belgium and resident_taxpayer_income > total_household_income * 0.5)) = true then
 true
 else
 if ((resident_taxpayer_income > total_household_income * 0.9) or (non_resident_taxpayer_in_Belgium and resident_taxpayer_income > total_household_income * 0.5)) = false then
 false
 else
 invalid
 endif
 endif
 else
 invalid
 endif
 endif
 else
 invalid
 endif
 endif
 else
 invalid
 endif
 endif
 else
 if (is_joint_tax_beneficial) = false then
 false
 else
 invalid
 endif
 endif
 else
 invalid
 endif
 endif
else
 if (is_married) = true then
 let are_both_spouses_resident:Boolean = (self.getSpouse(year).oclIsTypeOf(Resident_Tax_Payer) or self.getSpouse(year).oclIsTypeOf(Physical_Person)) and self.oclIsTypeOf(Resident_Tax_Payer) in													
 /** Description: - **/	
 if (are_both_spouses_resident) = true then
 true
 else
 if (are_both_spouses_resident) = false then
 let are_both_spouses_non_resident:Boolean = (self.getSpouse(year).oclIsTypeOf(Non_Resident_Tax_Payer) or self.getSpouse(year).oclIsTypeOf(Physical_Person)) and self.oclIsTypeOf(Non_Resident_Tax_Payer) in													
 /** Description: - **/	
 if (are_both_spouses_non_resident) = true then
 let my_incomes_all:Set(Income) = self.incomes->select(i:Income|i.year=year and i.oclIsTypeOf(Local_Income)) in													
 /** Description: - **/	
 let spouse_incomes_all:Set(Income) = if(self.getSpouse(year).oclIsKindOf(Tax_Payer)) then self.getSpouse(year).oclAsType(Tax_Payer).incomes->select(i:Income|i.year=year and i.oclIsTypeOf(Local_Income)) else OrderedSet{} endif	in													
 /** Description: - **/	
 let total_household_income:Real = if(my_incomes_all->oclIsInvalid() and spouse_incomes_all->oclIsInvalid()) then 0 else if(my_incomes_all->oclIsInvalid()) then spouse_incomes_all.income_amount->sum() else if(spouse_incomes_all->oclIsInvalid()) then my_incomes_all.income_amount->sum() else my_incomes_all.income_amount->sum() + spouse_incomes_all.income_amount->sum() endif endif endif
 in													
 /** Description: - **/	
 let resident_taxpayer_income:Real = if(self.oclIsTypeOf(Resident_Tax_Payer)) then if(my_incomes_all->oclIsInvalid()) then 0.0 else my_incomes_all.income_amount->sum() endif else if(spouse_incomes_all->oclIsInvalid()) then 0.0 else spouse_incomes_all.income_amount->sum() endif endif in													
 /** Description: - **/	
 let non_resident_taxpayer_in_Belgium:Boolean = false in													
 /** Description: - **/	
 let is_couple_assimilated_to_residents:Boolean = (resident_taxpayer_income > total_household_income * 0.9) or (non_resident_taxpayer_in_Belgium and resident_taxpayer_income > total_household_income * 0.5) in													
 /** Description: - **/	
 if (is_couple_assimilated_to_residents) = true then
 true
 else
 if (is_couple_assimilated_to_residents) = false then
 let is_couple_living_apart:Boolean = false in													
 /** Description: - **/	
 if (is_couple_living_apart) = true then
 false
 else
 if (is_couple_living_apart) = false then
 let my_incomes:Set(Income) = self.incomes->select(i:Income|i.year=year and i.income_type.oclIsKindOf(Employment_Income) and i.oclIsTypeOf(Local_Income)) 	in													
 /** Description: - **/	
 let spouse_incomes:Set(Income) = if(self.getSpouse(year).oclIsKindOf(Tax_Payer)) then self.getSpouse(year).oclAsType(Tax_Payer).incomes->select(i:Income|i.year=year and i.income_type.oclIsKindOf(Employment_Income) and i.oclIsTypeOf(Local_Income)) else OrderedSet{} endif	in													
 /** Description: - **/	
 let both_spouses_have_professional_income:Boolean = if(my_incomes->oclIsInvalid() or spouse_incomes->oclIsInvalid()) then false else my_incomes->size()>0 and spouse_incomes->size()>0 endif in													
 /** Description: - **/	
 if (both_spouses_have_professional_income) = true then
 let local_professional_household_income:Real = self.getProfetionalIncomeHouseholdZZ(year) in													
 /** Description: - **/	
 let total_professional_household_income:Real = self.getProfetionalIncomeHousehold(year) in													
 /** Description: - **/	
 if (local_professional_household_income > total_professional_household_income * 0.5) = false then
 false
 else
 if (local_professional_household_income > total_professional_household_income * 0.5) = true then
 true
 else
 invalid
 endif
 endif
 else
 if (both_spouses_have_professional_income) = false then
 false
 else
 invalid
 endif
 endif
 else
 invalid
 endif
 endif
 else
 invalid
 endif
 endif
 else
 if (are_both_spouses_non_resident) = false then
 let is_couple_living_apart:Boolean = false in													
 /** Description: - **/	
 if (is_couple_living_apart) = true then
 false
 else
 if (is_couple_living_apart) = false then
 let my_incomes:Set(Income) = self.incomes->select(i:Income|i.year=year and i.income_type.oclIsKindOf(Employment_Income) and i.oclIsTypeOf(Local_Income)) 	in													
 /** Description: - **/	
 let spouse_incomes:Set(Income) = if(self.getSpouse(year).oclIsKindOf(Tax_Payer)) then self.getSpouse(year).oclAsType(Tax_Payer).incomes->select(i:Income|i.year=year and i.income_type.oclIsKindOf(Employment_Income) and i.oclIsTypeOf(Local_Income)) else OrderedSet{} endif	in													
 /** Description: - **/	
 let both_spouses_have_professional_income:Boolean = if(my_incomes->oclIsInvalid() or spouse_incomes->oclIsInvalid()) then false else my_incomes->size()>0 and spouse_incomes->size()>0 endif in													
 /** Description: - **/	
 if (both_spouses_have_professional_income) = true then
 let total_professional_household_income:Real = self.getProfetionalIncomeHousehold(year) in													
 /** Description: - **/	
 let professional_income_resident_taxpayer:Real = if(self.oclIsTypeOf(Resident_Tax_Payer)) then if(my_incomes->oclIsInvalid()) then 0.0 else my_incomes.income_amount->sum() endif else if(spouse_incomes->oclIsInvalid()) then 0.0 else spouse_incomes.income_amount->sum() endif endif in													
 /** Description: - **/	
 if (professional_income_resident_taxpayer > total_professional_household_income * 0.9) = false then
 false
 else
 if (professional_income_resident_taxpayer > total_professional_household_income * 0.9) = true then
 true
 else
 invalid
 endif
 endif
 else
 if (both_spouses_have_professional_income) = false then
 false
 else
 invalid
 endif
 endif
 else
 invalid
 endif
 endif
 else
 invalid
 endif
 endif
 else
 invalid
 endif
 endif
 else
 invalid
 endif
endif"/> | ||
180 | </eAnnotations> | ||
181 | <eParameters name="year" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> | ||
182 | </eOperations> | ||
183 | <eOperations name="getIsreceivingAllowancesForChildren" ordered="false" lowerBound="1" | ||
184 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> | ||
185 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
186 | <details key="body" value="let children1:Set(Dependent)=self.dependents->select(dependent_type=Dependent_Type::CHILD) in
			let union:Legal_Union_Record=self.getLegalUnionRecord(year) in
			let house: Household = union.household in
			let children:Set(Dependent)=if (house.oclIsInvalid()) then children1 else children1->union(house.children) endif in
			if(children->size()=0)then
			false
			else		
			let allowances:Boolean=children.allowances->select(starting_year<=year and ending_year=-1 and amount>0)->size()>0in
			if(allowances)then
			true
			else
			false
			endif			
			endif"/> | ||
187 | </eAnnotations> | ||
188 | <eParameters name="year" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> | ||
189 | </eOperations> | ||
190 | <eOperations name="getProfetionalIncomeHousehold" ordered="false" lowerBound="1" | ||
191 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
192 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
193 | <details key="body" value="let spouse:Physical_Person= self.getSpouse(year)in
			let include_spouse:Boolean= if(not spouse.oclIsUndefined()) then spouse.oclIsKindOf(Tax_Payer) else false endif in
			let myIncomes:Set(Income)=self.incomes->select(i:Income|i.year=year and i.income_type.oclIsKindOf(Employment_Income)) in
			let myPart:Real= if(myIncomes->oclIsInvalid())then 0.0 else myIncomes.income_amount->sum() endif in
			
			if(include_spouse=false)then
			myPart
			else
			let herIncomes:Set(Income)=spouse.oclAsType(Tax_Payer).incomes->select(i:Income|i.year=year and i.income_type.oclIsKindOf(Employment_Income)) in
			let herPart:Real=if(herIncomes->oclIsInvalid())then 0.0 else herIncomes.income_amount->sum() endif in
			myPart+herPart
			endif"/> | ||
194 | </eAnnotations> | ||
195 | <eParameters name="year" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> | ||
196 | </eOperations> | ||
197 | <eOperations name="getProfetionalIncomeHouseholdZZ" ordered="false" lowerBound="1" | ||
198 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
199 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
200 | <details key="body" value="let spouse:Physical_Person= self.getSpouse(year)in
			let include_spouse:Boolean= if(not spouse.oclIsUndefined()) then spouse.oclIsKindOf(Tax_Payer) else false endif in
			let myIncomes:Set(Income)=self.incomes->select(i:Income|i.year=year and i.income_type.oclIsKindOf(Employment_Income) and i.oclIsTypeOf(Local_Income)) in
			let myPart:Real=if(myIncomes->oclIsInvalid())then 0.0 else myIncomes.income_amount->sum() endif in
			
			if(include_spouse=false)then
			myPart
			else
			let herIncomes:Set(Income)=spouse.oclAsType(Tax_Payer).incomes->select(i:Income|i.year=year and i.income_type.oclIsKindOf(Employment_Income)and i.oclIsTypeOf(Local_Income)) in
			let herPart:Real=if(herIncomes->oclIsInvalid())then 0.0 else herIncomes.income_amount->sum() endif in
			myPart+herPart
			endif"/> | ||
201 | </eAnnotations> | ||
202 | <eParameters name="year" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> | ||
203 | </eOperations> | ||
204 | <eOperations name="getTaxClass" ordered="false" lowerBound="1" eType="#//Tax_Class_Category"> | ||
205 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
206 | <details key="body" value="let is_resident_taxpayer:Boolean = self.oclIsKindOf(Resident_Tax_Payer) in													
/** Description: Returns yes if a given taxpayer is a resident. - **/	
if (is_resident_taxpayer) = true then
 let is_taxed_jointly:Boolean = self.getIsTaxedJointly(taxation_year) in													
 /** Description: Returns yes if the taxpayer is married or has a partnership contract. - **/	
 if (is_taxed_jointly) = true then
 Tax_Class_Category::Two
 else
 if (is_taxed_jointly) = false then
 let is_divorced:Boolean = self.getSeperationState(taxation_year,Separation_Causes::DIVORCE) in													
 /** Description: Returns yes if the taxpayer is divorced within the selected taxation year. - **/	
 let is_living_separately:Boolean = self.getSeperationState(taxation_year,Separation_Causes::SEPARATION_DE_FAIT) in													
 /** Description: Returns yes if the taxpayer is not cohabiting with his/her spouse. In French: "Separation de fait". - **/	
 let is_living_separately_by_court:Boolean = self.getSeperationState(taxation_year,Separation_Causes::SEPARATION_BY_COURT) in													
 /** Description: Returns yes if the taxpayer has a judicial sentence dismissing him from cohabiting with his/her spouse. In French: "Separation de corps". - **/	
 if (is_divorced or is_living_separately_by_court or (is_living_separately and not is_resident_taxpayer)) = false then
 let is_widower:Boolean = self.is_widower in													
 /** Description: Returns yes if the taxpayer has the statute of widower for the current taxation year. - **/	
 if (is_widower) = true then
 let spouse_death_year:Integer = self.last_start_year_widower in													
 /** Description: Returns the year on which the spouse of the taxpayer past away. - **/	
 if (spouse_death_year <= taxation_year and spouse_death_year >= taxation_year -3) = true then
 Tax_Class_Category::Two
 else
 if (spouse_death_year <= taxation_year and spouse_death_year >= taxation_year -3) = false then
 Tax_Class_Category::One_A
 else
 invalid
 endif
 endif
 else
 if (is_widower) = false then
 let is_reciving_bonus_for_children:Boolean = self.getIsreceivingAllowancesForChildren(taxation_year) in													
 /** Description: Returns yes if the taxpayer is receiving a bonus for children in household. - **/	
 if (is_reciving_bonus_for_children) = true then
 Tax_Class_Category::One_A
 else
 if (is_reciving_bonus_for_children) = false then
 let taxpayer_age:Integer = self.getAge(taxation_year) in													
 /** Description: Returns the age of a given taxpayer. - **/	
 if (taxpayer_age >= 64) = true then
 Tax_Class_Category::One_A
 else
 if (taxpayer_age >= 64) = false then
 Tax_Class_Category::One
 else
 invalid
 endif
 endif
 else
 invalid
 endif
 endif
 else
 invalid
 endif
 endif
 else
 if (is_divorced or is_living_separately_by_court or (is_living_separately and not is_resident_taxpayer)) = true then
 let can_beneficiate_from_transition_state :Boolean = self.getDivorceTransitionState(taxation_year) in													
 /** Description: Returns yes if: (1) the divorce/separation occurred within the last three years from the taxation year, and (2) the taxpayer did has not benefited from a divorce/separation transition state for the last five years from the current taxation year. - **/	
 if (can_beneficiate_from_transition_state ) = false then
 let is_widower:Boolean = self.is_widower in													
 /** Description: Returns yes if the taxpayer has the statute of widower for the current taxation year. - **/	
 if (is_widower) = true then
 let spouse_death_year:Integer = self.last_start_year_widower in													
 /** Description: Returns the year on which the spouse of the taxpayer past away. - **/	
 if (spouse_death_year <= taxation_year and spouse_death_year >= taxation_year -3) = true then
 Tax_Class_Category::Two
 else
 if (spouse_death_year <= taxation_year and spouse_death_year >= taxation_year -3) = false then
 Tax_Class_Category::One_A
 else
 invalid
 endif
 endif
 else
 if (is_widower) = false then
 let is_reciving_bonus_for_children:Boolean = self.getIsreceivingAllowancesForChildren(taxation_year) in													
 /** Description: Returns yes if the taxpayer is receiving a bonus for children in household. - **/	
 if (is_reciving_bonus_for_children) = true then
 Tax_Class_Category::One_A
 else
 if (is_reciving_bonus_for_children) = false then
 let taxpayer_age:Integer = self.getAge(taxation_year) in													
 /** Description: Returns the age of a given taxpayer. - **/	
 if (taxpayer_age >= 64) = true then
 Tax_Class_Category::One_A
 else
 if (taxpayer_age >= 64) = false then
 Tax_Class_Category::One
 else
 invalid
 endif
 endif
 else
 invalid
 endif
 endif
 else
 invalid
 endif
 endif
 else
 if (can_beneficiate_from_transition_state ) = true then
 Tax_Class_Category::Two
 else
 invalid
 endif
 endif
 else
 invalid
 endif
 endif
 else
 invalid
 endif
 endif
else
 if (is_resident_taxpayer) = false then
 let is_married:Boolean = self.getIsMaried(taxation_year) in													
 /** Description: Returns yes if the taxpayer is married. - **/	
 if (is_married) = false then
 let is_taxed_jointly:Boolean = self.getIsTaxedJointly(taxation_year) in													
 /** Description: Returns yes if the taxpayer is married or has a partnership contract. - **/	
 if (is_taxed_jointly) = true then
 Tax_Class_Category::Two
 else
 if (is_taxed_jointly) = false then
 let is_divorced:Boolean = self.getSeperationState(taxation_year,Separation_Causes::DIVORCE) in													
 /** Description: Returns yes if the taxpayer is divorced within the selected taxation year. - **/	
 let is_living_separately:Boolean = self.getSeperationState(taxation_year,Separation_Causes::SEPARATION_DE_FAIT) in													
 /** Description: Returns yes if the taxpayer is not cohabiting with his/her spouse. In French: "Separation de fait". - **/	
 let is_living_separately_by_court:Boolean = self.getSeperationState(taxation_year,Separation_Causes::SEPARATION_BY_COURT) in													
 /** Description: Returns yes if the taxpayer has a judicial sentence dismissing him from cohabiting with his/her spouse. In French: "Separation de corps". - **/	
 if (is_divorced or is_living_separately_by_court or (is_living_separately and not is_resident_taxpayer)) = false then
 let is_widower:Boolean = self.is_widower in													
 /** Description: Returns yes if the taxpayer has the statute of widower for the current taxation year. - **/	
 if (is_widower) = true then
 let spouse_death_year:Integer = self.last_start_year_widower in													
 /** Description: Returns the year on which the spouse of the taxpayer past away. - **/	
 if (spouse_death_year <= taxation_year and spouse_death_year >= taxation_year -3) = true then
 Tax_Class_Category::Two
 else
 if (spouse_death_year <= taxation_year and spouse_death_year >= taxation_year -3) = false then
 Tax_Class_Category::One_A
 else
 invalid
 endif
 endif
 else
 if (is_widower) = false then
 let is_reciving_bonus_for_children:Boolean = self.getIsreceivingAllowancesForChildren(taxation_year) in													
 /** Description: Returns yes if the taxpayer is receiving a bonus for children in household. - **/	
 if (is_reciving_bonus_for_children) = true then
 Tax_Class_Category::One_A
 else
 if (is_reciving_bonus_for_children) = false then
 let taxpayer_age:Integer = self.getAge(taxation_year) in													
 /** Description: Returns the age of a given taxpayer. - **/	
 if (taxpayer_age >= 64) = true then
 Tax_Class_Category::One_A
 else
 if (taxpayer_age >= 64) = false then
 Tax_Class_Category::One
 else
 invalid
 endif
 endif
 else
 invalid
 endif
 endif
 else
 invalid
 endif
 endif
 else
 if (is_divorced or is_living_separately_by_court or (is_living_separately and not is_resident_taxpayer)) = true then
 let can_beneficiate_from_transition_state :Boolean = self.getDivorceTransitionState(taxation_year) in													
 /** Description: Returns yes if: (1) the divorce/separation occurred within the last three years from the taxation year, and (2) the taxpayer did has not benefited from a divorce/separation transition state for the last five years from the current taxation year. - **/	
 if (can_beneficiate_from_transition_state ) = false then
 let is_widower:Boolean = self.is_widower in													
 /** Description: Returns yes if the taxpayer has the statute of widower for the current taxation year. - **/	
 if (is_widower) = true then
 let spouse_death_year:Integer = self.last_start_year_widower in													
 /** Description: Returns the year on which the spouse of the taxpayer past away. - **/	
 if (spouse_death_year <= taxation_year and spouse_death_year >= taxation_year -3) = true then
 Tax_Class_Category::Two
 else
 if (spouse_death_year <= taxation_year and spouse_death_year >= taxation_year -3) = false then
 Tax_Class_Category::One_A
 else
 invalid
 endif
 endif
 else
 if (is_widower) = false then
 let is_reciving_bonus_for_children:Boolean = self.getIsreceivingAllowancesForChildren(taxation_year) in													
 /** Description: Returns yes if the taxpayer is receiving a bonus for children in household. - **/	
 if (is_reciving_bonus_for_children) = true then
 Tax_Class_Category::One_A
 else
 if (is_reciving_bonus_for_children) = false then
 let taxpayer_age:Integer = self.getAge(taxation_year) in													
 /** Description: Returns the age of a given taxpayer. - **/	
 if (taxpayer_age >= 64) = true then
 Tax_Class_Category::One_A
 else
 if (taxpayer_age >= 64) = false then
 Tax_Class_Category::One
 else
 invalid
 endif
 endif
 else
 invalid
 endif
 endif
 else
 invalid
 endif
 endif
 else
 if (can_beneficiate_from_transition_state ) = true then
 Tax_Class_Category::Two
 else
 invalid
 endif
 endif
 else
 invalid
 endif
 endif
 else
 invalid
 endif
 endif
 else
 if (is_married) = true then
 let total_professional_income_household:Real = self.getProfetionalIncomeHousehold(taxation_year) in													
 /** Description: Returns the sum of the taxpayer's household professional incomes. - **/	
 let sum_professional_income_household_ZZ:Real = self.getProfetionalIncomeHouseholdZZ(taxation_year) in													
 /** Description: Returns the sum of the taxpayer's household professional incomes that are taxed in ZZ. - **/	
 if (sum_professional_income_household_ZZ > (0.5 * total_professional_income_household)) = true then
 Tax_Class_Category::Two
 else
 if (sum_professional_income_household_ZZ > (0.5 * total_professional_income_household)) = false then
 Tax_Class_Category::One_A
 else
 invalid
 endif
 endif
 else
 invalid
 endif
 endif
 else
 invalid
 endif
endif"/> | ||
207 | </eAnnotations> | ||
208 | <eParameters name="taxation_year" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> | ||
209 | </eOperations> | ||
210 | <eStructuralFeatures xsi:type="ecore:EReference" name="dependents" ordered="false" | ||
211 | upperBound="-1" eType="#//Dependent" containment="true" eOpposite="#//Dependent/responsible_person"/> | ||
212 | <eStructuralFeatures xsi:type="ecore:EReference" name="from_agent" lowerBound="1" | ||
213 | eType="#//FromAgent" containment="true" eOpposite="#//FromAgent/taxPayer"/> | ||
214 | <eStructuralFeatures xsi:type="ecore:EReference" name="incomes" ordered="false" | ||
215 | lowerBound="1" upperBound="-1" eType="#//Income" containment="true" eOpposite="#//Income/taxPayer"/> | ||
216 | <eStructuralFeatures xsi:type="ecore:EReference" name="from_law" lowerBound="1" | ||
217 | eType="#//FromLaw" containment="true" eOpposite="#//FromLaw/taxPayer"/> | ||
218 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="AEP_deduction" ordered="false" | ||
219 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
220 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="taxesDue" ordered="false" | ||
221 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
222 | </eClassifiers> | ||
223 | <eClassifiers xsi:type="ecore:EClass" name="Physical_Person"> | ||
224 | <eOperations name="is_separated_from" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> | ||
225 | <eParameters name="IN_person" lowerBound="1" eType="#//Physical_Person"/> | ||
226 | </eOperations> | ||
227 | <eOperations name="is_person_affiliated_personnaly_to_social_security" lowerBound="1" | ||
228 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
229 | <eOperations name="getSeperationState" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> | ||
230 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
231 | <details key="body" value="let legel_unions:Set(Legal_Union_Record)=Legal_Union_Record.allInstances()->select(individual_A=self or individual_B=self) in
			
			if(legel_unions->size()=0) then
			false
			else
			let possible_unions:Set(Legal_Union_Record)=legel_unions->select(start_year<=year)in
			let lasted_union:Legal_Union_Record= possible_unions->select(start_year=possible_unions.start_year->max())->any(true) in
			if(lasted_union.end_year=-1)then
			false
			else
			lasted_union.separation_cause=seperation_type
			endif
			endif"/> | ||
232 | </eAnnotations> | ||
233 | <eParameters name="year" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> | ||
234 | <eParameters name="seperation_type" ordered="false" lowerBound="1" eType="#//Separation_Causes"/> | ||
235 | </eOperations> | ||
236 | <eOperations name="getAge" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"> | ||
237 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
238 | <details key="body" value="	if(birth_year>=year )then
			0
			else
			year-birth_year
			endif"/> | ||
239 | </eAnnotations> | ||
240 | <eParameters name="year" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> | ||
241 | </eOperations> | ||
242 | <eOperations name="getIsMaried" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> | ||
243 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
244 | <details key="body" value="	let legel_unions:Set(Legal_Union_Record)=Legal_Union_Record.allInstances()->select( ((individual_A=self or individual_B=self) and oclIsKindOf(Marriage_Record))) in
			
			if(legel_unions->size()=0) then
			false
			else
			let possible_unions:Set(Legal_Union_Record)=legel_unions->select(start_year<=year)in
			let lasted_union:Legal_Union_Record= possible_unions->select(start_year=possible_unions.start_year->max())->any(true) in
			if(lasted_union.end_year=-1)then
			true
			else
			false
			endif
			endif"/> | ||
245 | </eAnnotations> | ||
246 | <eParameters name="year" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> | ||
247 | </eOperations> | ||
248 | <eOperations name="getSeperationYear" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"> | ||
249 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
250 | <details key="body" value="let legel_unions:Set(Legal_Union_Record)=Legal_Union_Record.allInstances()->select(individual_A=self or individual_B=self) in
			
			if(legel_unions->size()=0) then
			-1
			else
			let possible_unions:Set(Legal_Union_Record)=legel_unions->select(start_year<=year)in
			let lasted_union:Legal_Union_Record= possible_unions->select(start_year=possible_unions.start_year->max())->any(true) in
			if(lasted_union.oclIsUndefined()) then
			-1
			else
			if(lasted_union.end_year=-1)then
			-1
			else
			lasted_union.end_year
			endif
			endif
			endif"/> | ||
251 | </eAnnotations> | ||
252 | <eParameters name="year" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> | ||
253 | </eOperations> | ||
254 | <eOperations name="getDivorceTransitionState" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> | ||
255 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
256 | <details key="body" value="let sep_year:Integer=self.getSeperationYear(year) in
			if(sep_year=-1)then
			false
			else
			if( (sep_year <= year and sep_year >= (year -3))=false) then
			false
			else
			let past_sep_year:Integer=self.getSeperationYear(year-5) in
			if(past_sep_year=-1)then
			true
			else
			false
			endif
			endif
			endif"/> | ||
257 | </eAnnotations> | ||
258 | <eParameters name="year" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> | ||
259 | </eOperations> | ||
260 | <eOperations name="getSpouse" ordered="false" lowerBound="1" eType="#//Physical_Person"> | ||
261 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
262 | <details key="body" value="	let legel_unions:Set(Legal_Union_Record)=Legal_Union_Record.allInstances()->select( ((individual_A=self or individual_B=self))) in
			
			if(legel_unions->size()=0) then
			let union:Legal_Union_Record=self.getLegalUnionRecord(year) in 
			if(union.oclIsInvalid())then
			invalid
			else
	 if(union.individual_B=self) then union.individual_A.oclAsType(Physical_Person) else union.individual_B.oclAsType(Physical_Person) endif endif
			else
			let possible_unions:Set(Legal_Union_Record)=legel_unions->select(start_year<=year)in
			let lasted_union:Legal_Union_Record= possible_unions->select(start_year=possible_unions.start_year->max())->any(true) in
			if(lasted_union.end_year=-1)then
			
			if(lasted_union.individual_A=self)then
			lasted_union.individual_B
			else
			lasted_union.individual_A
			endif
			else
			invalid
			endif
			endif"/> | ||
263 | </eAnnotations> | ||
264 | <eParameters name="year" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> | ||
265 | </eOperations> | ||
266 | <eOperations name="getLegalUnionRecord" ordered="false" lowerBound="1" eType="#//Legal_Union_Record"> | ||
267 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
268 | <details key="body" value="let legel_unions:Set(Legal_Union_Record)=Legal_Union_Record.allInstances()->select( ((individual_A=self or individual_B=self))) in
			
			if(legel_unions->size()=0) then
			invalid
			else
			let possible_unions:Set(Legal_Union_Record)=legel_unions->select(start_year<=year)in
			let lasted_union:Legal_Union_Record= possible_unions->select(start_year=possible_unions.start_year->max())->any(true) in
			lasted_union
			endif"/> | ||
269 | </eAnnotations> | ||
270 | <eParameters name="year" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> | ||
271 | </eOperations> | ||
272 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" unique="false" | ||
273 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | ||
274 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="is_assisting_spouse" lowerBound="1" | ||
275 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" derived="true"/> | ||
276 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="SSNo" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" | ||
277 | iD="true"/> | ||
278 | <eStructuralFeatures xsi:type="ecore:EReference" name="addresses" ordered="false" | ||
279 | upperBound="-1" eType="#//Address" eOpposite="#//Address/taxPayer"/> | ||
280 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="birth_year" ordered="false" | ||
281 | unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> | ||
282 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="disability_percentage" | ||
283 | ordered="false" unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
284 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="disability_type" ordered="false" | ||
285 | unique="false" lowerBound="1" eType="#//Disability_Types"/> | ||
286 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="is_affiliated_personnaly_to_social_security" | ||
287 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" | ||
288 | derived="true"/> | ||
289 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="birth_month" ordered="false" | ||
290 | unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> | ||
291 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="birth_day" ordered="false" | ||
292 | unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> | ||
293 | <eStructuralFeatures xsi:type="ecore:EReference" name="expenses" ordered="false" | ||
294 | upperBound="-1" eType="#//Expense" eOpposite="#//Expense/beneficiary"/> | ||
295 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="is_widower" ordered="false" | ||
296 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
297 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="last_start_year_widower" | ||
298 | ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> | ||
299 | </eClassifiers> | ||
300 | <eClassifiers xsi:type="ecore:EClass" name="Address"> | ||
301 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="country" lowerBound="1" | ||
302 | eType="#//Country" defaultValueLiteral="ZZ"/> | ||
303 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="street" lowerBound="1" | ||
304 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | ||
305 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="zipCode" lowerBound="1" | ||
306 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | ||
307 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="city" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | ||
308 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="id2" ordered="false" lowerBound="1" | ||
309 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" iD="true"/> | ||
310 | <eStructuralFeatures xsi:type="ecore:EReference" name="taxPayer" ordered="false" | ||
311 | upperBound="-1" eType="#//Physical_Person" eOpposite="#//Physical_Person/addresses"/> | ||
312 | </eClassifiers> | ||
313 | <eClassifiers xsi:type="ecore:EClass" name="Expense"> | ||
314 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="declared_amount" lowerBound="1" | ||
315 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
316 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="expense_purpose" lowerBound="1" | ||
317 | eType="#//Expense_Purpose" defaultValueLiteral="OTHER"/> | ||
318 | <eStructuralFeatures xsi:type="ecore:EReference" name="dependent" eType="#//Dependent" | ||
319 | eOpposite="#//Dependent/expense"/> | ||
320 | <eStructuralFeatures xsi:type="ecore:EReference" name="from_agent" ordered="false" | ||
321 | eType="#//FromAgent" eOpposite="#//FromAgent/expense"/> | ||
322 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="year_expense_was_incurred_in" | ||
323 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> | ||
324 | <eStructuralFeatures xsi:type="ecore:EReference" name="income" lowerBound="1" | ||
325 | eType="#//Income" eOpposite="#//Income/expenses"/> | ||
326 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="id4" ordered="false" lowerBound="1" | ||
327 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" iD="true"/> | ||
328 | <eStructuralFeatures xsi:type="ecore:EReference" name="beneficiary" ordered="false" | ||
329 | eType="#//Physical_Person" eOpposite="#//Physical_Person/expenses"/> | ||
330 | </eClassifiers> | ||
331 | <eClassifiers xsi:type="ecore:EClass" name="Dependent" eSuperTypes="#//Physical_Person"> | ||
332 | <eOperations name="compute_if_dependent_receives_allowances_eligible_for_CIM" | ||
333 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
334 | <eOperations name="compute_if_dependent_receives_allowances_eligible_for_DS" lowerBound="1" | ||
335 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
336 | <eOperations name="compute_if_dependent_receives_allowances_eligible_for_CE_dependance_and_care" | ||
337 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
338 | <eOperations name="is_dependent_following_continued_studies" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> | ||
339 | <eParameters name="IN_continued_studies" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
340 | </eOperations> | ||
341 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="dependent_type" lowerBound="1" | ||
342 | eType="#//Dependent_Type"/> | ||
343 | <eStructuralFeatures xsi:type="ecore:EReference" name="responsible_person" eType="#//Tax_Payer" | ||
344 | eOpposite="#//Tax_Payer/dependents"/> | ||
345 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="continued_studies" lowerBound="1" | ||
346 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/> | ||
347 | <eStructuralFeatures xsi:type="ecore:EReference" name="allowances" ordered="false" | ||
348 | upperBound="-1" eType="#//External_Allowance" containment="true" eOpposite="#//External_Allowance/person"/> | ||
349 | <eStructuralFeatures xsi:type="ecore:EReference" name="household" ordered="false" | ||
350 | eType="#//Household" eOpposite="#//Household/children"/> | ||
351 | <eStructuralFeatures xsi:type="ecore:EReference" name="from_agent" ordered="false" | ||
352 | eType="#//FromAgent" eOpposite="#//FromAgent/dependent"/> | ||
353 | <eStructuralFeatures xsi:type="ecore:EReference" name="expense" ordered="false" | ||
354 | upperBound="-1" eType="#//Expense" eOpposite="#//Expense/dependent"/> | ||
355 | </eClassifiers> | ||
356 | <eClassifiers xsi:type="ecore:EClass" name="External_Allowance"> | ||
357 | <eOperations name="getAmount" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
358 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
359 | <details key="body" value=" if(dep_age>=6 and dep_age<=11) then
(base + 16.17).round()
 else if (dep_age>=12) then (base + 48.52).round() else 
 if(is_disabled) then(base + 185.60).round() else base endif endif endif"/> | ||
360 | </eAnnotations> | ||
361 | <eParameters name="base" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
362 | <eParameters name="dep_age" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> | ||
363 | <eParameters name="is_disabled" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
364 | </eOperations> | ||
365 | <eOperations name="round_lower_euros" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
366 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
367 | <details key="body" value="let p1:Integer = amount.floor() in
			p1.toString().toReal()"/> | ||
368 | </eAnnotations> | ||
369 | <eParameters name="amount" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
370 | </eOperations> | ||
371 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="amount" lowerBound="1" | ||
372 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
373 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="grantor" lowerBound="1" | ||
374 | eType="#//Grantor"/> | ||
375 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="starting_year" ordered="false" | ||
376 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> | ||
377 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="ending_year" ordered="false" | ||
378 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> | ||
379 | <eStructuralFeatures xsi:type="ecore:EReference" name="reciver" ordered="false" | ||
380 | lowerBound="1" eType="#//Physical_Person"/> | ||
381 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="id5" ordered="false" lowerBound="1" | ||
382 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" iD="true"/> | ||
383 | <eStructuralFeatures xsi:type="ecore:EReference" name="person" ordered="false" | ||
384 | lowerBound="1" eType="#//Dependent" eOpposite="#//Dependent/allowances"/> | ||
385 | </eClassifiers> | ||
386 | <eClassifiers xsi:type="ecore:EClass" name="Household" eSuperTypes="#//Tax_Case"> | ||
387 | <eStructuralFeatures xsi:type="ecore:EReference" name="parents" ordered="false" | ||
388 | lowerBound="1" eType="#//Legal_Union_Record" containment="true" eOpposite="#//Legal_Union_Record/household"/> | ||
389 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="id1" ordered="false" lowerBound="1" | ||
390 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" iD="true"/> | ||
391 | <eStructuralFeatures xsi:type="ecore:EReference" name="children" ordered="false" | ||
392 | upperBound="-1" eType="#//Dependent" containment="true" eOpposite="#//Dependent/household"/> | ||
393 | </eClassifiers> | ||
394 | <eClassifiers xsi:type="ecore:EClass" name="Legal_Union_Record" abstract="true"> | ||
395 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="start_year" lowerBound="1" | ||
396 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> | ||
397 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="end_year" lowerBound="1" | ||
398 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> | ||
399 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="separation_cause" ordered="false" | ||
400 | lowerBound="1" eType="#//Separation_Causes"/> | ||
401 | <eStructuralFeatures xsi:type="ecore:EReference" name="individual_A" ordered="false" | ||
402 | lowerBound="1" eType="#//Physical_Person" containment="true"> | ||
403 | <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> | ||
404 | <details key="body" value="legal_union_A"/> | ||
405 | </eAnnotations> | ||
406 | </eStructuralFeatures> | ||
407 | <eStructuralFeatures xsi:type="ecore:EReference" name="individual_B" ordered="false" | ||
408 | lowerBound="1" eType="#//Physical_Person" containment="true"> | ||
409 | <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> | ||
410 | <details key="body" value="legal_union_B"/> | ||
411 | </eAnnotations> | ||
412 | </eStructuralFeatures> | ||
413 | <eStructuralFeatures xsi:type="ecore:EReference" name="properties" ordered="false" | ||
414 | lowerBound="1" upperBound="-1" eType="#//Tax_Property" containment="true" | ||
415 | eOpposite="#//Tax_Property/union_record"/> | ||
416 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="mutual_agreement" ordered="false" | ||
417 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
418 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="id9" ordered="false" lowerBound="1" | ||
419 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" iD="true"/> | ||
420 | <eStructuralFeatures xsi:type="ecore:EReference" name="household" ordered="false" | ||
421 | lowerBound="1" eType="#//Household" eOpposite="#//Household/parents"/> | ||
422 | </eClassifiers> | ||
423 | <eClassifiers xsi:type="ecore:EEnum" name="Separation_Causes"> | ||
424 | <eLiterals name="NONE"/> | ||
425 | <eLiterals name="DIVORCE" value="1"/> | ||
426 | <eLiterals name="SEPARATION_DE_FAIT" value="2"/> | ||
427 | <eLiterals name="SEPARATION_BY_COURT" value="3"/> | ||
428 | </eClassifiers> | ||
429 | <eClassifiers xsi:type="ecore:EClass" name="Tax_Property"> | ||
430 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="starting_year" ordered="false" | ||
431 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> | ||
432 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="taxed_jointly" ordered="false" | ||
433 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" | ||
434 | defaultValueLiteral="false"/> | ||
435 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="id10" ordered="false" lowerBound="1" | ||
436 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" iD="true"/> | ||
437 | <eStructuralFeatures xsi:type="ecore:EReference" name="union_record" ordered="false" | ||
438 | lowerBound="1" eType="#//Legal_Union_Record" eOpposite="#//Legal_Union_Record/properties"/> | ||
439 | </eClassifiers> | ||
440 | <eClassifiers xsi:type="ecore:EClass" name="Tax_Case" abstract="true" interface="true"/> | ||
441 | <eClassifiers xsi:type="ecore:EClass" name="FromAgent"> | ||
442 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="taxation_year" unique="false" | ||
443 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> | ||
444 | <eStructuralFeatures xsi:type="ecore:EReference" name="taxPayer" lowerBound="1" | ||
445 | eType="#//Tax_Payer" eOpposite="#//Tax_Payer/from_agent"/> | ||
446 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="is_dependent_eligible_for_CE_Not_In_Houshold_Children_Care" | ||
447 | ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
448 | <eStructuralFeatures xsi:type="ecore:EReference" name="expense" ordered="false" | ||
449 | eType="#//Expense" eOpposite="#//Expense/from_agent"/> | ||
450 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="is_eligible_debt" ordered="false" | ||
451 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
452 | <eStructuralFeatures xsi:type="ecore:EReference" name="dependent" ordered="false" | ||
453 | eType="#//Dependent" eOpposite="#//Dependent/from_agent"/> | ||
454 | </eClassifiers> | ||
455 | <eClassifiers xsi:type="ecore:EClass" name="Income" abstract="true"> | ||
456 | <eOperations name="compute_duration_of_contract" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> | ||
457 | <eOperations name="compute_duration_of_contract_within_taxation_year" lowerBound="1" | ||
458 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"> | ||
459 | <eParameters name="IN_date" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/> | ||
460 | </eOperations> | ||
461 | <eOperations name="prorata_worked_months" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"> | ||
462 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
463 | <details key="body" value="self.details->select(is_worked)->size()"/> | ||
464 | </eAnnotations> | ||
465 | </eOperations> | ||
466 | <eOperations name="prorata_worked_days" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"> | ||
467 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
468 | <details key="body" value="let a:Set(Income_Detail)=self.details->select(is_worked) in 
			a.worked_days->sum().mod(25)"/> | ||
469 | </eAnnotations> | ||
470 | </eOperations> | ||
471 | <eOperations name="prorata_period" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
472 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
473 | <details key="body" value="
			let nb_months:Integer=self.prorata_worked_months()in
			let nb_days:Integer=self.prorata_worked_days()in
			 if(nb_months=12) then
			1
			else 
			nb_months/12 + nb_days/300
			endif"/> | ||
474 | </eAnnotations> | ||
475 | </eOperations> | ||
476 | <eOperations name="income_per_day" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
477 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
478 | <details key="body" value="income_per_year()/300"/> | ||
479 | </eAnnotations> | ||
480 | </eOperations> | ||
481 | <eOperations name="income_per_month" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
482 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
483 | <details key="body" value="income_per_year()/12"/> | ||
484 | </eAnnotations> | ||
485 | </eOperations> | ||
486 | <eOperations name="income_per_year" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
487 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
488 | <details key="body" value="			let involved_details:Set(Income_Detail)=self.details->select(i:Income_Detail| i.is_worked=true) in
					involved_details.amount->sum()"/> | ||
489 | </eAnnotations> | ||
490 | </eOperations> | ||
491 | <eOperations name="getDurationInyears" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"> | ||
492 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
493 | <details key="body" value="
			if(self.income_type.oclIsTypeOf(Pensions_and_Annuities_Income)) then 
			if(start_year.oclIsUndefined())then
			-1
			else
			let res:Integer=self.taxPayer.from_agent.taxation_year-start_year in
			if(res<0) then
			0
			else
			res
			endif
			endif
			else
			-1
			endif"/> | ||
494 | </eAnnotations> | ||
495 | </eOperations> | ||
496 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="income_amount" ordered="false" | ||
497 | unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
498 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
499 | <details key="derivation" value="let non_null_amounts:OrderedSet(Income_Detail)=self.details->select(det:Income_Detail|det.amount>0)->asOrderedSet() in
non_null_amounts->collect(amount)->min()"/> | ||
500 | </eAnnotations> | ||
501 | </eStructuralFeatures> | ||
502 | <eStructuralFeatures xsi:type="ecore:EReference" name="income_type" lowerBound="1" | ||
503 | eType="#//Income_Type" containment="true" eOpposite="#//Income_Type/income"/> | ||
504 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="start_date_within_taxation_year" | ||
505 | ordered="false" unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/> | ||
506 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="start_date_of_contract" | ||
507 | ordered="false" unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/> | ||
508 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="end_date_within_taxation_year" | ||
509 | ordered="false" unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/> | ||
510 | <eStructuralFeatures xsi:type="ecore:EReference" name="tax_card" eType="#//Tax_Card" | ||
511 | containment="true" eOpposite="#//Tax_Card/income"/> | ||
512 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="tax_liability" lowerBound="1" | ||
513 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
514 | <eStructuralFeatures xsi:type="ecore:EReference" name="taxPayer" ordered="false" | ||
515 | lowerBound="1" eType="#//Tax_Payer" eOpposite="#//Tax_Payer/incomes"/> | ||
516 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="year" unique="false" lowerBound="1" | ||
517 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> | ||
518 | <eStructuralFeatures xsi:type="ecore:EReference" name="details" lowerBound="12" | ||
519 | upperBound="12" eType="#//Income_Detail" containment="true" eOpposite="#//Income_Detail/income"/> | ||
520 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="num" ordered="false" lowerBound="1" | ||
521 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger" | ||
522 | iD="true"/> | ||
523 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="start_year" ordered="false" | ||
524 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> | ||
525 | <eStructuralFeatures xsi:type="ecore:EReference" name="expenses" ordered="false" | ||
526 | upperBound="-1" eType="#//Expense" containment="true" eOpposite="#//Expense/income"/> | ||
527 | </eClassifiers> | ||
528 | <eClassifiers xsi:type="ecore:EClass" name="Income_Type" abstract="true"> | ||
529 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="subjectToWithholdingTax" | ||
530 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" | ||
531 | derived="true"> | ||
532 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
533 | <details key="derivation" value="
				self.income.tax_card->notEmpty()
				"/> | ||
534 | </eAnnotations> | ||
535 | </eStructuralFeatures> | ||
536 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="id8" ordered="false" lowerBound="1" | ||
537 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" iD="true"/> | ||
538 | <eStructuralFeatures xsi:type="ecore:EReference" name="income" lowerBound="1" | ||
539 | eType="#//Income" eOpposite="#//Income/income_type"/> | ||
540 | </eClassifiers> | ||
541 | <eClassifiers xsi:type="ecore:EClass" name="Tax_Card"> | ||
542 | <eOperations name="getSumDeductionsYear" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
543 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
544 | <details key="body" value="deduction_FO_yearly+deduction_FD_yearly+deduction_CE_invalidity_yearly"/> | ||
545 | </eAnnotations> | ||
546 | </eOperations> | ||
547 | <eOperations name="getSumCreditsYear" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
548 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
549 | <details key="body" value="credit_CIS_yearly+credit_CIP_yearly"/> | ||
550 | </eAnnotations> | ||
551 | </eOperations> | ||
552 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="card_identifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" | ||
553 | iD="true"/> | ||
554 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="tax_card_type" lowerBound="1" | ||
555 | eType="#//Tax_Card_Type" derived="true"> | ||
556 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
557 | <details key="derivation" value="if(self.income.taxPayer.incomes->size()=1) then 
Tax_Card_Type::Principal
	else
		let all_incomes:OrderedSet(Income)=self.income.taxPayer.incomes->select(inc:Income| inc.income_amount= self.income.taxPayer.incomes.income_amount->max())->asOrderedSet() in
		let bigest_income:Income= all_incomes->first() in
			 if(bigest_income=self.income) then
			 	 Tax_Card_Type::Principal
			 else
					Tax_Card_Type::Additional
				endif
endif
				"/> | ||
558 | </eAnnotations> | ||
559 | </eStructuralFeatures> | ||
560 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="tax_office" lowerBound="1" | ||
561 | eType="#//Tax_Office"/> | ||
562 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="valid_from_date" ordered="false" | ||
563 | unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/> | ||
564 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="valid_until_date" ordered="false" | ||
565 | unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/> | ||
566 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="percentage_of_witholding" | ||
567 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
568 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="tax_payers_name_surname" | ||
569 | ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | ||
570 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="tax_payers_partner_name_surname" | ||
571 | ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | ||
572 | <eStructuralFeatures xsi:type="ecore:EReference" name="tax_payers_address" eType="#//Address"/> | ||
573 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="jobs_Employer_SSNo" ordered="false" | ||
574 | unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | ||
575 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="jobs_employers_name" ordered="false" | ||
576 | unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | ||
577 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="jobs_activity_type" lowerBound="1" | ||
578 | eType="#//Job_Activity"/> | ||
579 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="jobs_place_of_work" lowerBound="1" | ||
580 | eType="#//Town"/> | ||
581 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="deduction_FD_daily" ordered="false" | ||
582 | unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
583 | defaultValueLiteral="0.0"/> | ||
584 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="deduction_FD_monthly" ordered="false" | ||
585 | unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
586 | defaultValueLiteral="0.0"/> | ||
587 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="deduction_FD_yearly" unique="false" | ||
588 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
589 | defaultValueLiteral="0.0"/> | ||
590 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="deduction_AC_daily" unique="false" | ||
591 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
592 | defaultValueLiteral="0.0"/> | ||
593 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="deduction_AC_monthly" unique="false" | ||
594 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
595 | defaultValueLiteral="0.0"/> | ||
596 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="deduction_AC_yearly" unique="false" | ||
597 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
598 | defaultValueLiteral="0.0"/> | ||
599 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="deduction_CE_daily" unique="false" | ||
600 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
601 | defaultValueLiteral="0.0"/> | ||
602 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="deduction_CE_monthly" unique="false" | ||
603 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
604 | defaultValueLiteral="0.0"/> | ||
605 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="deduction_CE_yearly" unique="false" | ||
606 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
607 | defaultValueLiteral="0.0"/> | ||
608 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="deduction_CE_invalidity_yearly" | ||
609 | unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
610 | defaultValueLiteral="0.0"/> | ||
611 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="deduction_DS_daily" unique="false" | ||
612 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
613 | defaultValueLiteral="0.0"/> | ||
614 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="deduction_DS_monthly" lowerBound="1" | ||
615 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="0.0"/> | ||
616 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="deduction_DS_yearly" unique="false" | ||
617 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
618 | defaultValueLiteral="0.0"/> | ||
619 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="deduction_FO_daily" unique="false" | ||
620 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
621 | defaultValueLiteral="0.0"/> | ||
622 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="deduction_FO_monthly" unique="false" | ||
623 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
624 | defaultValueLiteral="0.0"/> | ||
625 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="deduction_FO_yearly" unique="false" | ||
626 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
627 | defaultValueLiteral="0.0"/> | ||
628 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="credit_CIS_daily" unique="false" | ||
629 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
630 | defaultValueLiteral="0.0"/> | ||
631 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="credit_CIS_monthly" unique="false" | ||
632 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
633 | defaultValueLiteral="0.0"/> | ||
634 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="credit_CIP_monthly" unique="false" | ||
635 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
636 | defaultValueLiteral="0.0"/> | ||
637 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="credit_CIP_yearly" unique="false" | ||
638 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
639 | defaultValueLiteral="0.0"/> | ||
640 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="credit_CIM_daily" unique="false" | ||
641 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
642 | defaultValueLiteral="0.0"/> | ||
643 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="credit_CIM_monthly" unique="false" | ||
644 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
645 | defaultValueLiteral="0.0"/> | ||
646 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="credit_CIS_yearly" unique="false" | ||
647 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
648 | defaultValueLiteral="0.0"/> | ||
649 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="validity" lowerBound="1" | ||
650 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
651 | <eStructuralFeatures xsi:type="ecore:EReference" name="income_Tax_Credit" ordered="false" | ||
652 | upperBound="-1" eType="#//Income_Tax_Credit" eOpposite="#//Income_Tax_Credit/taxation_Frame"/> | ||
653 | <eStructuralFeatures xsi:type="ecore:EReference" name="previous" eType="#//Tax_Card" | ||
654 | eOpposite="#//Tax_Card/current_tax_card"/> | ||
655 | <eStructuralFeatures xsi:type="ecore:EReference" name="current_tax_card" eType="#//Tax_Card" | ||
656 | eOpposite="#//Tax_Card/previous"/> | ||
657 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="credit_CIM_yearly" ordered="false" | ||
658 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
659 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="deduction_DS_Alimony_yearly" | ||
660 | ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
661 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="deduction_DS_Debt_yearly" | ||
662 | ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
663 | <eStructuralFeatures xsi:type="ecore:EReference" name="income" lowerBound="1" | ||
664 | eType="#//Income" eOpposite="#//Income/tax_card"/> | ||
665 | </eClassifiers> | ||
666 | <eClassifiers xsi:type="ecore:EClass" name="Income_Tax_Credit"> | ||
667 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="grantedBy" lowerBound="1" | ||
668 | eType="#//Grantor"/> | ||
669 | <eStructuralFeatures xsi:type="ecore:EReference" name="taxPayer" eType="#//Tax_Payer"/> | ||
670 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="tax_year" lowerBound="1" | ||
671 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> | ||
672 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="yearly" lowerBound="1" | ||
673 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="300.0"/> | ||
674 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="monthly" lowerBound="1" | ||
675 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="25.0"/> | ||
676 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="daily" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
677 | defaultValueLiteral="1.0"/> | ||
678 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="id7" ordered="false" lowerBound="1" | ||
679 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" iD="true"/> | ||
680 | <eStructuralFeatures xsi:type="ecore:EReference" name="taxation_Frame" eType="#//Tax_Card" | ||
681 | eOpposite="#//Tax_Card/income_Tax_Credit"/> | ||
682 | </eClassifiers> | ||
683 | <eClassifiers xsi:type="ecore:EClass" name="Income_Detail"> | ||
684 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="month" ordered="false" | ||
685 | unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> | ||
686 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="amount" lowerBound="1" | ||
687 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
688 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="is_worked" lowerBound="1" | ||
689 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
690 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="distance" lowerBound="1" | ||
691 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
692 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="worked_days" lowerBound="1" | ||
693 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> | ||
694 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="is_contributing_CNS" ordered="false" | ||
695 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
696 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="is_contributing_pension" | ||
697 | ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
698 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="id5" ordered="false" lowerBound="1" | ||
699 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" iD="true"/> | ||
700 | <eStructuralFeatures xsi:type="ecore:EReference" name="income" lowerBound="1" | ||
701 | eType="#//Income" eOpposite="#//Income/details"/> | ||
702 | </eClassifiers> | ||
703 | <eClassifiers xsi:type="ecore:EClass" name="FromLaw"> | ||
704 | <eOperations name="CE_INVALIDITY_FLAT_RATE_TYPE_E" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
705 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
706 | <details key="body" value="1455.0"/> | ||
707 | </eAnnotations> | ||
708 | </eOperations> | ||
709 | <eOperations name="CIP_MINIMUM_INCOME_MONTH" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
710 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
711 | <details key="body" value="25.0"/> | ||
712 | </eAnnotations> | ||
713 | </eOperations> | ||
714 | <eOperations name="CIP_MINIMUM_INCOME_YEAR" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
715 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
716 | <details key="body" value="300.0"/> | ||
717 | </eAnnotations> | ||
718 | </eOperations> | ||
719 | <eOperations name="FLAT_RATE_CIP_YEARLY" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
720 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
721 | <details key="body" value="300.0"/> | ||
722 | </eAnnotations> | ||
723 | </eOperations> | ||
724 | <eOperations name="FLAT_RATE_PER_UNIT" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
725 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
726 | <details key="body" value="99.0"/> | ||
727 | </eAnnotations> | ||
728 | </eOperations> | ||
729 | <eOperations name="MAXIMUM_DISTANCE_IN_UNITS" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
730 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
731 | <details key="body" value="30.0"/> | ||
732 | </eAnnotations> | ||
733 | </eOperations> | ||
734 | <eOperations name="MINIMUM_DISTANCE_IN_UNITS" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
735 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
736 | <details key="body" value="4.0"/> | ||
737 | </eAnnotations> | ||
738 | </eOperations> | ||
739 | <eOperations name="FLAT_MAXIMUM_FD" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
740 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
741 | <details key="body" value="2574.0"/> | ||
742 | </eAnnotations> | ||
743 | </eOperations> | ||
744 | <eOperations name="CIS_MINIMUM_INCOME_DAY" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
745 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
746 | <details key="body" value="3.12"/> | ||
747 | </eAnnotations> | ||
748 | </eOperations> | ||
749 | <eOperations name="CIS_MINIMUM_INCOME_MONTH" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
750 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
751 | <details key="body" value="78.0"/> | ||
752 | </eAnnotations> | ||
753 | </eOperations> | ||
754 | <eOperations name="CIS_MINIMUM_INCOME_YEAR" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
755 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
756 | <details key="body" value="936.0"/> | ||
757 | </eAnnotations> | ||
758 | </eOperations> | ||
759 | <eOperations name="FLAT_RATE_CIS_DAILY" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
760 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
761 | <details key="body" value="1.0"/> | ||
762 | </eAnnotations> | ||
763 | </eOperations> | ||
764 | <eOperations name="FLAT_RATE_CIS_MONTHLY" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
765 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
766 | <details key="body" value="25.0"/> | ||
767 | </eAnnotations> | ||
768 | </eOperations> | ||
769 | <eOperations name="FLAT_RATE_CIS_YEARLY" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
770 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
771 | <details key="body" value="300.0"/> | ||
772 | </eAnnotations> | ||
773 | </eOperations> | ||
774 | <eOperations name="get_A_for_salary_class_1" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
775 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
776 | <details key="body" value="if(revenu<= 1020) then 0
		else if(revenu <= 1180) then 0.08
		else if(revenu <= 1340) then 0.1
		else if(revenu <= 1500) then 0.12
		else if(revenu <= 1655) then 0.14
		else if(revenu <= 1815) then 0.16
		else if(revenu <= 1975) then 0.18
		else if(revenu <= 2135) then 0.2
		else if(revenu <= 2295) then 0.22
		else if(revenu <= 2450) then 0.24
		else if(revenu <= 2610) then 0.26
		else if(revenu <= 2770) then 0.28
		else if(revenu <= 2930) then 0.3
		else if(revenu <= 3090) then 0.32
		else if(revenu <= 3245) then 0.34
		else if(revenu <= 3405) then 0.36
		else if(revenu <= 3565) then 0.38
		else if(revenu <= 8415) then 0.39
		else 0.4
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
 	 endif"/> | ||
777 | </eAnnotations> | ||
778 | <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
779 | </eOperations> | ||
780 | <eOperations name="get_B_for_salary_class_1" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
781 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
782 | <details key="body" value="if(revenu<= 1020) then 0
		else if(revenu <= 1180) then 81.9
		else if(revenu <= 1340) then 105.555
		else if(revenu <= 1500) then 132.39000
		else if(revenu <= 1655) then 162.405
		else if(revenu <= 1815) then 195.6
		else if(revenu <= 1975) then 231.975
		else if(revenu <= 2135) then 271.53
		else if(revenu <= 2295) then 314.265
		else if(revenu <= 2450) then 360.18
		else if(revenu <= 2610) then 409.275
		else if(revenu <= 2770) then 461.55
		else if(revenu <= 2930) then 517.005
		else if(revenu <= 3090) then 575.64
		else if(revenu <= 3245) then 637.455
		else if(revenu <= 3405) then 702.45
		else if(revenu <= 3565) then 770.625
		else if(revenu <= 8415) then 806.30250 
		else 890.48583
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
 endif"/> | ||
783 | </eAnnotations> | ||
784 | <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
785 | </eOperations> | ||
786 | <eOperations name="get_A_for_salary_class_1A" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
787 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
788 | <details key="body" value="if(revenu<= 1960) then 0
		else if(revenu <= 2065) then 0.12
		else if(revenu <= 2170) then 0.15
		else if(revenu <= 2280) then 0.18
		else if(revenu <= 2385) then 0.21
		else if(revenu <= 2490) then 0.24
		else if(revenu <= 2595) then 0.27
		else if(revenu <= 2700) then 0.3
		else if(revenu <= 2810) then 0.33
		else if(revenu <= 2915) then 0.36
		else if(revenu <= 3020) then 0.39
		else 0.4
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
 endif"/> | ||
789 | </eAnnotations> | ||
790 | <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
791 | </eOperations> | ||
792 | <eOperations name="get_B_for_salary_class_1A" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
793 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
794 | <details key="body" value="if(revenu<= 1960) then 0
		else if(revenu <= 2065) then 235.5
		else if(revenu <= 2170) then 297.555
		else if(revenu <= 2280) then 362.79
		else if(revenu <= 2385) then 431.205
		else if(revenu <= 2490) then 502.8
		else if(revenu <= 2595) then 577.575
		else if(revenu <= 2700) then 655.53
		else if(revenu <= 2810) then 736.665
		else if(revenu <= 2915) then 820.98
		else if(revenu <= 3020) then 908.475
		else 938.7
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
 		endif"/> | ||
795 | </eAnnotations> | ||
796 | <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
797 | </eOperations> | ||
798 | <eOperations name="get_A_for_salary_class_2" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
799 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
800 | <details key="body" value="if(revenu<= 1960) then 0
		else if(revenu <= 2280) then 0.08
		else if(revenu <= 2595) then 0.1
		else if(revenu <= 2915) then 0.12
		else if(revenu <= 3230) then 0.14
		else if(revenu <= 3550) then 0.16
		else if(revenu <= 3870) then 0.18
		else if(revenu <= 4185) then 0.2
		else if(revenu <= 4505) then 0.22
		else if(revenu <= 4820) then 0.24
		else if(revenu <= 5140) then 0.26
		else if(revenu <= 5460) then 0.28
		else if(revenu <= 5775) then 0.3
		else if(revenu <= 6095) then 0.32
		else if(revenu <= 6410) then 0.34
		else if(revenu <= 6730) then 0.36
		else if(revenu <= 7050) then 0.38
		else if(revenu <= 16750) then 0.39
		else 0.4
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
 endif"/> | ||
801 | </eAnnotations> | ||
802 | <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
803 | </eOperations> | ||
804 | <eOperations name="get_B_for_salary_class_2" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
805 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
806 | <details key="body" value="if(revenu<= 1960) then 0
		else if(revenu <= 2280) then 157
		else if(revenu <= 2595) then 202.61
		else if(revenu <= 2915) then 254.58
		else if(revenu <= 3230) then 312.91
		else if(revenu <= 3550) then 377.6
		else if(revenu <= 3870) then 448.65
		else if(revenu <= 4185) then 526.06
		else if(revenu <= 4505) then 609.83
		else if(revenu <= 4820) then 699.96
		else if(revenu <= 5140) then 796.45
		else if(revenu <= 5460) then 899.3
		else if(revenu <= 5775) then 1008.51
		else if(revenu <= 6095) then 1124.08
		else if(revenu <= 6410) then 1246.01
		else if(revenu <= 6730) then 1374.3
		else if(revenu <= 7050) then 1508.95
		else if(revenu <= 16750) then 1579.455
		else 1746.97166
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
 endif"/> | ||
807 | </eAnnotations> | ||
808 | <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
809 | </eOperations> | ||
810 | <eOperations name="get_A_for_pension_class_1" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
811 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
812 | <details key="body" value="if(revenu<= 1000) then 0
		else if(revenu <= 1160) then 0.08
		else if(revenu <= 1320) then 0.1
		else if(revenu <= 1480) then 0.12
		else if(revenu <= 1635) then 0.14
		else if(revenu <= 1795) then 0.16
		else if(revenu <= 1955) then 0.18
		else if(revenu <= 2115) then 0.2
		else if(revenu <= 2275) then 0.22
		else if(revenu <= 2430) then 0.24
		else if(revenu <= 2590) then 0.26
		else if(revenu <= 2750) then 0.28
		else if(revenu <= 2910) then 0.3
		else if(revenu <= 3070) then 0.32
		else if(revenu <= 3225) then 0.34
		else if(revenu <= 3385) then 0.36
		else if(revenu <= 3545) then 0.38
		else if(revenu <= 8395) then 0.39
		else 0.4
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
 endif"/> | ||
813 | </eAnnotations> | ||
814 | <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
815 | </eOperations> | ||
816 | <eOperations name="get_B_for_pension_class_1" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
817 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
818 | <details key="body" value="if(revenu<= 1000) then 0
		else if(revenu <= 1160) then 80.3
		else if(revenu <= 1320) then 103.555
		else if(revenu <= 1480) then 129.99
		else if(revenu <= 1635) then 159.605
		else if(revenu <= 1795) then 192.4
		else if(revenu <= 1955) then 228.375
		else if(revenu <= 2115) then 267.53
		else if(revenu <= 2275) then 309.865
		else if(revenu <= 2430) then 355.38
		else if(revenu <= 2590) then 404.075
		else if(revenu <= 2750) then 455.95
		else if(revenu <= 2910) then 511.005
		else if(revenu <= 3070) then 569.24
		else if(revenu <= 3225) then 630.655
		else if(revenu <= 3385) then 695.25
		else if(revenu <= 3545) then 763.025
		else if(revenu <= 8395) then 798.5025
		else 882.48583	
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
 endif"/> | ||
819 | </eAnnotations> | ||
820 | <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
821 | </eOperations> | ||
822 | <eOperations name="get_A_for_pension_class_1A" ordered="false" lowerBound="1" | ||
823 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
824 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
825 | <details key="body" value="if(revenu<= 1940) then 0
		else if(revenu <= 2045) then 0.12
		else if(revenu <= 2150) then 0.15
		else if(revenu <= 2260) then 0.18
		else if(revenu <= 2365) then 0.21
		else if(revenu <= 2470) then 0.24
		else if(revenu <= 2575) then 0.27
		else if(revenu <= 2680) then 0.3
		else if(revenu <= 2790) then 0.33
		else if(revenu <= 2895) then 0.36
		else if(revenu <= 3000) then 0.39
		else 0.4
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
 endif"/> | ||
826 | </eAnnotations> | ||
827 | <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
828 | </eOperations> | ||
829 | <eOperations name="get_B_for_pension_class_1A" ordered="false" lowerBound="1" | ||
830 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
831 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
832 | <details key="body" value="if(revenu<= 1940) then 0
		else if(revenu <= 2045) then 233.100
		else if(revenu <= 2150) then 294.555
		else if(revenu <= 2260) then 359.190
		else if(revenu <= 2365) then 427.005
		else if(revenu <= 2470) then 498
		else if(revenu <= 2575) then 572.175
		else if(revenu <= 2680) then 649.53
		else if(revenu <= 2790) then 730.065
		else if(revenu <= 2895) then 813.780
		else if(revenu <= 3000) then 900.675
		else 930.700
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
 endif"/> | ||
833 | </eAnnotations> | ||
834 | <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
835 | </eOperations> | ||
836 | <eOperations name="get_A_for_pension_class_2" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
837 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
838 | <details key="body" value="if(revenu<= 1940) then 0
		else if(revenu <= 2260) then 0.08
		else if(revenu <= 2575) then 0.1
		else if(revenu <= 2895) then 0.12
		else if(revenu <= 3210) then 0.14
		else if(revenu <= 3530) then 0.16
		else if(revenu <= 3850) then 0.18
		else if(revenu <= 4165) then 0.2
		else if(revenu <= 4485) then 0.22
		else if(revenu <= 4800) then 0.24
		else if(revenu <= 5120) then 0.26
		else if(revenu <= 5440) then 0.28
		else if(revenu <= 5755) then 0.3
		else if(revenu <= 6075) then 0.32
		else if(revenu <= 6390) then 0.34
		else if(revenu <= 6710) then 0.36
		else if(revenu <= 7030) then 0.38
		else if(revenu <= 16730) then 0.39
		else 0.4
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
 endif"/> | ||
839 | </eAnnotations> | ||
840 | <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
841 | </eOperations> | ||
842 | <eOperations name="get_B_for_pension_class_2" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
843 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
844 | <details key="body" value="if(revenu<= 1940) then 0
		else if(revenu <= 2260) then 155.4
		else if(revenu <= 2575) then 200.61
		else if(revenu <= 2895) then 252.18
		else if(revenu <= 3210) then 310.11
		else if(revenu <= 3530) then 374.4
		else if(revenu <= 3850) then 445.05
		else if(revenu <= 4165) then 522.06
		else if(revenu <= 4485) then 605.43
		else if(revenu <= 4800) then 695.16
		else if(revenu <= 5120) then 791.25
		else if(revenu <= 5440) then 893.7
		else if(revenu <= 5755) then 1002.51
		else if(revenu <= 6075) then 1117.68
		else if(revenu <= 6390) then 1239.21
		else if(revenu <= 6710) then 1367.1
		else if(revenu <= 7030) then 1501.35
		else if(revenu <= 16730) then 1571.655
		else 1738.97166
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
 endif"/> | ||
845 | </eAnnotations> | ||
846 | <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
847 | </eOperations> | ||
848 | <eOperations name="get_A_for_other_yearly_class_1" ordered="false" lowerBound="1" | ||
849 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
850 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
851 | <details key="body" value=" if(revenu<= 11250) then 0
		else if(revenu <= 13150) then 0.08
		else if(revenu <= 15050) then 0.1
		else if(revenu <= 16950) then 0.12
		else if(revenu <= 18850) then 0.14
		else if(revenu <= 20800) then 0.16
		else if(revenu <= 22700) then 0.18
		else if(revenu <= 24600) then 0.2
		else if(revenu <= 26500) then 0.22
		else if(revenu <= 28400) then 0.24
		else if(revenu <= 30300) then 0.26
		else if(revenu <= 32250) then 0.28
		else if(revenu <= 34150) then 0.3
		else if(revenu <= 36050) then 0.32
		else if(revenu <= 37950) then 0.34
		else if(revenu <= 39850) then 0.36
		else if(revenu <= 41750) then 0.38
		else if(revenu <= 100000) then 0.39
		else 0.4
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
 endif"/> | ||
852 | </eAnnotations> | ||
853 | <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
854 | </eOperations> | ||
855 | <eOperations name="get_B_for_other_yearly_class_1" ordered="false" lowerBound="1" | ||
856 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
857 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
858 | <details key="body" value="if(revenu<= 11250) then 0
		else if(revenu <= 13150) then 901.200 
		else if(revenu <= 15050) then 1164.660
		else if(revenu <= 16950) then 1466.280
		else if(revenu <= 18850) then 1806.060
		else if(revenu <= 20800) then 2184
		else if(revenu <= 22700) then 2600.100
		else if(revenu <= 24600) then 3054.360
		else if(revenu <= 26500) then 3546.780 
		else if(revenu <= 28400) then 4077.360
		else if(revenu <= 30300) then 4646.100
		else if(revenu <= 32250) then 5253
		else if(revenu <= 34150) then 5898.060
		else if(revenu <= 36050) then 6581.28
		else if(revenu <= 37950) then 7302.66
		else if(revenu <= 39850) then 8062.2
		else if(revenu <= 41750) then 8859.9
		else if(revenu <= 100000) then 9277.83
		else 10277.83
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
 endif"/> | ||
859 | </eAnnotations> | ||
860 | <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
861 | </eOperations> | ||
862 | <eOperations name="get_A_for_other_yearly_class_1A" ordered="false" lowerBound="1" | ||
863 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
864 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
865 | <details key="body" value="if(revenu<=22500) then 0
		else if(revenu <= 23800) then 0.12
		else if(revenu <= 25050) then 0.15
		else if(revenu <= 26300) then 0.18
		else if(revenu <= 27600) then 0.21
		else if(revenu <= 28850) then 0.24
		else if(revenu <= 30150) then 0.27
		else if(revenu <= 31400) then 0.3
		else if(revenu <= 32700) then 0.33
		else if(revenu <= 33950) then 0.36
		else if(revenu <= 35250) then 0.39
		else 0.4
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
 endif"/> | ||
866 | </eAnnotations> | ||
867 | <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
868 | </eOperations> | ||
869 | <eOperations name="get_B_for_other_yearly_class_1A" ordered="false" lowerBound="1" | ||
870 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
871 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
872 | <details key="body" value="if(revenu<=22500) then 0
		else if(revenu <= 23800) then 2703.600
		else if(revenu <= 25050) then 3417.660
		else if(revenu <= 26300) then 4169.880
		else if(revenu <= 27600) then 4960.260
		else if(revenu <= 28850) then 5788.800
		else if(revenu <= 30150) then 6655.500
		else if(revenu <= 31400) then 7560.360
		else if(revenu <= 32700) then 8503.380
		else if(revenu <= 33950) then 9484.560
		else if(revenu <= 35250) then 10503.900
		else 10856.400
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
 endif"/> | ||
873 | </eAnnotations> | ||
874 | <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
875 | </eOperations> | ||
876 | <eOperations name="get_A_for_other_yearly_class_2" ordered="false" lowerBound="1" | ||
877 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
878 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
879 | <details key="body" value="if(revenu<=22500) then 0
		else if(revenu <= 26300) then 0.08
		else if(revenu <= 30150) then 0.1
		else if(revenu <= 33950) then 0.12
		else if(revenu <= 37750) then 0.14
		else if(revenu <= 41600) then 0.16
		else if(revenu <= 45400) then 0.18
		else if(revenu <= 49200) then 0.2
		else if(revenu <= 53050) then 0.22
		else if(revenu <= 56850) then 0.24
		else if(revenu <= 60650) then 0.26
		else if(revenu <= 64500) then 0.28
		else if(revenu <= 68300) then 0.3
		else if(revenu <= 72100) then 0.32
		else if(revenu <= 75950) then 0.34
		else if(revenu <= 79750) then 0.36
		else if(revenu <= 83550) then 0.38
		else if(revenu <= 200000) then 0.39
		else 0.4
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
 endif"/> | ||
880 | </eAnnotations> | ||
881 | <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
882 | </eOperations> | ||
883 | <eOperations name="get_B_for_other_yearly_class_2" ordered="false" lowerBound="1" | ||
884 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
885 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
886 | <details key="body" value="if(revenu<=22500) then 0
		else if(revenu <= 26300) then 1802.400 
		else if(revenu <= 30150) then 2329.320
		else if(revenu <= 33950) then 2932.560
		else if(revenu <= 37750) then 3612.120
		else if(revenu <= 41600) then 4368.000
		else if(revenu <= 45400) then 5200.200
		else if(revenu <= 49200) then 6108.720
		else if(revenu <= 53050) then 7093.560
		else if(revenu <= 56850) then 8154.720
		else if(revenu <= 60650) then 9292.200
		else if(revenu <= 64500) then 10506.000
		else if(revenu <= 68300) then 11796.120
		else if(revenu <= 72100) then 13162.560
		else if(revenu <= 75950) then 14605.320
		else if(revenu <= 79750) then 16124.400
		else if(revenu <= 83550) then 17719.800
		else if(revenu <= 200000) then 18555.660
		else 20555.660
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
 endif"/> | ||
887 | </eAnnotations> | ||
888 | <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
889 | </eOperations> | ||
890 | <eOperations name="calculate_taxes_per_month" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
891 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
892 | <details key="body" value="if(income_type='Employment') then
			let a:Real = if(classe=Tax_Class_Category::One_A) then get_A_for_salary_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_A_for_salary_class_2(amount) else get_A_for_salary_class_1(amount) endif endif in
			let b:Real = if(classe=Tax_Class_Category::One_A) then get_B_for_salary_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_B_for_salary_class_2(amount) else get_B_for_salary_class_1(amount) endif endif in
		 let res:Real = round_ten_cent(a * amount - b) in
 let max:Real = if(classe=Tax_Class_Category::Two) then 25085 else 12585 endif in
 
		 if(amount<max) then
		 let final_res:Real= round_ten_cent(res*1.07) in
		 if(final_res<1)then
		 0
		 else
		 final_res
		 endif
		 else 
		 let adjustement:Real= if(classe=Tax_Class_Category::One_A) then 81.906 else if(classe=Tax_Class_Category::Two) then 165.74 else 82.87 endif endif in
		 	let final_res:Real= round_ten_cent(res + (res*0.09-adjustement)) in
		 	if(final_res<1)then
		 0
		 else
		 final_res
		 endif
		 endif
		 
		 
			
			else
			if(income_type='Pension') then
			let a:Real = if(classe=Tax_Class_Category::One_A) then get_A_for_pension_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_A_for_pension_class_2(amount) else get_A_for_pension_class_1(amount) endif endif in
			let b:Real = if(classe=Tax_Class_Category::One_A) then get_B_for_pension_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_B_for_pension_class_2(amount) else get_B_for_pension_class_1(amount) endif endif in
		 let res:Real = round_ten_cent(a * amount - b) in
		 let max:Real = if(classe=Tax_Class_Category::Two) then 25065 else 12565 endif in
 
		 if(amount<max) then
		 let final_res:Real= round_ten_cent(res*1.07) in
		 if(final_res<1)then
		 0
		 else
		 final_res
		 endif
		 else 
		 let adjustement:Real= if(classe=Tax_Class_Category::One_A) then 81.906 else if(classe=Tax_Class_Category::Two) then 165.74 else 82.87 endif endif in
		 	let final_res:Real= round_ten_cent(res + (res*0.09-adjustement)) in
		 	if(final_res<1)then
		 0
		 else
		 final_res
		 endif
		 endif	
			else
			-1
			endif
			endif"/> | ||
893 | </eAnnotations> | ||
894 | <eParameters name="amount" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
895 | <eParameters name="classe" ordered="false" lowerBound="1" eType="#//Tax_Class_Category"/> | ||
896 | <eParameters name="income_type" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | ||
897 | </eOperations> | ||
898 | <eOperations name="round_lower_euros" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
899 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
900 | <details key="body" value="let p1:Integer = amount.floor() in
			p1.toString().toReal()"/> | ||
901 | </eAnnotations> | ||
902 | <eParameters name="amount" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
903 | </eOperations> | ||
904 | <eOperations name="round_ten_cent" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
905 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
906 | <details key="body" value="let p1:Integer = amount.floor() in
			if(p1=amount) then
			amount
			else
			let p2_temp:Real = (amount-p1) * 10 in
			let p2:Integer = p2_temp.floor() in
			p1.toString().toReal()+(p2.toString().toReal()/10.0)
			endif"/> | ||
907 | </eAnnotations> | ||
908 | <eParameters name="amount" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
909 | </eOperations> | ||
910 | <eOperations name="get_A_for_salary_yearly_class_1" ordered="false" lowerBound="1" | ||
911 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
912 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
913 | <details key="body" value="if(revenu<= 12250) then 0
		else if(revenu <= 14150) then 0.08
		else if(revenu <= 16100) then 0.1
		else if(revenu <= 18000) then 0.12
		else if(revenu <= 19900) then 0.14
		else if(revenu <= 21800) then 0.16
		else if(revenu <= 23700) then 0.18
		else if(revenu <= 25600) then 0.2
		else if(revenu <= 27500) then 0.22
		else if(revenu <= 29450) then 0.24
		else if(revenu <= 31350) then 0.26
		else if(revenu <= 33250) then 0.28
		else if(revenu <= 35150) then 0.3
		else if(revenu <= 37050) then 0.32
		else if(revenu <= 38950) then 0.34
		else if(revenu <= 40900) then 0.36
		else if(revenu <= 42800) then 0.38
		else if(revenu <= 101000) then 0.39
		else 0.4
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
 endif"/> | ||
914 | </eAnnotations> | ||
915 | <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
916 | </eOperations> | ||
917 | <eOperations name="get_B_for_salary_yearly_class_1" ordered="false" lowerBound="1" | ||
918 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
919 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
920 | <details key="body" value="if(revenu<= 12250) then 0
		else if(revenu <= 14150) then 982.8000
		else if(revenu <= 16100) then 1266.6600
		else if(revenu <= 18000) then 1588.6800
		else if(revenu <= 19900) then 1948.8600
		else if(revenu <= 21800) then 2347.2000
		else if(revenu <= 23700) then 2783.7000
		else if(revenu <= 25600) then 3258.3600
		else if(revenu <= 27500) then 3771.1800
		else if(revenu <= 29450) then 4322.1600
		else if(revenu <= 31350) then 4911.3000
		else if(revenu <= 33250) then 5538.6000
		else if(revenu <= 35150) then 6204.0600
		else if(revenu <= 37050) then 6907.6800
		else if(revenu <= 38950) then 7649.4600
		else if(revenu <= 40900) then 8429.4000
		else if(revenu <= 42800) then 9247.5000
		else if(revenu <= 101000) then 9675.6300
		else 10685.8300
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
 endif"/> | ||
921 | </eAnnotations> | ||
922 | <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
923 | </eOperations> | ||
924 | <eOperations name="get_A_for_salary_yearly_class_1A" ordered="false" lowerBound="1" | ||
925 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
926 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
927 | <details key="body" value="if(revenu<= 23500) then 0
		else if(revenu <= 24800) then 0.12
		else if(revenu <= 26050) then 0.15
		else if(revenu <= 27350) then 0.18
		else if(revenu <= 28600) then 0.21
		else if(revenu <= 29900) then 0.24
		else if(revenu <= 31150) then 0.27
		else if(revenu <= 32450) then 0.3
		else if(revenu <= 33700) then 0.33
		else if(revenu <= 34950) then 0.36
		else if(revenu <= 36250) then 0.39
		else 0.4
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
 endif"/> | ||
928 | </eAnnotations> | ||
929 | <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
930 | </eOperations> | ||
931 | <eOperations name="get_B_for_salary_yearly_class_1A" ordered="false" lowerBound="1" | ||
932 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
933 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
934 | <details key="body" value="if(revenu<= 23500) then 0
		else if(revenu <= 24800) then 2826.0000
		else if(revenu <= 26050) then 3570.6600
		else if(revenu <= 27350) then 4353.4800
		else if(revenu <= 28600) then 5174.4600
		else if(revenu <= 29900) then 6033.6000
		else if(revenu <= 31150) then 6930.9000
		else if(revenu <= 32450) then 7866.3600
		else if(revenu <= 33700) then 8839.9800
		else if(revenu <= 34950) then 9851.7600
		else if(revenu <= 36250) then 10901.7000
		else 11264.4000
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
 endif"/> | ||
935 | </eAnnotations> | ||
936 | <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
937 | </eOperations> | ||
938 | <eOperations name="get_A_for_salary_yearly_class_2" ordered="false" lowerBound="1" | ||
939 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
940 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
941 | <details key="body" value="if(revenu<= 23550) then 0
		else if(revenu <= 27350) then 0.08
		else if(revenu <= 31150) then 0.1
		else if(revenu <= 34950) then 0.12
		else if(revenu <= 38800) then 0.14
		else if(revenu <= 42600) then 0.16
		else if(revenu <= 46400) then 0.18
		else if(revenu <= 50250) then 0.2
		else if(revenu <= 54050) then 0.22
		else if(revenu <= 57850) then 0.24
		else if(revenu <= 61700) then 0.26
		else if(revenu <= 65500) then 0.28
		else if(revenu <= 69300) then 0.3
		else if(revenu <= 73150) then 0.32
		else if(revenu <= 76950) then 0.34
		else if(revenu <= 80750) then 0.36
		else if(revenu <= 84600) then 0.38
		else if(revenu <= 201000) then 0.39
		else 0.4
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
 endif"/> | ||
942 | </eAnnotations> | ||
943 | <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
944 | </eOperations> | ||
945 | <eOperations name="get_B_for_salary_yearly_class_2" ordered="false" lowerBound="1" | ||
946 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
947 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
948 | <details key="body" value=" if(revenu<= 23550) then 0
		else if(revenu <= 27350) then 1884.000
		else if(revenu <= 31150) then 2431.3200
		else if(revenu <= 34950) then 3054.9600
		else if(revenu <= 38800) then 3754.9200
		else if(revenu <= 42600) then 4531.2000
		else if(revenu <= 46400) then 5383.8000
		else if(revenu <= 50250) then 6312.7200
		else if(revenu <= 54050) then 7317.9600
		else if(revenu <= 57850) then 8399.5200
		else if(revenu <= 61700) then 9557.4000
		else if(revenu <= 65500) then 10791.6000
		else if(revenu <= 69300) then 12102.1200
		else if(revenu <= 73150) then 13488.9600
		else if(revenu <= 76950) then 14952.1200
		else if(revenu <= 80750) then 16491.6000
		else if(revenu <= 84600) then 18107.4000
		else if(revenu <= 201000) then 18953.4600
		else 20963.6600
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
 endif"/> | ||
949 | </eAnnotations> | ||
950 | <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
951 | </eOperations> | ||
952 | <eOperations name="get_A_for_pension_yearly_class_1" ordered="false" lowerBound="1" | ||
953 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
954 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
955 | <details key="body" value="if(revenu<= 12000) then 0
		else if(revenu <= 13950) then 0.08
		else if(revenu <= 15850) then 0.1
		else if(revenu <= 17750) then 0.12
		else if(revenu <= 19650) then 0.14
		else if(revenu <= 21550) then 0.16
		else if(revenu <= 23450) then 0.18
		else if(revenu <= 25400) then 0.2
		else if(revenu <= 27300) then 0.22
		else if(revenu <= 29200) then 0.24
		else if(revenu <= 31100) then 0.26
		else if(revenu <= 33000) then 0.28
		else if(revenu <= 34900) then 0.3
		else if(revenu <= 36800) then 0.32
		else if(revenu <= 38750) then 0.34
		else if(revenu <= 40650) then 0.36
		else if(revenu <= 42550) then 0.38
		else if(revenu <= 100750) then 0.39
		else 0.4
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
 endif"/> | ||
956 | </eAnnotations> | ||
957 | <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
958 | </eOperations> | ||
959 | <eOperations name="get_B_for_pension_yearly_class_1" ordered="false" lowerBound="1" | ||
960 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
961 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
962 | <details key="body" value="if(revenu<= 12000) then 0
		else if(revenu <= 13950) then 963.600
		else if(revenu <= 15850) then 1242.660
		else if(revenu <= 17750) then 1559.880
		else if(revenu <= 19650) then 1915.260
		else if(revenu <= 21550) then 2308.800
		else if(revenu <= 23450) then 2740.500
		else if(revenu <= 25400) then 3210.360
		else if(revenu <= 27300) then 3718.380
		else if(revenu <= 29200) then 4264.560
		else if(revenu <= 31100) then 4848.900
		else if(revenu <= 33000) then 5471.400
		else if(revenu <= 34900) then 6132.060
		else if(revenu <= 36800) then 6830.880
		else if(revenu <= 38750) then 7567.860
		else if(revenu <= 40650) then 8343.000
		else if(revenu <= 42550) then 9156.300
		else if(revenu <= 100750) then 9582.030
		else 10589.830
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
 endif"/> | ||
963 | </eAnnotations> | ||
964 | <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
965 | </eOperations> | ||
966 | <eOperations name="get_A_for_pension_yearly_class_1A" ordered="false" lowerBound="1" | ||
967 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
968 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
969 | <details key="body" value="if(revenu<= 23300) then 0
		else if(revenu <= 24550) then 0.12
		else if(revenu <= 25850) then 0.15
		else if(revenu <= 27100) then 0.18
		else if(revenu <= 28350) then 0.21
		else if(revenu <= 29650) then 0.24
		else if(revenu <= 30900) then 0.27
		else if(revenu <= 32200) then 0.3
		else if(revenu <= 33450) then 0.33
		else if(revenu <= 34750) then 0.36
		else if(revenu <= 36000) then 0.39
		else 0.4
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
 endif"/> | ||
970 | </eAnnotations> | ||
971 | <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
972 | </eOperations> | ||
973 | <eOperations name="get_B_for_pension_yearly_class_1A" ordered="false" lowerBound="1" | ||
974 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
975 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
976 | <details key="body" value="if(revenu<= 23300) then 0
		else if(revenu <= 24550) then 2797.200
		else if(revenu <= 25850) then 3534.660
		else if(revenu <= 27100) then 4310.280
		else if(revenu <= 28350) then 5124.060
		else if(revenu <= 29650) then 5976.000
		else if(revenu <= 30900) then 6866.100
		else if(revenu <= 32200) then 7794.360
		else if(revenu <= 33450) then 8760.780
		else if(revenu <= 34750) then 9765.360
		else if(revenu <= 36000) then 10808.100
		else 11168.400
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
 endif"/> | ||
977 | </eAnnotations> | ||
978 | <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
979 | </eOperations> | ||
980 | <eOperations name="get_A_for_pension_yearly_class_2" ordered="false" lowerBound="1" | ||
981 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
982 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
983 | <details key="body" value="if(revenu<= 23300) then 0
		else if(revenu <= 27100) then 0.08
		else if(revenu <= 30900) then 0.1
		else if(revenu <= 34750) then 0.12
		else if(revenu <= 38550) then 0.14
		else if(revenu <= 42350) then 0.16
		else if(revenu <= 46200) then 0.18
		else if(revenu <= 50000) then 0.2
		else if(revenu <= 53800) then 0.22
		else if(revenu <= 57650) then 0.24
		else if(revenu <= 61450) then 0.26
		else if(revenu <= 65250) then 0.28
		else if(revenu <= 69100) then 0.3
		else if(revenu <= 72900) then 0.32
		else if(revenu <= 76700) then 0.34
		else if(revenu <= 80550) then 0.36
		else if(revenu <= 84350) then 0.38
		else if(revenu <= 200750) then 0.39
		else 0.4
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
 endif"/> | ||
984 | </eAnnotations> | ||
985 | <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
986 | </eOperations> | ||
987 | <eOperations name="get_B_for_pension_yearly_class_2" ordered="false" lowerBound="1" | ||
988 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
989 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
990 | <details key="body" value="if(revenu<= 23300) then 0
		else if(revenu <= 27100) then 1864.800
		else if(revenu <= 30900) then 2407.320
		else if(revenu <= 34750) then 3026.160
		else if(revenu <= 38550) then 3721.320
		else if(revenu <= 42350) then 4492.800
		else if(revenu <= 46200) then 5340.600
		else if(revenu <= 50000) then 6264.720
		else if(revenu <= 53800) then 7265.160
		else if(revenu <= 57650) then 8341.920
		else if(revenu <= 61450) then 9495.000
		else if(revenu <= 65250) then 10724.400
		else if(revenu <= 69100) then 12030.120
		else if(revenu <= 72900) then 13412.160
		else if(revenu <= 76700) then 14870.520
		else if(revenu <= 80550) then 16405.200
		else if(revenu <= 84350) then 18016.200
		else if(revenu <= 200750) then 18859.860
		else 20867.660
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
		endif
 endif"/> | ||
991 | </eAnnotations> | ||
992 | <eParameters name="revenu" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
993 | </eOperations> | ||
994 | <eOperations name="calculate_taxes_per_year" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
995 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
996 | <details key="body" value="if(income_type='Employment') then
			let a:Real = if(classe=Tax_Class_Category::One_A) then get_A_for_salary_yearly_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_A_for_salary_yearly_class_2(amount) else get_A_for_salary_yearly_class_1(amount) endif endif in
			let b:Real = if(classe=Tax_Class_Category::One_A) then get_B_for_salary_yearly_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_B_for_salary_yearly_class_2(amount) else get_B_for_salary_yearly_class_1(amount) endif endif in
		 let res:Real = round_lower_euros(a * amount - b) in
 let max:Real = if(classe=Tax_Class_Category::Two) then 301020 else 151020 endif in
 
		 if(amount<max) then
		 let final_res:Real= round_lower_euros(res*1.07) in
		 if(final_res<12)then
		 0
		 else
		 final_res
		 endif
		 else 
		 let adjustement:Real= if(classe=Tax_Class_Category::One_A) then 982.86 else if(classe=Tax_Class_Category::Two) then 1988.88 else 994.44 endif endif in
		 	let final_res:Real= round_lower_euros(res + (res*0.09-adjustement)) in
		 	if(final_res<12)then
		 0
		 else
		 final_res
		 endif
		 endif
		 
		 
			
			else
			if(income_type='Pension') then
			let a:Real = if(classe=Tax_Class_Category::One_A) then get_A_for_pension_yearly_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_A_for_pension_yearly_class_2(amount) else get_A_for_pension_yearly_class_1(amount) endif endif in
			let b:Real = if(classe=Tax_Class_Category::One_A) then get_B_for_pension_yearly_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_B_for_pension_yearly_class_2(amount) else get_B_for_pension_yearly_class_1(amount) endif endif in
		 let res:Real = round_lower_euros(a * amount - b) in
		 let max:Real = if(classe=Tax_Class_Category::Two) then 300780 else 150780 endif in
 
		 if(amount<max) then
		 let final_res:Real= round_lower_euros(res*1.07) in
		 if(final_res<12)then
		 0
		 else
		 final_res
		 endif
		 else 
		 let adjustement:Real= if(classe=Tax_Class_Category::One_A) then 982.86 else if(classe=Tax_Class_Category::Two) then 1988.88 else 994.44 endif endif in
		 	let final_res:Real= round_lower_euros(res + (res*0.09-adjustement)) in
		 	if(final_res<12)then
		 0
		 else
		 final_res
		 endif
	
		 endif
			
			else
			
			let a:Real = if(classe=Tax_Class_Category::One_A) then get_A_for_other_yearly_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_A_for_other_yearly_class_2(amount) else get_A_for_other_yearly_class_1(amount) endif endif in
			let b:Real = if(classe=Tax_Class_Category::One_A) then get_B_for_other_yearly_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_B_for_other_yearly_class_2(amount) else get_B_for_other_yearly_class_1(amount) endif endif in
		 let res:Real = round_lower_euros(a * amount - b) in
 let max:Real = if(classe=Tax_Class_Category::Two) then 300000 else 150000 endif in
 
		 if(amount<max) then
		 let final_res:Real= round_lower_euros(res*1.07) in
		 if(final_res<12)then
		 0
		 else
		 final_res
		 endif
		 else 
		 let adjustement:Real= if(classe=Tax_Class_Category::One_A) then 982.86 else if(classe=Tax_Class_Category::Two) then 1988.88 else 994.44 endif endif in
		 	let final_res:Real= round_lower_euros(res + (res*0.09-adjustement)) in
		 	if(final_res<12)then
		 0
		 else
		 final_res
		 endif 
		 endif 
			endif
			endif"/> | ||
997 | </eAnnotations> | ||
998 | <eParameters name="amount" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
999 | <eParameters name="classe" ordered="false" lowerBound="1" eType="#//Tax_Class_Category"/> | ||
1000 | <eParameters name="income_type" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | ||
1001 | </eOperations> | ||
1002 | <eOperations name="CNS_RATE" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
1003 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
1004 | <details key="body" value="0.0305"/> | ||
1005 | </eAnnotations> | ||
1006 | </eOperations> | ||
1007 | <eOperations name="PENSION_RATE" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
1008 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
1009 | <details key="body" value="0.08"/> | ||
1010 | </eAnnotations> | ||
1011 | </eOperations> | ||
1012 | <eOperations name="round_lower_fifty_euros" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
1013 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
1014 | <details key="body" value="		if(amount<50) then
			0
			else
			if (amount>=50 and amount<100) then
			50.0
			else
			let temp_amount:Real = round_lower_euros(amount) in
			let ch:String=temp_amount.toString()in
			let temp_amount1:Real = temp_amount / 100.0 in
			
			if(temp_amount1.round() = temp_amount1.floor()) then
			temp_amount1.floor() * 100.0
			else
			(temp_amount1.round() * 100.0) - 50
			endif
			endif
			endif"/> | ||
1015 | </eAnnotations> | ||
1016 | <eParameters name="amount" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
1017 | </eOperations> | ||
1018 | <eOperations name="getTaxableIncomePerYear" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
1019 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
1020 | <details key="body" value="let gross_salary_year:Real= income.income_per_year() in
			let type:Income_Type=income.income_type in
			
			if(type.oclIsTypeOf(Employment_Income)) then
			let sum_deductions_year:Real=income.tax_card.getSumDeductionsYear() in
			let part_pension_year:Real= gross_salary_year * income.taxPayer.from_law.PENSION_RATE() in
			let part_CNS_year:Real= gross_salary_year * income.taxPayer.from_law.CNS_RATE() in
			let taxable_income:Real= gross_salary_year- (part_CNS_year + part_pension_year + sum_deductions_year) in 	
			round_lower_fifty_euros(taxable_income)
			
			else
			if(type.oclIsTypeOf(Pensions_and_Annuities_Income))then
			let sum_deductions_year:Real=income.tax_card.getSumDeductionsYear() in
			let taxable_income:Real= gross_salary_year- sum_deductions_year in 	
			round_lower_fifty_euros(taxable_income)
			else
			let details:Set(Income_Detail)= income.details->select(i:Income_Detail|i.is_worked=true) in
			
			let res:Real= details->iterate( elem : Income_Detail; acc : Real = 0 | 
			 	
			 	if(elem.is_contributing_CNS=false and elem.is_contributing_pension=false) then acc + elem.amount 
			 	else
			 	if(elem.is_contributing_CNS=true and elem.is_contributing_pension=true) then
			 	acc+ elem.amount - (elem.amount* income.taxPayer.from_law.PENSION_RATE()) - (elem.amount* income.taxPayer.from_law.CNS_RATE())
			 	else
			 	if(elem.is_contributing_CNS=true)then
			 acc+ elem.amount - (elem.amount* income.taxPayer.from_law.CNS_RATE())
			 	else
			 	acc+ elem.amount - (elem.amount* income.taxPayer.from_law.PENSION_RATE()) 
			 	
			 	endif 
			 	endif 
			 	endif 
		
			 )
		
			in round_lower_fifty_euros(res)
			
			endif
			endif"/> | ||
1021 | </eAnnotations> | ||
1022 | <eParameters name="income" ordered="false" lowerBound="1" eType="#//Income"/> | ||
1023 | </eOperations> | ||
1024 | <eOperations name="precision" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
1025 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
1026 | <details key="body" value="		let ch:String=amount.toString() in
			if(ch.indexOf('.')=-1)then
			amount
			else
			let pos_pt:Integer=ch.indexOf('.') in
			if(pos_pt+degit >=ch.size()) then
			amount 
			else
			let ch1:String=ch.substring(1,pos_pt+degit) in
			ch1.toReal()
			endif
			endif"/> | ||
1027 | </eAnnotations> | ||
1028 | <eParameters name="amount" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
1029 | <eParameters name="degit" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> | ||
1030 | </eOperations> | ||
1031 | <eOperations name="MAXIMUM_RATE_FOR_CE_CHILDREN" ordered="false" lowerBound="1" | ||
1032 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
1033 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
1034 | <details key="body" value="3480.0"/> | ||
1035 | </eAnnotations> | ||
1036 | </eOperations> | ||
1037 | <eOperations name="MINIMUM_LEGAL_SALARY" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
1038 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
1039 | <details key="body" value="1921.03"/> | ||
1040 | </eAnnotations> | ||
1041 | </eOperations> | ||
1042 | <eOperations name="MAXIMUM_FLAT_RATE_FOR_ALIMONY" ordered="false" lowerBound="1" | ||
1043 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
1044 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
1045 | <details key="body" value="			if(year_divorce>1997)then
			if(year <=2007) then
			20400.0
			else
			if(year=2008) then
			21600.0
			else 
			if(year=2009 or year = 2010) then
			23400.0
			else
			24000.0
			endif
			endif
			endif
			else

			if(year <=2007) then
			20400.0
			else
			if(year=2008) then
			21600.0
			else 
			23400.0
			endif
			endif	
			endif"/> | ||
1046 | </eAnnotations> | ||
1047 | <eParameters name="year" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> | ||
1048 | <eParameters name="year_divorce" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> | ||
1049 | </eOperations> | ||
1050 | <eOperations name="AEP_FLAT_RATE" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
1051 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
1052 | <details key="body" value="4500.0"/> | ||
1053 | </eAnnotations> | ||
1054 | </eOperations> | ||
1055 | <eOperations name="calculate_taxes_per_year_mixed" ordered="false" lowerBound="1" | ||
1056 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
1057 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
1058 | <details key="body" value="if(income_type='Employment') then
			let a:Real = if(classe=Tax_Class_Category::One_A) then get_A_for_salary_yearly_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_A_for_salary_yearly_class_2(amount) else get_A_for_salary_yearly_class_1(amount) endif endif in
			let b:Real = if(classe=Tax_Class_Category::One_A) then get_B_for_salary_yearly_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_B_for_salary_yearly_class_2(amount) else get_B_for_salary_yearly_class_1(amount) endif endif in
		 let res:Real = round_lower_euros(a * local_amount - b) in
 let max:Real = if(classe=Tax_Class_Category::Two) then 301020 else 151020 endif in
 
		 if(amount<max) then
		 let final_res:Real= round_lower_euros(res*1.07) in
		 if(final_res<12)then
		 0
		 else
		 final_res
		 endif
		 else 
		 let adjustement:Real= if(classe=Tax_Class_Category::One_A) then 982.86 else if(classe=Tax_Class_Category::Two) then 1988.88 else 994.44 endif endif in
		 	let final_res:Real= round_lower_euros(res + (res*0.09-adjustement)) in
		 	if(final_res<12)then
		 0
		 else
		 final_res
		 endif
		 endif
		 
		 
			
			else
			if(income_type='Pension') then
			let a:Real = if(classe=Tax_Class_Category::One_A) then get_A_for_pension_yearly_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_A_for_pension_yearly_class_2(amount) else get_A_for_pension_yearly_class_1(amount) endif endif in
			let b:Real = if(classe=Tax_Class_Category::One_A) then get_B_for_pension_yearly_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_B_for_pension_yearly_class_2(amount) else get_B_for_pension_yearly_class_1(amount) endif endif in
		 let res:Real = round_lower_euros(a * local_amount - b) in
		 let max:Real = if(classe=Tax_Class_Category::Two) then 300780 else 150780 endif in
 
		 if(amount<max) then
		 let final_res:Real= round_lower_euros(res*1.07) in
		 if(final_res<12)then
		 0
		 else
		 final_res
		 endif
		 else 
		 let adjustement:Real= if(classe=Tax_Class_Category::One_A) then 982.86 else if(classe=Tax_Class_Category::Two) then 1988.88 else 994.44 endif endif in
		 	let final_res:Real= round_lower_euros(res + (res*0.09-adjustement)) in
		 	if(final_res<12)then
		 0
		 else
		 final_res
		 endif
	
		 endif
			
			else
			
			let a:Real = if(classe=Tax_Class_Category::One_A) then get_A_for_other_yearly_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_A_for_other_yearly_class_2(amount) else get_A_for_other_yearly_class_1(amount) endif endif in
			let b:Real = if(classe=Tax_Class_Category::One_A) then get_B_for_other_yearly_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_B_for_other_yearly_class_2(amount) else get_B_for_other_yearly_class_1(amount) endif endif in
		 let res:Real = round_lower_euros(a * local_amount - b) in
 let max:Real = if(classe=Tax_Class_Category::Two) then 300000 else 150000 endif in
 
		 if(amount<max) then
		 let final_res:Real= round_lower_euros(res*1.07) in
		 if(final_res<12)then
		 0
		 else
		 final_res
		 endif
		 else 
		 let adjustement:Real= if(classe=Tax_Class_Category::One_A) then 982.86 else if(classe=Tax_Class_Category::Two) then 1988.88 else 994.44 endif endif in
		 	let final_res:Real= round_lower_euros(res + (res*0.09-adjustement)) in
		 	if(final_res<12)then
		 0
		 else
		 final_res
		 endif 
		 endif 
			endif
			endif"/> | ||
1059 | </eAnnotations> | ||
1060 | <eParameters name="amount" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
1061 | <eParameters name="local_amount" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
1062 | <eParameters name="classe" ordered="false" lowerBound="1" eType="#//Tax_Class_Category"/> | ||
1063 | <eParameters name="income_type" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | ||
1064 | </eOperations> | ||
1065 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" ordered="false" lowerBound="1" | ||
1066 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" iD="true"/> | ||
1067 | <eStructuralFeatures xsi:type="ecore:EReference" name="taxPayer" lowerBound="1" | ||
1068 | eType="#//Tax_Payer" eOpposite="#//Tax_Payer/from_law"/> | ||
1069 | </eClassifiers> | ||
1070 | <eClassifiers xsi:type="ecore:EClass" name="Fiscal_Address" eSuperTypes="#//Address"/> | ||
1071 | <eClassifiers xsi:type="ecore:EClass" name="Habitual_Address" eSuperTypes="#//Address"/> | ||
1072 | <eClassifiers xsi:type="ecore:EClass" name="Marriage_Record" eSuperTypes="#//Legal_Union_Record"/> | ||
1073 | <eClassifiers xsi:type="ecore:EClass" name="Non_Resident_Tax_Payer" eSuperTypes="#//Tax_Payer"> | ||
1074 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="is_assimilated_to_resident" | ||
1075 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" | ||
1076 | defaultValueLiteral="false"/> | ||
1077 | </eClassifiers> | ||
1078 | <eClassifiers xsi:type="ecore:EClass" name="Partnership_Record" eSuperTypes="#//Legal_Union_Record"/> | ||
1079 | <eClassifiers xsi:type="ecore:EClass" name="Resident_Tax_Payer" eSuperTypes="#//Tax_Payer"> | ||
1080 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="test" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" | ||
1081 | derived="true"> | ||
1082 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | ||
1083 | <details key="derivation" value="self.oclAsType(Tax_Payer).from_agent.taxation_year=2014"/> | ||
1084 | </eAnnotations> | ||
1085 | </eStructuralFeatures> | ||
1086 | </eClassifiers> | ||
1087 | <eClassifiers xsi:type="ecore:EClass" name="Trade_and_Business_Income" eSuperTypes="#//Income_Type"/> | ||
1088 | <eClassifiers xsi:type="ecore:EClass" name="Agriculture_and_Forestry_Income" eSuperTypes="#//Income_Type"/> | ||
1089 | <eClassifiers xsi:type="ecore:EClass" name="Pensions_and_Annuities_Income" eSuperTypes="#//Income_Type"> | ||
1090 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="occasional_payement" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" | ||
1091 | defaultValueLiteral="false"/> | ||
1092 | </eClassifiers> | ||
1093 | <eClassifiers xsi:type="ecore:EClass" name="Capital_and_Investments_Income" eSuperTypes="#//Income_Type"/> | ||
1094 | <eClassifiers xsi:type="ecore:EClass" name="Employment_Income" eSuperTypes="#//Income_Type"/> | ||
1095 | <eClassifiers xsi:type="ecore:EClass" name="Rentals_and_Leases_Income" eSuperTypes="#//Income_Type"> | ||
1096 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="is_periodic" lowerBound="1" | ||
1097 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="true"/> | ||
1098 | </eClassifiers> | ||
1099 | <eClassifiers xsi:type="ecore:EClass" name="Foreign_Income" eSuperTypes="#//Income"/> | ||
1100 | <eClassifiers xsi:type="ecore:EClass" name="Local_Income" eSuperTypes="#//Income"/> | ||
1101 | <eClassifiers xsi:type="ecore:EClass" name="CIM" eSuperTypes="#//Income_Tax_Credit"/> | ||
1102 | <eClassifiers xsi:type="ecore:EClass" name="CIP" eSuperTypes="#//Income_Tax_Credit"/> | ||
1103 | <eClassifiers xsi:type="ecore:EClass" name="CIS" eSuperTypes="#//Income_Tax_Credit"/> | ||
1104 | <eClassifiers xsi:type="ecore:EClass" name="FD" eSuperTypes="#//Professional_Expenses_Deduction"> | ||
1105 | <eOperations name="compute_distance_unit_between_home_and_workpalce" lowerBound="1" | ||
1106 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
1107 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="distance_declared_in_january" | ||
1108 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
1109 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="calculated_distance" lowerBound="1" | ||
1110 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" derived="true"/> | ||
1111 | </eClassifiers> | ||
1112 | <eClassifiers xsi:type="ecore:EClass" name="Professional_Expenses_Deduction"/> | ||
1113 | <eClassifiers xsi:type="ecore:EClass" name="FO" eSuperTypes="#//Professional_Expenses_Deduction"> | ||
1114 | <eOperations name="compute_disability_flat_rate" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
1115 | <eOperations name="compute_regular_flat_rate" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
1116 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="rate_type_for_FO" lowerBound="1" | ||
1117 | eType="#//Type_of_Rate" derived="true"/> | ||
1118 | </eClassifiers> | ||
1119 | <eClassifiers xsi:type="ecore:EClass" name="DS_for_Permanent_Expense" eSuperTypes="#//DS"> | ||
1120 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="permanent_expense_category" | ||
1121 | lowerBound="1" eType="#//Category_of_Permanent_Expense"/> | ||
1122 | </eClassifiers> | ||
1123 | <eClassifiers xsi:type="ecore:EClass" name="DS"> | ||
1124 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="maximum_deductible_amount" | ||
1125 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
1126 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="id3" ordered="false" lowerBound="1" | ||
1127 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" iD="true"/> | ||
1128 | </eClassifiers> | ||
1129 | <eClassifiers xsi:type="ecore:EEnum" name="Category_of_Permanent_Expense"> | ||
1130 | <eLiterals name="MISCELLANEOUS_DEBT" literal="MISCELLANEOUS_DEBT"/> | ||
1131 | <eLiterals name="ALIMONY" value="1" literal="ALIMONY"/> | ||
1132 | </eClassifiers> | ||
1133 | <eClassifiers xsi:type="ecore:EClass" name="DS_for_Interest_Expense" eSuperTypes="#//DS"> | ||
1134 | <eOperations name="compute_maximum_deductible_amount" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
1135 | <eParameters name="IN_children_with_allowances" ordered="false" upperBound="-1" | ||
1136 | eType="#//Dependent"/> | ||
1137 | <eParameters name="IN_legal_union" ordered="false" upperBound="-1" eType="#//Legal_Union_Record"/> | ||
1138 | </eOperations> | ||
1139 | </eClassifiers> | ||
1140 | <eClassifiers xsi:type="ecore:EClass" name="DS_for_Health_and_Pension_Insurance" | ||
1141 | eSuperTypes="#//DS"> | ||
1142 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="insurance_category" lowerBound="1" | ||
1143 | eType="#//Category_of_Health_and_Pension_Insurances"/> | ||
1144 | </eClassifiers> | ||
1145 | <eClassifiers xsi:type="ecore:EEnum" name="Category_of_Health_and_Pension_Insurances"> | ||
1146 | <eLiterals name="MANDATORY_HEALTH_AND_PENSION_INSURANCE" literal="MANDATORY_HEALTH_AND_PENSION_INSURANCE"/> | ||
1147 | <eLiterals name="ADDITIONAL_EMPLOYERS_PENSION_INSURANCE" value="1" literal="ADDITIONAL_EMPLOYERS_PENSION_INSURANCE"/> | ||
1148 | <eLiterals name="CONTINUED_HEALTH_AND_PENSION_INSURANCE" value="2" literal="CONTINUED_HEALTH_AND_PENSION_INSURANCE"/> | ||
1149 | </eClassifiers> | ||
1150 | <eClassifiers xsi:type="ecore:EClass" name="DS_for_Private_Insurance_and_Plan" eSuperTypes="#//DS"> | ||
1151 | <eOperations name="compute_increase_for_life_insurance" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
1152 | <eOperations name="compute_maximum_deductible_amount_for_private_insruance" lowerBound="1" | ||
1153 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
1154 | <eOperations name="compute_maximum_deductible_amount_for_old_age_pension_plan" | ||
1155 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
1156 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="private_insurance_and_plan_category" | ||
1157 | lowerBound="1" eType="#//Category_of_Private_Insurance_and_Plan"/> | ||
1158 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="increase_for_life_insurance" | ||
1159 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
1160 | derived="true"/> | ||
1161 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="maximum_deductible_amount_for_private_insurance" | ||
1162 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
1163 | derived="true"/> | ||
1164 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="maximum_deductible_amount_for_old_age_pension_plan" | ||
1165 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
1166 | derived="true"/> | ||
1167 | </eClassifiers> | ||
1168 | <eClassifiers xsi:type="ecore:EEnum" name="Category_of_Private_Insurance_and_Plan"> | ||
1169 | <eLiterals name="PRIVATE_INSURANCE" literal="PRIVATE_INSURANCE"/> | ||
1170 | <eLiterals name="PRIVATE_LIFE_INSURANCE" value="1" literal="PRIVATE_LIFE_INSURANCE"/> | ||
1171 | <eLiterals name="COMPANY_MEMBERS_PRIVATE_INSURANCE" value="2" literal="COMPANY_MEMBERS_PRIVATE_INSURANCE"/> | ||
1172 | <eLiterals name="HOUSING_SAVING_PLAN" value="3" literal="HOUSING_SAVING_PLAN"/> | ||
1173 | <eLiterals name="OLD_AGE_PENSION_PLAN" value="4" literal="OLD_AGE_PENSION_PLAN"/> | ||
1174 | </eClassifiers> | ||
1175 | <eClassifiers xsi:type="ecore:EClass" name="DS_for_Loss_Carryforward" eSuperTypes="#//DS"/> | ||
1176 | <eClassifiers xsi:type="ecore:EClass" name="DS_for_Donation" eSuperTypes="#//DS"/> | ||
1177 | <eClassifiers xsi:type="ecore:EClass" name="Permanent_Expense" eSuperTypes="#//Special_Expense_DS"> | ||
1178 | <eOperations name="is_expense_eligible_for_deduction" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> | ||
1179 | <eParameters name="IN_agent_response" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
1180 | </eOperations> | ||
1181 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="category" lowerBound="1" | ||
1182 | eType="#//Category_of_Permanent_Expense"/> | ||
1183 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="is_eligible_for_deduction" | ||
1184 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" | ||
1185 | defaultValueLiteral="false" derived="true"/> | ||
1186 | </eClassifiers> | ||
1187 | <eClassifiers xsi:type="ecore:EClass" name="Special_Expense_DS" eSuperTypes="#//Expense"/> | ||
1188 | <eClassifiers xsi:type="ecore:EClass" name="Interest_Expense" eSuperTypes="#//Special_Expense_DS"/> | ||
1189 | <eClassifiers xsi:type="ecore:EClass" name="Private_Insurance_and_Plan" eSuperTypes="#//Special_Expense_DS"> | ||
1190 | <eOperations name="is_private_insurance_and_plan_eligible_for_deduction" lowerBound="1" | ||
1191 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
1192 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="category" lowerBound="1" | ||
1193 | eType="#//Category_of_Private_Insurance_and_Plan"/> | ||
1194 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="duration_of_contract" lowerBound="1" | ||
1195 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> | ||
1196 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="is_private_insurance_and_plan_eligible_for_deduction" | ||
1197 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" | ||
1198 | defaultValueLiteral="false" derived="true"/> | ||
1199 | </eClassifiers> | ||
1200 | <eClassifiers xsi:type="ecore:EClass" name="Health_and_Pension_Insurance" eSuperTypes="#//Special_Expense_DS"> | ||
1201 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="category" lowerBound="1" | ||
1202 | eType="#//Category_of_Health_and_Pension_Insurances"/> | ||
1203 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="is_related_to_additional_salary" | ||
1204 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" | ||
1205 | defaultValueLiteral="false"/> | ||
1206 | </eClassifiers> | ||
1207 | <eClassifiers xsi:type="ecore:EClass" name="Donation" eSuperTypes="#//Special_Expense_DS"> | ||
1208 | <eOperations name="get_beneficiary_eligibility_for_deduction" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
1209 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="beneficiary1" lowerBound="1" | ||
1210 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | ||
1211 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="is_beneficiary_eligible" | ||
1212 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" | ||
1213 | defaultValueLiteral="false" derived="true"/> | ||
1214 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="is_donation_reported" lowerBound="1" | ||
1215 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
1216 | </eClassifiers> | ||
1217 | <eClassifiers xsi:type="ecore:EClass" name="Loss_Carryforward" eSuperTypes="#//Special_Expense_DS"> | ||
1218 | <eOperations name="is_accountability_regular" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
1219 | <eOperations name="is_compensated_by_other_means" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
1220 | <eOperations name="has_been_tax_payer_partner_in_business" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
1221 | <eOperations name="has_tax_payer_inherited_business_ownership" lowerBound="1" | ||
1222 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
1223 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="regular_accountability" | ||
1224 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" | ||
1225 | derived="true"/> | ||
1226 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="compensation_by_other_means" | ||
1227 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" | ||
1228 | derived="true"/> | ||
1229 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="tax_payer_has_inherited_business_ownership" | ||
1230 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" | ||
1231 | defaultValueLiteral="false" derived="true"/> | ||
1232 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="tax_payer_has_been_partner_in_business" | ||
1233 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" | ||
1234 | defaultValueLiteral="true" derived="true"/> | ||
1235 | </eClassifiers> | ||
1236 | <eClassifiers xsi:type="ecore:EClass" name="Spousal_Expense_AC" eSuperTypes="#//Expense"/> | ||
1237 | <eClassifiers xsi:type="ecore:EClass" name="Extraordinary_Expense_CE" eSuperTypes="#//Expense"> | ||
1238 | <eOperations name="is_above_thresholded_deduction_percentage_for_CE" lowerBound="1" | ||
1239 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
1240 | <eOperations name="compute_thresholded_deduction_percentage_for_CE" lowerBound="1" | ||
1241 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"> | ||
1242 | <eParameters name="IN_thresholded_deduction_percentage" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
1243 | </eOperations> | ||
1244 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="thresholded_deduction_percentage" | ||
1245 | lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | ||
1246 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="ce_type" lowerBound="1" | ||
1247 | eType="#//CE_Type"/> | ||
1248 | </eClassifiers> | ||
1249 | <eClassifiers xsi:type="ecore:EClass" name="Travel_Expense_FD" eSuperTypes="#//Professional_Expense"/> | ||
1250 | <eClassifiers xsi:type="ecore:EClass" name="Professional_Expense" eSuperTypes="#//Expense"/> | ||
1251 | <eClassifiers xsi:type="ecore:EClass" name="Miscellaneous_Expense_FO" eSuperTypes="#//Professional_Expense"/> | ||
1252 | <eClassifiers xsi:type="ecore:EEnum" name="Legal_Union_Types"> | ||
1253 | <eLiterals name="MARIAGE"/> | ||
1254 | <eLiterals name="PARTNERSHIP" value="1"/> | ||
1255 | <eLiterals name="OTHER" value="2"/> | ||
1256 | </eClassifiers> | ||
1257 | </ecore:EPackage> | ||
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/TaxationPackageImpl.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/TaxationPackageImpl.java index 61f42b3e..a174a065 100644 --- a/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/TaxationPackageImpl.java +++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.model/src/Taxation/impl/TaxationPackageImpl.java | |||
@@ -73,6 +73,7 @@ import Taxation.Town; | |||
73 | import Taxation.Trade_and_Business_Income; | 73 | import Taxation.Trade_and_Business_Income; |
74 | import Taxation.Travel_Expense_FD; | 74 | import Taxation.Travel_Expense_FD; |
75 | import Taxation.Type_of_Rate; | 75 | import Taxation.Type_of_Rate; |
76 | |||
76 | import org.eclipse.emf.ecore.EAttribute; | 77 | import org.eclipse.emf.ecore.EAttribute; |
77 | import org.eclipse.emf.ecore.EClass; | 78 | import org.eclipse.emf.ecore.EClass; |
78 | import org.eclipse.emf.ecore.EEnum; | 79 | import org.eclipse.emf.ecore.EEnum; |
@@ -1170,16 +1171,6 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
1170 | * @generated | 1171 | * @generated |
1171 | */ | 1172 | */ |
1172 | @Override | 1173 | @Override |
1173 | public EReference getPhysical_Person_Owns_Address() { | ||
1174 | return (EReference)physical_PersonEClass.getEStructuralFeatures().get(11); | ||
1175 | } | ||
1176 | |||
1177 | /** | ||
1178 | * <!-- begin-user-doc --> | ||
1179 | * <!-- end-user-doc --> | ||
1180 | * @generated | ||
1181 | */ | ||
1182 | @Override | ||
1183 | public EClass getAddress() { | 1174 | public EClass getAddress() { |
1184 | return addressEClass; | 1175 | return addressEClass; |
1185 | } | 1176 | } |
@@ -1770,38 +1761,8 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
1770 | * @generated | 1761 | * @generated |
1771 | */ | 1762 | */ |
1772 | @Override | 1763 | @Override |
1773 | public EAttribute getIncome_Start_date_within_taxation_year() { | ||
1774 | return (EAttribute)incomeEClass.getEStructuralFeatures().get(2); | ||
1775 | } | ||
1776 | |||
1777 | /** | ||
1778 | * <!-- begin-user-doc --> | ||
1779 | * <!-- end-user-doc --> | ||
1780 | * @generated | ||
1781 | */ | ||
1782 | @Override | ||
1783 | public EAttribute getIncome_Start_date_of_contract() { | ||
1784 | return (EAttribute)incomeEClass.getEStructuralFeatures().get(3); | ||
1785 | } | ||
1786 | |||
1787 | /** | ||
1788 | * <!-- begin-user-doc --> | ||
1789 | * <!-- end-user-doc --> | ||
1790 | * @generated | ||
1791 | */ | ||
1792 | @Override | ||
1793 | public EAttribute getIncome_End_date_within_taxation_year() { | ||
1794 | return (EAttribute)incomeEClass.getEStructuralFeatures().get(4); | ||
1795 | } | ||
1796 | |||
1797 | /** | ||
1798 | * <!-- begin-user-doc --> | ||
1799 | * <!-- end-user-doc --> | ||
1800 | * @generated | ||
1801 | */ | ||
1802 | @Override | ||
1803 | public EReference getIncome_Tax_card() { | 1764 | public EReference getIncome_Tax_card() { |
1804 | return (EReference)incomeEClass.getEStructuralFeatures().get(5); | 1765 | return (EReference)incomeEClass.getEStructuralFeatures().get(2); |
1805 | } | 1766 | } |
1806 | 1767 | ||
1807 | /** | 1768 | /** |
@@ -1811,7 +1772,7 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
1811 | */ | 1772 | */ |
1812 | @Override | 1773 | @Override |
1813 | public EAttribute getIncome_Tax_liability() { | 1774 | public EAttribute getIncome_Tax_liability() { |
1814 | return (EAttribute)incomeEClass.getEStructuralFeatures().get(6); | 1775 | return (EAttribute)incomeEClass.getEStructuralFeatures().get(3); |
1815 | } | 1776 | } |
1816 | 1777 | ||
1817 | /** | 1778 | /** |
@@ -1821,7 +1782,7 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
1821 | */ | 1782 | */ |
1822 | @Override | 1783 | @Override |
1823 | public EReference getIncome_TaxPayer() { | 1784 | public EReference getIncome_TaxPayer() { |
1824 | return (EReference)incomeEClass.getEStructuralFeatures().get(7); | 1785 | return (EReference)incomeEClass.getEStructuralFeatures().get(4); |
1825 | } | 1786 | } |
1826 | 1787 | ||
1827 | /** | 1788 | /** |
@@ -1831,7 +1792,7 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
1831 | */ | 1792 | */ |
1832 | @Override | 1793 | @Override |
1833 | public EReference getIncome_Details() { | 1794 | public EReference getIncome_Details() { |
1834 | return (EReference)incomeEClass.getEStructuralFeatures().get(8); | 1795 | return (EReference)incomeEClass.getEStructuralFeatures().get(5); |
1835 | } | 1796 | } |
1836 | 1797 | ||
1837 | /** | 1798 | /** |
@@ -1841,7 +1802,7 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
1841 | */ | 1802 | */ |
1842 | @Override | 1803 | @Override |
1843 | public EAttribute getIncome_Num() { | 1804 | public EAttribute getIncome_Num() { |
1844 | return (EAttribute)incomeEClass.getEStructuralFeatures().get(9); | 1805 | return (EAttribute)incomeEClass.getEStructuralFeatures().get(6); |
1845 | } | 1806 | } |
1846 | 1807 | ||
1847 | /** | 1808 | /** |
@@ -1851,7 +1812,7 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
1851 | */ | 1812 | */ |
1852 | @Override | 1813 | @Override |
1853 | public EReference getIncome_Expenses() { | 1814 | public EReference getIncome_Expenses() { |
1854 | return (EReference)incomeEClass.getEStructuralFeatures().get(10); | 1815 | return (EReference)incomeEClass.getEStructuralFeatures().get(7); |
1855 | } | 1816 | } |
1856 | 1817 | ||
1857 | /** | 1818 | /** |
@@ -1940,28 +1901,8 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
1940 | * @generated | 1901 | * @generated |
1941 | */ | 1902 | */ |
1942 | @Override | 1903 | @Override |
1943 | public EAttribute getTax_Card_Valid_from_date() { | ||
1944 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(3); | ||
1945 | } | ||
1946 | |||
1947 | /** | ||
1948 | * <!-- begin-user-doc --> | ||
1949 | * <!-- end-user-doc --> | ||
1950 | * @generated | ||
1951 | */ | ||
1952 | @Override | ||
1953 | public EAttribute getTax_Card_Valid_until_date() { | ||
1954 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(4); | ||
1955 | } | ||
1956 | |||
1957 | /** | ||
1958 | * <!-- begin-user-doc --> | ||
1959 | * <!-- end-user-doc --> | ||
1960 | * @generated | ||
1961 | */ | ||
1962 | @Override | ||
1963 | public EAttribute getTax_Card_Percentage_of_witholding() { | 1904 | public EAttribute getTax_Card_Percentage_of_witholding() { |
1964 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(5); | 1905 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(3); |
1965 | } | 1906 | } |
1966 | 1907 | ||
1967 | /** | 1908 | /** |
@@ -1971,7 +1912,7 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
1971 | */ | 1912 | */ |
1972 | @Override | 1913 | @Override |
1973 | public EAttribute getTax_Card_Tax_payers_name_surname() { | 1914 | public EAttribute getTax_Card_Tax_payers_name_surname() { |
1974 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(6); | 1915 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(4); |
1975 | } | 1916 | } |
1976 | 1917 | ||
1977 | /** | 1918 | /** |
@@ -1981,7 +1922,7 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
1981 | */ | 1922 | */ |
1982 | @Override | 1923 | @Override |
1983 | public EAttribute getTax_Card_Tax_payers_partner_name_surname() { | 1924 | public EAttribute getTax_Card_Tax_payers_partner_name_surname() { |
1984 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(7); | 1925 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(5); |
1985 | } | 1926 | } |
1986 | 1927 | ||
1987 | /** | 1928 | /** |
@@ -1991,7 +1932,7 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
1991 | */ | 1932 | */ |
1992 | @Override | 1933 | @Override |
1993 | public EReference getTax_Card_Tax_payers_address() { | 1934 | public EReference getTax_Card_Tax_payers_address() { |
1994 | return (EReference)tax_CardEClass.getEStructuralFeatures().get(8); | 1935 | return (EReference)tax_CardEClass.getEStructuralFeatures().get(6); |
1995 | } | 1936 | } |
1996 | 1937 | ||
1997 | /** | 1938 | /** |
@@ -2001,7 +1942,7 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
2001 | */ | 1942 | */ |
2002 | @Override | 1943 | @Override |
2003 | public EAttribute getTax_Card_Jobs_Employer_SSNo() { | 1944 | public EAttribute getTax_Card_Jobs_Employer_SSNo() { |
2004 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(9); | 1945 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(7); |
2005 | } | 1946 | } |
2006 | 1947 | ||
2007 | /** | 1948 | /** |
@@ -2011,7 +1952,7 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
2011 | */ | 1952 | */ |
2012 | @Override | 1953 | @Override |
2013 | public EAttribute getTax_Card_Jobs_employers_name() { | 1954 | public EAttribute getTax_Card_Jobs_employers_name() { |
2014 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(10); | 1955 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(8); |
2015 | } | 1956 | } |
2016 | 1957 | ||
2017 | /** | 1958 | /** |
@@ -2021,7 +1962,7 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
2021 | */ | 1962 | */ |
2022 | @Override | 1963 | @Override |
2023 | public EAttribute getTax_Card_Jobs_activity_type() { | 1964 | public EAttribute getTax_Card_Jobs_activity_type() { |
2024 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(11); | 1965 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(9); |
2025 | } | 1966 | } |
2026 | 1967 | ||
2027 | /** | 1968 | /** |
@@ -2031,7 +1972,7 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
2031 | */ | 1972 | */ |
2032 | @Override | 1973 | @Override |
2033 | public EAttribute getTax_Card_Jobs_place_of_work() { | 1974 | public EAttribute getTax_Card_Jobs_place_of_work() { |
2034 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(12); | 1975 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(10); |
2035 | } | 1976 | } |
2036 | 1977 | ||
2037 | /** | 1978 | /** |
@@ -2041,7 +1982,7 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
2041 | */ | 1982 | */ |
2042 | @Override | 1983 | @Override |
2043 | public EAttribute getTax_Card_Deduction_FD_daily() { | 1984 | public EAttribute getTax_Card_Deduction_FD_daily() { |
2044 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(13); | 1985 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(11); |
2045 | } | 1986 | } |
2046 | 1987 | ||
2047 | /** | 1988 | /** |
@@ -2051,7 +1992,7 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
2051 | */ | 1992 | */ |
2052 | @Override | 1993 | @Override |
2053 | public EAttribute getTax_Card_Deduction_FD_monthly() { | 1994 | public EAttribute getTax_Card_Deduction_FD_monthly() { |
2054 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(14); | 1995 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(12); |
2055 | } | 1996 | } |
2056 | 1997 | ||
2057 | /** | 1998 | /** |
@@ -2061,7 +2002,7 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
2061 | */ | 2002 | */ |
2062 | @Override | 2003 | @Override |
2063 | public EAttribute getTax_Card_Deduction_AC_daily() { | 2004 | public EAttribute getTax_Card_Deduction_AC_daily() { |
2064 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(15); | 2005 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(13); |
2065 | } | 2006 | } |
2066 | 2007 | ||
2067 | /** | 2008 | /** |
@@ -2071,7 +2012,7 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
2071 | */ | 2012 | */ |
2072 | @Override | 2013 | @Override |
2073 | public EAttribute getTax_Card_Deduction_AC_monthly() { | 2014 | public EAttribute getTax_Card_Deduction_AC_monthly() { |
2074 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(16); | 2015 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(14); |
2075 | } | 2016 | } |
2076 | 2017 | ||
2077 | /** | 2018 | /** |
@@ -2081,7 +2022,7 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
2081 | */ | 2022 | */ |
2082 | @Override | 2023 | @Override |
2083 | public EAttribute getTax_Card_Deduction_AC_yearly() { | 2024 | public EAttribute getTax_Card_Deduction_AC_yearly() { |
2084 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(17); | 2025 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(15); |
2085 | } | 2026 | } |
2086 | 2027 | ||
2087 | /** | 2028 | /** |
@@ -2091,7 +2032,7 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
2091 | */ | 2032 | */ |
2092 | @Override | 2033 | @Override |
2093 | public EAttribute getTax_Card_Deduction_CE_daily() { | 2034 | public EAttribute getTax_Card_Deduction_CE_daily() { |
2094 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(18); | 2035 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(16); |
2095 | } | 2036 | } |
2096 | 2037 | ||
2097 | /** | 2038 | /** |
@@ -2101,7 +2042,7 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
2101 | */ | 2042 | */ |
2102 | @Override | 2043 | @Override |
2103 | public EAttribute getTax_Card_Deduction_CE_monthly() { | 2044 | public EAttribute getTax_Card_Deduction_CE_monthly() { |
2104 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(19); | 2045 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(17); |
2105 | } | 2046 | } |
2106 | 2047 | ||
2107 | /** | 2048 | /** |
@@ -2111,7 +2052,7 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
2111 | */ | 2052 | */ |
2112 | @Override | 2053 | @Override |
2113 | public EAttribute getTax_Card_Deduction_CE_yearly() { | 2054 | public EAttribute getTax_Card_Deduction_CE_yearly() { |
2114 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(20); | 2055 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(18); |
2115 | } | 2056 | } |
2116 | 2057 | ||
2117 | /** | 2058 | /** |
@@ -2121,7 +2062,7 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
2121 | */ | 2062 | */ |
2122 | @Override | 2063 | @Override |
2123 | public EAttribute getTax_Card_Deduction_DS_daily() { | 2064 | public EAttribute getTax_Card_Deduction_DS_daily() { |
2124 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(21); | 2065 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(19); |
2125 | } | 2066 | } |
2126 | 2067 | ||
2127 | /** | 2068 | /** |
@@ -2131,7 +2072,7 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
2131 | */ | 2072 | */ |
2132 | @Override | 2073 | @Override |
2133 | public EAttribute getTax_Card_Deduction_DS_monthly() { | 2074 | public EAttribute getTax_Card_Deduction_DS_monthly() { |
2134 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(22); | 2075 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(20); |
2135 | } | 2076 | } |
2136 | 2077 | ||
2137 | /** | 2078 | /** |
@@ -2141,7 +2082,7 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
2141 | */ | 2082 | */ |
2142 | @Override | 2083 | @Override |
2143 | public EAttribute getTax_Card_Deduction_FO_daily() { | 2084 | public EAttribute getTax_Card_Deduction_FO_daily() { |
2144 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(23); | 2085 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(21); |
2145 | } | 2086 | } |
2146 | 2087 | ||
2147 | /** | 2088 | /** |
@@ -2151,7 +2092,7 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
2151 | */ | 2092 | */ |
2152 | @Override | 2093 | @Override |
2153 | public EAttribute getTax_Card_Deduction_FO_monthly() { | 2094 | public EAttribute getTax_Card_Deduction_FO_monthly() { |
2154 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(24); | 2095 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(22); |
2155 | } | 2096 | } |
2156 | 2097 | ||
2157 | /** | 2098 | /** |
@@ -2161,7 +2102,7 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
2161 | */ | 2102 | */ |
2162 | @Override | 2103 | @Override |
2163 | public EAttribute getTax_Card_Deduction_FO_yearly() { | 2104 | public EAttribute getTax_Card_Deduction_FO_yearly() { |
2164 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(25); | 2105 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(23); |
2165 | } | 2106 | } |
2166 | 2107 | ||
2167 | /** | 2108 | /** |
@@ -2171,7 +2112,7 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
2171 | */ | 2112 | */ |
2172 | @Override | 2113 | @Override |
2173 | public EAttribute getTax_Card_Credit_CIS_daily() { | 2114 | public EAttribute getTax_Card_Credit_CIS_daily() { |
2174 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(26); | 2115 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(24); |
2175 | } | 2116 | } |
2176 | 2117 | ||
2177 | /** | 2118 | /** |
@@ -2181,7 +2122,7 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
2181 | */ | 2122 | */ |
2182 | @Override | 2123 | @Override |
2183 | public EAttribute getTax_Card_Credit_CIS_monthly() { | 2124 | public EAttribute getTax_Card_Credit_CIS_monthly() { |
2184 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(27); | 2125 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(25); |
2185 | } | 2126 | } |
2186 | 2127 | ||
2187 | /** | 2128 | /** |
@@ -2191,7 +2132,7 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
2191 | */ | 2132 | */ |
2192 | @Override | 2133 | @Override |
2193 | public EAttribute getTax_Card_Credit_CIM_daily() { | 2134 | public EAttribute getTax_Card_Credit_CIM_daily() { |
2194 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(28); | 2135 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(26); |
2195 | } | 2136 | } |
2196 | 2137 | ||
2197 | /** | 2138 | /** |
@@ -2201,7 +2142,7 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
2201 | */ | 2142 | */ |
2202 | @Override | 2143 | @Override |
2203 | public EAttribute getTax_Card_Validity() { | 2144 | public EAttribute getTax_Card_Validity() { |
2204 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(29); | 2145 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(27); |
2205 | } | 2146 | } |
2206 | 2147 | ||
2207 | /** | 2148 | /** |
@@ -2211,7 +2152,7 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
2211 | */ | 2152 | */ |
2212 | @Override | 2153 | @Override |
2213 | public EReference getTax_Card_Income_Tax_Credit() { | 2154 | public EReference getTax_Card_Income_Tax_Credit() { |
2214 | return (EReference)tax_CardEClass.getEStructuralFeatures().get(30); | 2155 | return (EReference)tax_CardEClass.getEStructuralFeatures().get(28); |
2215 | } | 2156 | } |
2216 | 2157 | ||
2217 | /** | 2158 | /** |
@@ -2221,7 +2162,7 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
2221 | */ | 2162 | */ |
2222 | @Override | 2163 | @Override |
2223 | public EReference getTax_Card_Previous() { | 2164 | public EReference getTax_Card_Previous() { |
2224 | return (EReference)tax_CardEClass.getEStructuralFeatures().get(31); | 2165 | return (EReference)tax_CardEClass.getEStructuralFeatures().get(29); |
2225 | } | 2166 | } |
2226 | 2167 | ||
2227 | /** | 2168 | /** |
@@ -2231,7 +2172,7 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
2231 | */ | 2172 | */ |
2232 | @Override | 2173 | @Override |
2233 | public EReference getTax_Card_Current_tax_card() { | 2174 | public EReference getTax_Card_Current_tax_card() { |
2234 | return (EReference)tax_CardEClass.getEStructuralFeatures().get(32); | 2175 | return (EReference)tax_CardEClass.getEStructuralFeatures().get(30); |
2235 | } | 2176 | } |
2236 | 2177 | ||
2237 | /** | 2178 | /** |
@@ -2241,7 +2182,7 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
2241 | */ | 2182 | */ |
2242 | @Override | 2183 | @Override |
2243 | public EAttribute getTax_Card_Credit_CIM_yearly() { | 2184 | public EAttribute getTax_Card_Credit_CIM_yearly() { |
2244 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(33); | 2185 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(31); |
2245 | } | 2186 | } |
2246 | 2187 | ||
2247 | /** | 2188 | /** |
@@ -2251,7 +2192,7 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
2251 | */ | 2192 | */ |
2252 | @Override | 2193 | @Override |
2253 | public EAttribute getTax_Card_Deduction_DS_Alimony_yearly() { | 2194 | public EAttribute getTax_Card_Deduction_DS_Alimony_yearly() { |
2254 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(34); | 2195 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(32); |
2255 | } | 2196 | } |
2256 | 2197 | ||
2257 | /** | 2198 | /** |
@@ -2261,7 +2202,7 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
2261 | */ | 2202 | */ |
2262 | @Override | 2203 | @Override |
2263 | public EAttribute getTax_Card_Deduction_DS_Debt_yearly() { | 2204 | public EAttribute getTax_Card_Deduction_DS_Debt_yearly() { |
2264 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(35); | 2205 | return (EAttribute)tax_CardEClass.getEStructuralFeatures().get(33); |
2265 | } | 2206 | } |
2266 | 2207 | ||
2267 | /** | 2208 | /** |
@@ -2271,7 +2212,7 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
2271 | */ | 2212 | */ |
2272 | @Override | 2213 | @Override |
2273 | public EReference getTax_Card_Income() { | 2214 | public EReference getTax_Card_Income() { |
2274 | return (EReference)tax_CardEClass.getEStructuralFeatures().get(36); | 2215 | return (EReference)tax_CardEClass.getEStructuralFeatures().get(34); |
2275 | } | 2216 | } |
2276 | 2217 | ||
2277 | /** | 2218 | /** |
@@ -3415,7 +3356,6 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
3415 | createEAttribute(physical_PersonEClass, PHYSICAL_PERSON__BIRTH_DAY); | 3356 | createEAttribute(physical_PersonEClass, PHYSICAL_PERSON__BIRTH_DAY); |
3416 | createEReference(physical_PersonEClass, PHYSICAL_PERSON__EXPENSES); | 3357 | createEReference(physical_PersonEClass, PHYSICAL_PERSON__EXPENSES); |
3417 | createEAttribute(physical_PersonEClass, PHYSICAL_PERSON__IS_WIDOWER); | 3358 | createEAttribute(physical_PersonEClass, PHYSICAL_PERSON__IS_WIDOWER); |
3418 | createEReference(physical_PersonEClass, PHYSICAL_PERSON__OWNS_ADDRESS); | ||
3419 | 3359 | ||
3420 | addressEClass = createEClass(ADDRESS); | 3360 | addressEClass = createEClass(ADDRESS); |
3421 | createEAttribute(addressEClass, ADDRESS__COUNTRY); | 3361 | createEAttribute(addressEClass, ADDRESS__COUNTRY); |
@@ -3485,9 +3425,6 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
3485 | incomeEClass = createEClass(INCOME); | 3425 | incomeEClass = createEClass(INCOME); |
3486 | createEAttribute(incomeEClass, INCOME__INCOME_AMOUNT); | 3426 | createEAttribute(incomeEClass, INCOME__INCOME_AMOUNT); |
3487 | createEReference(incomeEClass, INCOME__INCOME_TYPE); | 3427 | createEReference(incomeEClass, INCOME__INCOME_TYPE); |
3488 | createEAttribute(incomeEClass, INCOME__START_DATE_WITHIN_TAXATION_YEAR); | ||
3489 | createEAttribute(incomeEClass, INCOME__START_DATE_OF_CONTRACT); | ||
3490 | createEAttribute(incomeEClass, INCOME__END_DATE_WITHIN_TAXATION_YEAR); | ||
3491 | createEReference(incomeEClass, INCOME__TAX_CARD); | 3428 | createEReference(incomeEClass, INCOME__TAX_CARD); |
3492 | createEAttribute(incomeEClass, INCOME__TAX_LIABILITY); | 3429 | createEAttribute(incomeEClass, INCOME__TAX_LIABILITY); |
3493 | createEReference(incomeEClass, INCOME__TAX_PAYER); | 3430 | createEReference(incomeEClass, INCOME__TAX_PAYER); |
@@ -3504,8 +3441,6 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
3504 | createEAttribute(tax_CardEClass, TAX_CARD__CARD_IDENTIFIER); | 3441 | createEAttribute(tax_CardEClass, TAX_CARD__CARD_IDENTIFIER); |
3505 | createEAttribute(tax_CardEClass, TAX_CARD__TAX_CARD_TYPE); | 3442 | createEAttribute(tax_CardEClass, TAX_CARD__TAX_CARD_TYPE); |
3506 | createEAttribute(tax_CardEClass, TAX_CARD__TAX_OFFICE); | 3443 | createEAttribute(tax_CardEClass, TAX_CARD__TAX_OFFICE); |
3507 | createEAttribute(tax_CardEClass, TAX_CARD__VALID_FROM_DATE); | ||
3508 | createEAttribute(tax_CardEClass, TAX_CARD__VALID_UNTIL_DATE); | ||
3509 | createEAttribute(tax_CardEClass, TAX_CARD__PERCENTAGE_OF_WITHOLDING); | 3444 | createEAttribute(tax_CardEClass, TAX_CARD__PERCENTAGE_OF_WITHOLDING); |
3510 | createEAttribute(tax_CardEClass, TAX_CARD__TAX_PAYERS_NAME_SURNAME); | 3445 | createEAttribute(tax_CardEClass, TAX_CARD__TAX_PAYERS_NAME_SURNAME); |
3511 | createEAttribute(tax_CardEClass, TAX_CARD__TAX_PAYERS_PARTNER_NAME_SURNAME); | 3446 | createEAttribute(tax_CardEClass, TAX_CARD__TAX_PAYERS_PARTNER_NAME_SURNAME); |
@@ -3813,7 +3748,6 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
3813 | initEAttribute(getPhysical_Person_Birth_day(), ecorePackage.getEInt(), "birth_day", null, 1, 1, Physical_Person.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); | 3748 | initEAttribute(getPhysical_Person_Birth_day(), ecorePackage.getEInt(), "birth_day", null, 1, 1, Physical_Person.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); |
3814 | initEReference(getPhysical_Person_Expenses(), this.getExpense(), this.getExpense_Beneficiary(), "expenses", null, 0, -1, Physical_Person.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); | 3749 | initEReference(getPhysical_Person_Expenses(), this.getExpense(), this.getExpense_Beneficiary(), "expenses", null, 0, -1, Physical_Person.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); |
3815 | initEAttribute(getPhysical_Person_Is_widower(), ecorePackage.getEBoolean(), "is_widower", null, 1, 1, Physical_Person.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); | 3750 | initEAttribute(getPhysical_Person_Is_widower(), ecorePackage.getEBoolean(), "is_widower", null, 1, 1, Physical_Person.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); |
3816 | initEReference(getPhysical_Person_Owns_Address(), this.getAddress(), null, "owns_Address", null, 0, -1, Physical_Person.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); | ||
3817 | 3751 | ||
3818 | initEClass(addressEClass, Address.class, "Address", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); | 3752 | initEClass(addressEClass, Address.class, "Address", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); |
3819 | initEAttribute(getAddress_Country(), this.getCountry(), "country", "ZZ", 1, 1, Address.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); | 3753 | initEAttribute(getAddress_Country(), this.getCountry(), "country", "ZZ", 1, 1, Address.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); |
@@ -3883,9 +3817,6 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
3883 | initEClass(incomeEClass, Income.class, "Income", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); | 3817 | initEClass(incomeEClass, Income.class, "Income", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); |
3884 | initEAttribute(getIncome_Income_amount(), ecorePackage.getEDouble(), "income_amount", null, 1, 1, Income.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); | 3818 | initEAttribute(getIncome_Income_amount(), ecorePackage.getEDouble(), "income_amount", null, 1, 1, Income.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); |
3885 | initEReference(getIncome_Income_type(), this.getIncome_Type(), this.getIncome_Type_Income(), "income_type", null, 1, 1, Income.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); | 3819 | initEReference(getIncome_Income_type(), this.getIncome_Type(), this.getIncome_Type_Income(), "income_type", null, 1, 1, Income.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); |
3886 | initEAttribute(getIncome_Start_date_within_taxation_year(), ecorePackage.getEDate(), "start_date_within_taxation_year", null, 1, 1, Income.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); | ||
3887 | initEAttribute(getIncome_Start_date_of_contract(), ecorePackage.getEDate(), "start_date_of_contract", null, 1, 1, Income.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); | ||
3888 | initEAttribute(getIncome_End_date_within_taxation_year(), ecorePackage.getEDate(), "end_date_within_taxation_year", null, 1, 1, Income.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); | ||
3889 | initEReference(getIncome_Tax_card(), this.getTax_Card(), this.getTax_Card_Income(), "tax_card", null, 0, 1, Income.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); | 3820 | initEReference(getIncome_Tax_card(), this.getTax_Card(), this.getTax_Card_Income(), "tax_card", null, 0, 1, Income.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); |
3890 | initEAttribute(getIncome_Tax_liability(), ecorePackage.getEDouble(), "tax_liability", null, 1, 1, Income.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); | 3821 | initEAttribute(getIncome_Tax_liability(), ecorePackage.getEDouble(), "tax_liability", null, 1, 1, Income.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); |
3891 | initEReference(getIncome_TaxPayer(), this.getTax_Payer(), this.getTax_Payer_Incomes(), "taxPayer", null, 1, 1, Income.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); | 3822 | initEReference(getIncome_TaxPayer(), this.getTax_Payer(), this.getTax_Payer_Incomes(), "taxPayer", null, 1, 1, Income.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); |
@@ -3902,8 +3833,6 @@ public class TaxationPackageImpl extends EPackageImpl implements TaxationPackage | |||
3902 | initEAttribute(getTax_Card_Card_identifier(), ecorePackage.getEString(), "card_identifier", null, 0, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); | 3833 | initEAttribute(getTax_Card_Card_identifier(), ecorePackage.getEString(), "card_identifier", null, 0, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); |
3903 | initEAttribute(getTax_Card_Tax_card_type(), this.getTax_Card_Type(), "tax_card_type", null, 1, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED); | 3834 | initEAttribute(getTax_Card_Tax_card_type(), this.getTax_Card_Type(), "tax_card_type", null, 1, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED); |
3904 | initEAttribute(getTax_Card_Tax_office(), this.getTax_Office(), "tax_office", null, 1, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); | 3835 | initEAttribute(getTax_Card_Tax_office(), this.getTax_Office(), "tax_office", null, 1, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); |
3905 | initEAttribute(getTax_Card_Valid_from_date(), ecorePackage.getEDate(), "valid_from_date", null, 1, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); | ||
3906 | initEAttribute(getTax_Card_Valid_until_date(), ecorePackage.getEDate(), "valid_until_date", null, 1, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); | ||
3907 | initEAttribute(getTax_Card_Percentage_of_witholding(), ecorePackage.getEDouble(), "percentage_of_witholding", null, 1, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); | 3836 | initEAttribute(getTax_Card_Percentage_of_witholding(), ecorePackage.getEDouble(), "percentage_of_witholding", null, 1, 1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); |
3908 | initEAttribute(getTax_Card_Tax_payers_name_surname(), ecorePackage.getEString(), "tax_payers_name_surname", null, 0, -1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); | 3837 | initEAttribute(getTax_Card_Tax_payers_name_surname(), ecorePackage.getEString(), "tax_payers_name_surname", null, 0, -1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); |
3909 | initEAttribute(getTax_Card_Tax_payers_partner_name_surname(), ecorePackage.getEString(), "tax_payers_partner_name_surname", null, 0, -1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); | 3838 | initEAttribute(getTax_Card_Tax_payers_partner_name_surname(), ecorePackage.getEString(), "tax_payers_partner_name_surname", null, 0, -1, Tax_Card.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); |