12-17-2019, 03:36 PM
Conforme solicitado, segue fonte.
OBS: Algumas partes de código foram ocultas para preservar as regas de negócio do cliente, e não influenciam no caso.
OBS: Algumas partes de código foram ocultas para preservar as regas de negócio do cliente, e não influenciam no caso.
Code:
unit IWContents.Test;
interface
uses
Classes,
IW.Content.Base,
HTTPApp,
IWApplication,
IW.HTTP.Request,
IW.HTTP.Reply;
type
TContentChart = class(TContentBase)
protected
function Execute(aRequest: THttpRequest; aReply: THttpReply; const aPathname: string; aSession: TIWApplication; aParams: TStrings): boolean; override;
public
constructor Create; override;
end;
implementation
uses
IW.Content.Handlers,
IWMimeTypes,
FireDAC.Comp.Client,
ServerController,
System.DateUtils,
System.SysUtils,
...;
constructor TContentChart.Create;
begin
inherited;
mFileMustExist := False;
mCanStartSession:= true;
// mRequiresSessionStart := true;
end;
function TContentChart.Execute(aRequest: THttpRequest; aReply: THttpReply; const aPathname: string; aSession: TIWApplication; aParams: TStrings): boolean;
var
JSON: string;
FDataSet: TFDquery;
begin
Result := true;
JSON := '';
if aParams.Count > 0 then
begin
if Assigned(aReply) then
begin
//Verify Action
if aParams.Values['action'] = 'GV' then
begin
try
FDataSet := TFDQuery.Create(nil);
FDataSet.SQL.Clear;
...
FDataSet.Open();
JSON := '[' + sLineBreak;
FDataSet.First;
while not FDataSet.Eof do
begin
...
FDataSet.Next;
end;
JSON := ']' + sLineBreak;
aReply.WriteString(JSON);
finally
FreeAndNil(FDataSet);
end;
end;
end;
end;
end;
initialization
end.
