8000 aula18-parte02 · Code4Delphi/DelphiWebCrud@ef68514 · GitHub
[go: up one dir, main page]

Skip to content

Commit ef68514

Browse files
committed
aula18-parte02
1 parent 4901ffa commit ef68514

File tree

2 files changed

+36
-6
lines changed

2 files changed

+36
-6
lines changed

ClientWeb/Src/Login.View.dfm

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,4 +61,16 @@ object LoginView: TLoginView
6161
HeightPercent = 100.000000000000000000
6262
WidthPercent = 100.000000000000000000
6363
end
64+
object XDataWebConnection1: TXDataWebConnection
65+
URL = 'http://localhost:2001/tms/auth/'
66+
Connected = True
67+
Left = 72
68+
Top = 16
69+
end
70+
object XDataWebClient1: TXDataWebClient
71+
Connection = XDataWebConnection1
72+
OnError = XDataWebClient1Error
73+
Left = 216
74+
Top = 16
75+
end
6476
end

ClientWeb/Src/Login.View.pas

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ interface
1414
Vcl.Controls,
1515
Vcl.StdCtrls,
1616
WEBLib.StdCtrls,
17-
Main.View;
17+
Main.View, XData.Web.Client, XData.Web.Connection;
1818

1919
type
2020
TLoginView = class(TWebForm)
@@ -23,11 +23,14 @@ TLoginView = class(TWebForm)
2323
edtSenha: TWebEdit;
2424
btnEntrar: TWebButton;
2525
ckLembrarMe: TWebCheckBox;
26+
XDataWebConnection1: TXDataWebConnection;
27+
XDataWebClient1: TXDataWebClient;
2628
procedure btnEntrarClick(Sender: TObject);
2729
procedure WebFormShow(Sender: TObject);
2830
procedure edtLoginKeyPress(Sender: TObject; var Key: Char);
2931
procedure edtSenhaKeyPress(Sender: TObject; var Key: Char);
3032
procedure WebFormCreate(Sender: TObject);
33+
procedure XDataWebClient1Error(Error: TXDataClientError);
3134
private
3235

3336
public
@@ -52,6 +55,16 @@ procedure TLoginView.WebFormShow(Sender: TObject);
5255
edtLogin.SetFocus;
5356
end;
5457

58+
procedure TLoginView.XDataWebClient1Error(Error: TXDataClientError);
59+
begin
60+
ShowMessage(
61+
'StatusCode: ' + Error.StatusCode.ToString + sLineBreak +
62+
'RequestUrl: ' + Error.RequestUrl + sLineBreak +
63+
'RequestId: ' + Error.RequestId + sLineBreak +
64+
'ErrorCode: ' + Error.ErrorCode + sLineBreak +
65+
'ErrorMessage: ' + Error.ErrorMessage);
66+
end;
67+
5568
procedure TLoginView.edtLoginKeyPress(Sender: TObject; var Key: Char);
5669
begin
5770
if Key = #13 then
@@ -65,18 +78,23 @@ procedure TLoginView.edtSenhaKeyPress(Sender: TObject; var Key: Char);
6578
end;
6679

6780
procedure TLoginView.btnEntrarClick(Sender: TObject);
81+
var
82+
LResponse: TXDataClientResponse;
6883
begin
69-
if edtLogin.Text <> 'admin' then
84+
if Trim(edtLogin.Text).IsEmpty or Trim(edtSenha.Text).IsEmpty then
7085
begin
71-
ShowMessage('Login inválido');
86+
ShowMessage('Login e senha devem ser informados');
7287
edtLogin.SetFocus;
7388
Exit;
7489
end;
7590

76-
if edtSenha.Text <> 'admin' then
91+
LResponse := TAwait.Exec<TXDataClientResponse>(
92+
XDataWebClient1.RawInvokeAsync('ILoginService.Login', [edtLogin.Text, edtSenha.Text]));
93+
94+
if LResponse.StatusCode <> 200 then
7795
begin
78-
ShowMessage( 5815 'Senha inválido');
79-
edtSenha.SetFocus;
96+
ShowMessage('Login ou senha informados são inválidos');
97+
edtLogin.SetFocus;
8098
Exit;
8199
end;
82100

0 commit comments

Comments
 (0)
0