Skip to content

Commit 610796e

Browse files
committed
Merge branch 'develop'
2 parents 76eda7d + a5e9c65 commit 610796e

File tree

4 files changed

+132
-12
lines changed

4 files changed

+132
-12
lines changed

ClientWeb/Src/Main.View.dfm

Lines changed: 45 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
object MainView: TMainView
2-
Width = 640
2+
Width = 1118
33
Height = 480
44
Caption = 'Delphi Web - Home'
55
OnCreate = WebFormCreate
@@ -69,7 +69,7 @@ object MainView: TMainView
6969
object WebPanel1: TWebPanel
7070
Left = 112
7171
Top = 160
72-
Width = 489
72+
Width = 945
7373
Height = 33
7474
ElementID = 'divContainerBotoes01'
7575
ChildOrder = 5
@@ -137,6 +137,47 @@ object MainView: TMainView
137137
WidthPercent = 100.000000000000000000
138138
OnClick = btnListarClick
139139
end
140+
object btnPost: TWebButton
141+
Left = 451
142+
Top = 0
143+
Width = 136
144+
Height = 33
145+
Align = alLeft
146+
Caption = 'Cadastrar / Post '
147+
ChildOrder = 1
148+
ElementID = 'btnPost'
149+
HeightPercent = 100.000000000000000000
150+
WidthPercent = 100.000000000000000000
151+
OnClick = btnPostClick
152+
end
153+
object btnAlterar: TWebButton
154+
Left = 587
155+
Top = 0
156+
Width = 136
157+
Height = 33
158+
Align = alLeft
159+
Caption = 'Alterar / PUT'
160+
ChildOrder = 1
161+
ElementID = 'btnAlterar'
162+
HeightPercent = 100.000000000000000000
163+
WidthPercent = 100.000000000000000000
164+
OnClick = btnAlterarClick
165+
ExplicitLeft = 581
166+
end
167+
object btnDelete: TWebButton
168+
Left = 723
169+
Top = 0
170+
Width = 136
171+
Height = 33
172+
Align = alLeft
173+
Caption = 'Delete'
174+
ChildOrder = 1
175+
ElementID = 'btnDelete'
176+
HeightPercent = 100.000000000000000000
177+
WidthPercent = 100.000000000000000000
178+
OnClick = btnDeleteClick
179+
ExplicitLeft = 729
180+
end
140181
end
141182
object mmTeste: TWebMemo
142183
Left = 232
@@ -145,8 +186,6 @@ object MainView: TMainView
145186
Height = 132
146187
ElementID = 'mmTeste'
147188
HeightPercent = 100.000000000000000000
148-
Lines.Strings = (
149-
'mmTeste')
150189
SelLength = 0
151190
SelStart = 0
152191
WidthPercent = 100.000000000000000000
@@ -158,6 +197,7 @@ object MainView: TMainView
158197
end
159198
object XDataWebClient1: TXDataWebClient
160199
Connection = XDataWebConnection1
200+
OnError = XDataWebClient1Error
161201
Left = 240
162202
Top = 16
163203
end
@@ -185,9 +225,8 @@ object MainView: TMainView
185225
object XDataWebDataSet1Porcentagem: TFloatField
186226
FieldName = 'Porcentagem'
187227
end
188-
object XDataWebDataSet1Ativo: TStringField
228+
object XDataWebDataSet1Ativo: TBooleanField
189229
FieldName = 'Ativo'
190-
Size = 5
191230
end
192231
end
193232
object WebDataSource1: TWebDataSource

ClientWeb/Src/Main.View.html

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -871,6 +871,10 @@ <h3>65</h3>
871871
<button type="button" class="btn btn-primary" id="btnGetNome">GeNome</button>
872872
<button type="button" class="btn btn-info" id="btnGet">Get</button>
873873
<button type="button" class="btn btn-success" id="btnListar">Success</button>
874+
875+
<button type="button" class="btn btn-warning" id="btnPost">btnPost</button>
876+
<button type="button" class="btn btn-info" id="btnAlterar">btnAlterar</button>
877+
<button type="button" class="btn btn-danger" id="btnDelete">btnDelete</button>
874878
</div>
875879
</div>
876880
<!--end::Row Botoes-->

ClientWeb/Src/Main.View.pas

Lines changed: 83 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,22 @@ interface
55
uses
66
System.SysUtils,
77
System.Classes,
8-
JS,
98
Web,
109
WEBLib.Graphics,
1110
WEBLib.Controls,
1211
WEBLib.Forms,
1312
WEBLib.Dialogs,
1413
Vcl.Controls,
1514
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;
1824

1925
type
2026
TMainView = class(TWebForm)
@@ -39,8 +45,11 @@ TMainView = class(TWebForm)
3945
XDataWebDataSet1Profissao: TStringField;
4046
XDataWebDataSet1Limite: TFloatField;
4147
XDataWebDataSet1Porcentagem: TFloatField;
42-
XDataWebDataSet1Ativo: TStringField;
4348
btnListar: TWebButton;
49+
XDataWebDataSet1Ativo: TBooleanField;
50+
btnPost: TWebButton;
51+
btnAlterar: TWebButton;
52+
btnDelete: TWebButton;
4453
procedure lbImportantClick(Sender: TObject);
4554
[Async]
4655
procedure lbWarningClick(Sender: TObject);
@@ -52,7 +61,15 @@ TMainView = class(TWebForm)
5261
procedure btnGetClick(Sender: TObject);
5362
[Async]
5463
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);
5571
private
72+
function GetClientePreenchido: TJSObject;
5673

5774
public
5875

@@ -89,6 +106,16 @@ procedure TMainView.WebFormCreate(Sender: TObject);
89106
XDataWebConnection1.Open;
90107
end;
91108

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+
92119
procedure TMainView.lbInformationalClick(Sender: TObject);
93120
begin
94121
MessageDlg('Minha pergunta?', mtConfirmation, [mbYes, mbNo],
@@ -122,8 +149,14 @@ procedure TMainView.btnGetClick(Sender: TObject);
122149
XDataWebDataSet1.SetJsonData(LResponse.Result);
123150
XDataWebDataSet1.Open;
124151

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);
127160
end;
128161

129162
procedure TMainView.btnListarClick(Sender: TObject);
@@ -146,4 +179,48 @@ procedure TMainView.btnListarClick(Sender: TObject);
146179
end;
147180
end;
148181

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+
149226
end.

DB/Code4DTeste.db

0 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)