Commit a3742827 authored by Gabriel Macena's avatar Gabriel Macena

Caso de uso Realizar Empréstimo concluído.

parent 14585827
*.exe *.exe
*.dproj *.dproj
*.~* *.~*
\ No newline at end of file *.rsm
<?xml version="1.0" encoding="ISO-8859-1" ?> <?xml version="1.0" encoding="ISO-8859-1" ?>
<DATA> <DATA>
<oql name="ObterExemplares" oqltype="0">
<description></description>
<query><![CDATA[SELECT ngExemplar
FROM ngExemplar,
ngExemplar.Livro
WHERE (ngExemplar.Livro.Titulo LIKE '%'+?titulo:acString+'%' OR ?titulo:acString IS NULL)
AND (ngExemplar.Livro.ISBN = ?isbn:acString OR ?isbn:acString IS NULL)
AND (ngExemplar.Codigo = ?codigo:acString OR ?codigo:acString IS NULL)
ORDER BY ngExemplar.Livro.OID ASC]]></query>
</oql>
<oql name="ObterUsuarios" oqltype="0"> <oql name="ObterUsuarios" oqltype="0">
<description></description> <description></description>
<query><![CDATA[ <query><![CDATA[SELECT ngUsuario
SELECT ngUsuario
FROM ngUsuario FROM ngUsuario
WHERE (ngUsuario.Nome LIKE '%'+?nome:acString+'%' OR ?nome:acString IS NULL) WHERE (ngUsuario.Nome LIKE '%'+?nome:acString+'%' OR ?nome:acString IS NULL)
AND (ngUsuario.CPF = ?cpf:acString OR ?cpf:acString IS NULL)]]></query> AND (ngUsuario.CPF = ?cpf:acString OR ?cpf:acString IS NULL)]]></query>
......
This diff is collapsed.
This diff is collapsed.
...@@ -4,10 +4,12 @@ unit nguEmprestimo; ...@@ -4,10 +4,12 @@ unit nguEmprestimo;
interface interface
uses uses
acuframework; acuframework, utumessage;
type type
ngEmprestimo = class(acPersistentObject) ngEmprestimo = class(acPersistentObject)
public
procedure toXML(piField: utField);
private private
FDataInicio: acDateTime; FDataInicio: acDateTime;
FDataDevolucaoPrevista: acDateTime; FDataDevolucaoPrevista: acDateTime;
...@@ -22,6 +24,12 @@ type ...@@ -22,6 +24,12 @@ type
implementation implementation
procedure ngEmprestimo.toXML(piField: utField);
begin
piField.AddAttribute('OID').AsString := Self.IDO.AsString;
piField.AddAttribute('DataInicio').AsDate := Self.DataInicio.Value;
piField.AddAttribute('DataDevolucaoPrevista').AsDate := Self.DataDevolucaoPrevista.Value;
end;
initialization initialization
......
...@@ -4,10 +4,12 @@ unit nguExemplar; ...@@ -4,10 +4,12 @@ unit nguExemplar;
interface interface
uses uses
acuframework; acuframework, utumessage;
type type
ngExemplar = class(acPersistentObject) ngExemplar = class(acPersistentObject)
public
procedure toXML(piField: utField);
private private
FCodigo: acString; FCodigo: acString;
fLivro: acRelationPartnerShip; fLivro: acRelationPartnerShip;
...@@ -22,6 +24,11 @@ type ...@@ -22,6 +24,11 @@ type
implementation implementation
procedure ngExemplar.toXML(piField: utField);
begin
piField.AddAttribute('OID').AsString := Self.IDO.AsString;
piField.AddAttribute('Codigo').AsString := Self.Codigo.AsString;
end;
initialization initialization
......
...@@ -4,10 +4,12 @@ unit nguLivro; ...@@ -4,10 +4,12 @@ unit nguLivro;
interface interface
uses uses
acuframework; acuframework, utumessage;
type type
ngLivro = class(acPersistentObject) ngLivro = class(acPersistentObject)
public
procedure toXML(piField: utField);
private private
FISBN: acString; FISBN: acString;
FTitulo: acString; FTitulo: acString;
...@@ -22,6 +24,12 @@ type ...@@ -22,6 +24,12 @@ type
implementation implementation
procedure ngLivro.toXML(piField: utField);
begin
piField.AddAttribute('OID').AsString := Self.IDO.AsString;
piField.AddAttribute('Titulo').AsString := Self.Titulo.AsString;
piField.AddAttribute('ISBN').AsString := Self.ISBN.AsString;
end;
initialization initialization
......
This diff is collapsed.
...@@ -6,12 +6,19 @@ uses acuOQL, acuFramework; ...@@ -6,12 +6,19 @@ uses acuOQL, acuFramework;
type type
IObterExemplares = interface(IOQLQuery)
function Param_titulo: acOQLParamString;
function Param_isbn: acOQLParamString;
function Param_codigo: acOQLParamString;
end;
IObterUsuarios = interface(IOQLQuery) IObterUsuarios = interface(IOQLQuery)
function Param_nome: acOQLParamString; function Param_nome: acOQLParamString;
function Param_cpf: acOQLParamString; function Param_cpf: acOQLParamString;
end; end;
utEmprestimoOQL = class utEmprestimoOQL = class
class function ObterExemplares(piSessao: acPersistenceSession): IObterExemplares;
class function ObterUsuarios(piSessao: acPersistenceSession): IObterUsuarios; class function ObterUsuarios(piSessao: acPersistenceSession): IObterUsuarios;
end; end;
...@@ -19,11 +26,34 @@ implementation ...@@ -19,11 +26,34 @@ implementation
type type
TObterExemplares = class(acOQLQuery, IObterExemplares)
function Param_titulo: acOQLParamString;
function Param_isbn: acOQLParamString;
function Param_codigo: acOQLParamString;
end;
TObterUsuarios = class(acOQLQuery, IObterUsuarios) TObterUsuarios = class(acOQLQuery, IObterUsuarios)
function Param_nome: acOQLParamString; function Param_nome: acOQLParamString;
function Param_cpf: acOQLParamString; function Param_cpf: acOQLParamString;
end; end;
{ TObterExemplares }
function TObterExemplares.Param_titulo: acOQLParamString;
begin
result := acOQLParamString(Self.ParamByName('titulo'));
end;
function TObterExemplares.Param_isbn: acOQLParamString;
begin
result := acOQLParamString(Self.ParamByName('isbn'));
end;
function TObterExemplares.Param_codigo: acOQLParamString;
begin
result := acOQLParamString(Self.ParamByName('codigo'));
end;
{ TObterUsuarios } { TObterUsuarios }
function TObterUsuarios.Param_nome: acOQLParamString; function TObterUsuarios.Param_nome: acOQLParamString;
...@@ -38,6 +68,18 @@ end; ...@@ -38,6 +68,18 @@ end;
{ utOQLs } { utOQLs }
class function utEmprestimoOQL.ObterExemplares(piSessao: acPersistenceSession): IObterExemplares;
begin
result := TObterExemplares.Create(pisessao,
'SELECT ngExemplar' + #13#10 +
'FROM ngExemplar,' + #13#10 +
' ngExemplar.Livro' + #13#10 +
'WHERE (ngExemplar.Livro.Titulo LIKE ''%''+?titulo:acString+''%'' OR ?titulo:acString IS NULL)' + #13#10 +
' AND (ngExemplar.Livro.ISBN = ?isbn:acString OR ?isbn:acString IS NULL)' + #13#10 +
' AND (ngExemplar.Codigo = ?codigo:acString OR ?codigo:acString IS NULL)' + #13#10 +
'ORDER BY ngExemplar.Livro.OID ASC');
end;
class function utEmprestimoOQL.ObterUsuarios(piSessao: acPersistenceSession): IObterUsuarios; class function utEmprestimoOQL.ObterUsuarios(piSessao: acPersistenceSession): IObterUsuarios;
begin begin
result := TObterUsuarios.Create(pisessao, result := TObterUsuarios.Create(pisessao,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment