-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathJSON.ChartOfAccountList.pas
214 lines (178 loc) · 5.77 KB
/
JSON.ChartOfAccountList.pas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
unit JSON.ChartOfAccountList;
// *************************************************
// Generated By: JsonToDelphiClass - 0.65
// Project link: https://github.com/PKGeorgiev/Delphi-JsonToDelphiClass
// Generated On: 2019-05-22 20:38:03
// *************************************************
// Created By : Petar Georgiev - 2014
// WebSite : http://pgeorgiev.com
// *************************************************
interface
uses
Generics.Collections
, Rest.Json
, REST.JSON.Types
;
type
TMetaDataClass = class
private
FCreateTime: String;
FLastUpdatedTime: String;
public
property CreateTime: String read FCreateTime write FCreateTime;
property LastUpdatedTime: String read FLastUpdatedTime write FLastUpdatedTime;
function ToJsonString: string;
class function FromJsonString(AJsonString: string): TMetaDataClass;
end;
TCurrencyRefClass = class
private
FName: String;
FValue: String;
public
property name: String read FName write FName;
property value: String read FValue write FValue;
function ToJsonString: string;
class function FromJsonString(AJsonString: string): TCurrencyRefClass;
end;
TAccountClass = class
private
FAccountSubType: String;
FAccountType: String;
FActive: Boolean;
FClassification: String;
FCurrencyRef: TCurrencyRefClass;
FCurrentBalance: Extended;
FCurrentBalanceWithSubAccounts: Extended;
FDescription: String;
FFullyQualifiedName: String;
FId: String;
FMetaData: TMetaDataClass;
FName: String;
FSubAccount: Boolean;
FSyncToken: String;
FDomain: String;
FSparse: Boolean;
public
property AccountSubType: String read FAccountSubType write FAccountSubType;
property AccountType: String read FAccountType write FAccountType;
property Active: Boolean read FActive write FActive;
property Classification: String read FClassification write FClassification;
property CurrencyRef: TCurrencyRefClass read FCurrencyRef write FCurrencyRef;
property CurrentBalance: Extended read FCurrentBalance write FCurrentBalance;
property CurrentBalanceWithSubAccounts: Extended read FCurrentBalanceWithSubAccounts write FCurrentBalanceWithSubAccounts;
property Description: String read FDescription write FDescription;
property FullyQualifiedName: String read FFullyQualifiedName write FFullyQualifiedName;
property Id: String read FId write FId;
property MetaData: TMetaDataClass read FMetaData write FMetaData;
property Name: String read FName write FName;
property SubAccount: Boolean read FSubAccount write FSubAccount;
property SyncToken: String read FSyncToken write FSyncToken;
property domain: String read FDomain write FDomain;
property sparse: Boolean read FSparse write FSparse;
constructor Create;
destructor Destroy; override;
function ToJsonString: string;
class function FromJsonString(AJsonString: string): TAccountClass;
end;
TQueryResponseClass = class
private
FAccount: TArray<TAccountClass>;
FMaxResults: Extended;
FStartPosition: Extended;
public
property Account: TArray<TAccountClass> read FAccount write FAccount;
property maxResults: Extended read FMaxResults write FMaxResults;
property startPosition: Extended read FStartPosition write FStartPosition;
destructor Destroy; override;
function ToJsonString: string;
class function FromJsonString(AJsonString: string): TQueryResponseClass;
end;
TJSONChartOfAccountListClass = class
private
FQueryResponse: TQueryResponseClass;
FTime: String;
public
property QueryResponse: TQueryResponseClass read FQueryResponse write FQueryResponse;
property time: String read FTime write FTime;
constructor Create;
destructor Destroy; override;
function ToJsonString: string;
class function FromJsonString(AJsonString: string): TJSONChartOfAccountListClass;
end;
implementation
{TMetaDataClass}
function TMetaDataClass.ToJsonString: string;
begin
result := TJson.ObjectToJsonString(self);
end;
class function TMetaDataClass.FromJsonString(AJsonString: string): TMetaDataClass;
begin
result := TJson.JsonToObject<TMetaDataClass>(AJsonString)
end;
{TCurrencyRefClass}
function TCurrencyRefClass.ToJsonString: string;
begin
result := TJson.ObjectToJsonString(self);
end;
class function TCurrencyRefClass.FromJsonString(AJsonString: string): TCurrencyRefClass;
begin
result := TJson.JsonToObject<TCurrencyRefClass>(AJsonString)
end;
{TAccountClass}
constructor TAccountClass.Create;
begin
inherited;
FCurrencyRef := TCurrencyRefClass.Create();
FMetaData := TMetaDataClass.Create();
end;
destructor TAccountClass.Destroy;
begin
FCurrencyRef.free;
FMetaData.free;
inherited;
end;
function TAccountClass.ToJsonString: string;
begin
result := TJson.ObjectToJsonString(self);
end;
class function TAccountClass.FromJsonString(AJsonString: string): TAccountClass;
begin
result := TJson.JsonToObject<TAccountClass>(AJsonString)
end;
{TQueryResponseClass}
destructor TQueryResponseClass.Destroy;
var
LAccountItem: TAccountClass;
begin
for LAccountItem in FAccount do
LAccountItem.free;
inherited;
end;
function TQueryResponseClass.ToJsonString: string;
begin
result := TJson.ObjectToJsonString(self);
end;
class function TQueryResponseClass.FromJsonString(AJsonString: string): TQueryResponseClass;
begin
result := TJson.JsonToObject<TQueryResponseClass>(AJsonString)
end;
{TRootClass}
constructor TJSONChartOfAccountListClass.Create;
begin
inherited;
FQueryResponse := TQueryResponseClass.Create();
end;
destructor TJSONChartOfAccountListClass.Destroy;
begin
FQueryResponse.free;
inherited;
end;
function TJSONChartOfAccountListClass.ToJsonString: string;
begin
result := TJson.ObjectToJsonString(self);
end;
class function TJSONChartOfAccountListClass.FromJsonString(AJsonString: string): TJSONChartOfAccountListClass;
begin
result := TJson.JsonToObject<TJSONChartOfAccountListClass>(AJsonString)
end;
end.