@@ -5,16 +5,22 @@ interface
5
5
uses
6
6
System.SysUtils,
7
7
System.Classes,
8
- JS,
9
8
Web,
10
9
WEBLib.Graphics,
11
10
WEBLib.Controls,
12
11
WEBLib.Forms,
13
12
WEBLib.Dialogs,
14
13
Vcl.Controls,
15
14
Vcl.StdCtrls,
16
- WEBLib.StdCtrls, WEBLib.ExtCtrls, Data.DB, XData.Web.JsonDataset, XData.Web.Dataset, XData.Web.Client,
17
- XData.Web.Connection, WEBLib.DB;
15
+ WEBLib.StdCtrls,
16
+ WEBLib.ExtCtrls,
17
+ Data.DB,
18
+ XData.Web.JsonDataset,
19
+ XData.Web.Dataset,
20
+ XData.Web.Client,
21
+ XData.Web.Connection,
22
+ WEBLib.DB,
23
+ JS;
18
24
19
25
type
20
26
TMainView = class (TWebForm)
@@ -39,8 +45,11 @@ TMainView = class(TWebForm)
39
45
XDataWebDataSet1Profissao: TStringField;
40
46
XDataWebDataSet1Limite: TFloatField;
41
47
XDataWebDataSet1Porcentagem: TFloatField;
42
- XDataWebDataSet1Ativo: TStringField;
43
48
btnListar: TWebButton;
49
+ XDataWebDataSet1Ativo: TBooleanField;
50
+ btnPost: TWebButton;
51
+ btnAlterar: TWebButton;
52
+ btnDelete: TWebButton;
44
53
procedure lbImportantClick (Sender: TObject);
45
54
[Async]
46
55
procedure lbWarningClick (Sender: TObject);
@@ -52,7 +61,15 @@ TMainView = class(TWebForm)
52
61
procedure btnGetClick (Sender: TObject);
53
62
[Async]
54
63
procedure btnListarClick (Sender: TObject);
64
+ [Async]
65
+ procedure btnPostClick (Sender: TObject);
66
+ [Async]
67
+ procedure btnAlterarClick (Sender: TObject);
68
+ [Async]
69
+ procedure btnDeleteClick (Sender: TObject);
70
+ procedure XDataWebClient1Error (Error: TXDataClientError);
55
71
private
72
+ function GetClientePreenchido : TJSObject;
56
73
57
74
public
58
75
@@ -89,6 +106,16 @@ procedure TMainView.WebFormCreate(Sender: TObject);
89
106
XDataWebConnection1.Open;
90
107
end ;
91
108
109
+ procedure TMainView.XDataWebClient1Error (Error: TXDataClientError);
110
+ begin
111
+ mmTeste.Lines.Clear;
112
+ mmTeste.Lines.Add(' StatusCode: ' + Error.StatusCode.ToString);
113
+ mmTeste.Lines.Add(' RequestUrl: ' + Error.RequestUrl);
114
+ mmTeste.Lines.Add(' RequestId: ' + Error.RequestId);
115
+ mmTeste.Lines.Add(' ErrorCode: ' + Error.ErrorCode);
116
+ mmTeste.Lines.Add(' ErrorMessage: ' + Error.ErrorMessage);
117
+ end ;
118
+
92
119
procedure TMainView.lbInformationalClick (Sender: TObject);
93
120
begin
94
121
MessageDlg(' Minha pergunta?' , mtConfirmation, [mbYes, mbNo],
@@ -122,8 +149,14 @@ procedure TMainView.btnGetClick(Sender: TObject);
122
149
XDataWebDataSet1.SetJsonData(LResponse.Result);
123
150
XDataWebDataSet1.Open;
124
151
125
- mmTeste.Lines.Add(XDataWebDataSet1Id.AsString + ' - ' +
126
- XDataWebDataSet1Nome.AsString + ' - ' + XDataWebDataSet1Profissao.AsString);
152
+ mmTeste.Lines.Clear;
153
+ mmTeste.Lines.Add(' Id: ' + XDataWebDataSet1Id.AsString);
154
+ mmTeste.Lines.Add(' Id Cidade: ' + XDataWebDataSet1IdCidade.AsString);
155
+ mmTeste.Lines.Add(' Nome: ' + XDataWebDataSet1Nome.AsString);
156
+ mmTeste.Lines.Add(' Profissão: ' + XDataWebDataSet1Profissao.AsString);
157
+ mmTeste.Lines.Add(' Limite: ' + XDataWebDataSet1Limite.AsString);
158
+ mmTeste.Lines.Add(' Porcentagem: ' + XDataWebDataSet1Porcentagem.AsString);
159
+ mmTeste.Lines.Add(' Ativo: ' + XDataWebDataSet1Ativo.AsString);
127
160
end ;
128
161
129
162
procedure TMainView.btnListarClick (Sender: TObject);
@@ -146,4 +179,48 @@ procedure TMainView.btnListarClick(Sender: TObject);
146
179
end ;
147
180
end ;
148
181
182
+ procedure TMainView.btnPostClick (Sender: TObject);
183
+ var
184
+ LResponse: TXDataClientResponse;
185
+ begin
186
+ LResponse := TAwait.Exec<TXDataClientResponse>(
187
+ XDataWebClient1.RawInvokeAsync(' IClientesService.Post' , [Self.GetClientePreenchido]));
188
+
189
+ mmTeste.Lines.Text := LResponse.ResponseText;
190
+ end ;
191
+
192
+ function TMainView.GetClientePreenchido : TJSObject;
193
+ begin
194
+ Result := TJSObject.new;
195
+ Result[' IdCidade' ] := 10 ;
196
+ Result[' Nome' ] := ' Nome teste ' + FormatDateTime(' zzz' , Now);
197
+ Result[' Profissao' ] := ' Dev' ;
198
+ Result[' Limite' ] := 590 ;
199
+ Result[' Porcentagem' ] := 54 ;
200
+ Result[' Ativo' ] := True;
201
+ end ;
202
+
203
+ procedure TMainView.btnAlterarClick (Sender: TObject);
204
+ var
205
+ LResponse: TXDataClientResponse;
206
+ begin
207
+ LResponse := TAwait.Exec<TXDataClientResponse>(
208
+ XDataWebClient1.RawInvokeAsync(' IClientesService.Update' ,
209
+ [StrToIntDef(edtCodigo.Text, 0 ), Self.GetClientePreenchido]));
210
+
211
+ mmTeste.Lines.Text := LResponse.ResponseText;
212
+ end ;
213
+
214
+ procedure TMainView.btnDeleteClick (Sender: TObject);
215
+ var
216
+ LResponse: TXDataClientResponse;
217
+ begin
218
+ LResponse := TAwait.Exec<TXDataClientResponse>(
219
+ XDataWebClient1.RawInvokeAsync(' IClientesService.Delete' , [StrToIntDef(edtCodigo.Text, 0 )]));
220
+
221
+ mmTeste.Lines.Clear;
222
+ mmTeste.Lines.Add(' StatusCode: ' + LResponse.StatusCode.ToString);
223
+ mmTeste.Lines.Add(' ResponseText: ' + LResponse.ResponseText);
224
+ end ;
225
+
149
226
end .
0 commit comments