Commit a3742827 authored by Gabriel Macena's avatar Gabriel Macena

Caso de uso Realizar Empréstimo concluído.

parent 14585827
*.exe
*.dproj
*.~*
*.rsm
<?xml version="1.0" encoding="ISO-8859-1" ?>
<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">
<description></description>
<query><![CDATA[
SELECT ngUsuario
<query><![CDATA[SELECT ngUsuario
FROM ngUsuario
WHERE (ngUsuario.Nome LIKE '%'+?nome:acString+'%' OR ?nome:acString IS NULL)
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;
interface
uses
acuframework;
acuframework, utumessage;
type
ngEmprestimo = class(acPersistentObject)
public
procedure toXML(piField: utField);
private
FDataInicio: acDateTime;
FDataDevolucaoPrevista: acDateTime;
......@@ -22,6 +24,12 @@ type
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
......
......@@ -4,10 +4,12 @@ unit nguExemplar;
interface
uses
acuframework;
acuframework, utumessage;
type
ngExemplar = class(acPersistentObject)
public
procedure toXML(piField: utField);
private
FCodigo: acString;
fLivro: acRelationPartnerShip;
......@@ -22,6 +24,11 @@ type
implementation
procedure ngExemplar.toXML(piField: utField);
begin
piField.AddAttribute('OID').AsString := Self.IDO.AsString;
piField.AddAttribute('Codigo').AsString := Self.Codigo.AsString;
end;
initialization
......
......@@ -4,10 +4,12 @@ unit nguLivro;
interface
uses
acuframework;
acuframework, utumessage;
type
ngLivro = class(acPersistentObject)
public
procedure toXML(piField: utField);
private
FISBN: acString;
FTitulo: acString;
......@@ -22,6 +24,12 @@ type
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
......
This diff is collapsed.
......@@ -6,12 +6,19 @@ uses acuOQL, acuFramework;
type
IObterExemplares = interface(IOQLQuery)
function Param_titulo: acOQLParamString;
function Param_isbn: acOQLParamString;
function Param_codigo: acOQLParamString;
end;
IObterUsuarios = interface(IOQLQuery)
function Param_nome: acOQLParamString;
function Param_cpf: acOQLParamString;
end;
utEmprestimoOQL = class
class function ObterExemplares(piSessao: acPersistenceSession): IObterExemplares;
class function ObterUsuarios(piSessao: acPersistenceSession): IObterUsuarios;
end;
......@@ -19,11 +26,34 @@ implementation
type
TObterExemplares = class(acOQLQuery, IObterExemplares)
function Param_titulo: acOQLParamString;
function Param_isbn: acOQLParamString;
function Param_codigo: acOQLParamString;
end;
TObterUsuarios = class(acOQLQuery, IObterUsuarios)
function Param_nome: acOQLParamString;
function Param_cpf: acOQLParamString;
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 }
function TObterUsuarios.Param_nome: acOQLParamString;
......@@ -38,6 +68,18 @@ end;
{ 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;
begin
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