1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package io.github.tonywasher.joceanus.moneywise.sheets;
18
19 import io.github.tonywasher.joceanus.oceanus.base.OceanusException;
20 import io.github.tonywasher.joceanus.moneywise.data.basic.MoneyWiseBasicDataType;
21 import io.github.tonywasher.joceanus.moneywise.data.basic.MoneyWiseBasicResource;
22 import io.github.tonywasher.joceanus.moneywise.data.basic.MoneyWiseDataSet;
23 import io.github.tonywasher.joceanus.moneywise.data.basic.MoneyWiseTransaction;
24 import io.github.tonywasher.joceanus.prometheus.data.PrometheusDataValues;
25 import io.github.tonywasher.joceanus.prometheus.sheets.PrometheusSheetEncrypted;
26
27
28
29
30
31
32 public final class MoneyWiseSheetTransaction
33 extends PrometheusSheetEncrypted<MoneyWiseTransaction> {
34
35
36
37 private static final String AREA_TRANS = MoneyWiseTransaction.LIST_NAME;
38
39
40
41
42 private static final int COL_DATE = COL_KEYSETID + 1;
43
44
45
46
47 private static final int COL_DIRECTION = COL_DATE + 1;
48
49
50
51
52 private static final int COL_ACCOUNT = COL_DIRECTION + 1;
53
54
55
56
57 private static final int COL_PARTNER = COL_ACCOUNT + 1;
58
59
60
61
62 private static final int COL_AMOUNT = COL_PARTNER + 1;
63
64
65
66
67 private static final int COL_CATEGORY = COL_AMOUNT + 1;
68
69
70
71
72 private static final int COL_RECONCILED = COL_CATEGORY + 1;
73
74
75
76
77
78
79 MoneyWiseSheetTransaction(final MoneyWiseReader pReader) {
80
81 super(pReader, AREA_TRANS);
82
83
84 final MoneyWiseDataSet myData = (MoneyWiseDataSet) pReader.getData();
85 setDataList(myData.getTransactions());
86 }
87
88
89
90
91
92
93 MoneyWiseSheetTransaction(final MoneyWiseWriter pWriter) {
94
95 super(pWriter, AREA_TRANS);
96
97
98 final MoneyWiseDataSet myData = (MoneyWiseDataSet) pWriter.getData();
99 setDataList(myData.getTransactions());
100 }
101
102 @Override
103 protected PrometheusDataValues loadSecureValues() throws OceanusException {
104
105 final PrometheusDataValues myValues = getRowValues(MoneyWiseTransaction.OBJECT_NAME);
106 myValues.addValue(MoneyWiseBasicResource.MONEYWISEDATA_FIELD_DATE, loadDate(COL_DATE));
107 myValues.addValue(MoneyWiseBasicResource.TRANSACTION_DIRECTION, loadBoolean(COL_DIRECTION));
108 myValues.addValue(MoneyWiseBasicDataType.TRANSCATEGORY, loadInteger(COL_CATEGORY));
109 myValues.addValue(MoneyWiseBasicResource.TRANSACTION_ACCOUNT, loadLong(COL_ACCOUNT));
110 myValues.addValue(MoneyWiseBasicResource.TRANSACTION_PARTNER, loadLong(COL_PARTNER));
111 myValues.addValue(MoneyWiseBasicResource.TRANSACTION_AMOUNT, loadBytes(COL_AMOUNT));
112 myValues.addValue(MoneyWiseBasicResource.TRANSACTION_RECONCILED, loadBoolean(COL_RECONCILED));
113
114
115 return myValues;
116 }
117
118 @Override
119 protected void insertSecureItem(final MoneyWiseTransaction pItem) throws OceanusException {
120
121 super.insertSecureItem(pItem);
122 writeDate(COL_DATE, pItem.getDate());
123 writeBoolean(COL_DIRECTION, pItem.getDirection().isFrom());
124 writeLong(COL_ACCOUNT, pItem.getAccountId());
125 writeLong(COL_PARTNER, pItem.getPartnerId());
126 writeInteger(COL_CATEGORY, pItem.getCategoryId());
127 writeBoolean(COL_RECONCILED, pItem.isReconciled());
128 writeBytes(COL_AMOUNT, pItem.getAmountBytes());
129 }
130
131 @Override
132 protected int getLastColumn() {
133
134 return COL_RECONCILED;
135 }
136 }