Commit c7c61256 authored by Thiago Anders's avatar Thiago Anders

Selecionar Exemplar funcionando

parent 0119f01b
*.dproj
*.exe
*.~*
*.rsm
<?xml version="1.0" encoding="ISO-8859-1" ?>
<DATA>
<oql name="ObterClientes" oqltype="0">
<description></description>
<query><![CDATA[SELECT ngCliente
FROM ngCliente
WHERE (ngCliente.Nome LIKE '%'+?nome:acString+'%' OR ?nome:acString IS NULL)
AND (ngCliente.CPF = ?cpf:acString OR ?cpf:acString IS NULL)]]></query>
</oql>
<oql name="ObterExemplares" oqltype="0">
<description></description>
<query><![CDATA[SELECT ngExemplar
FROM ngExemplar
WHERE (ngExemplar.Livro.Titulo LIKE '%'+?titulo:acString+'%' OR ?titulo:acString IS NULL)
AND (ngExemplar.Codigo = ?codigo:acString OR ?codigo:acString IS NULL)
ORDER BY ngExemplar.Livro.OID]]></query>
</oql>
</DATA>
......@@ -436,6 +436,253 @@
<XPD:ATTR name="DataValue" type="string">3219</XPD:ATTR>
<XPD:REF name="TaggedModel">p/vittmuTUuhFmhDocI8PAAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="TaggedValues" type="TaggedValue" guid="huS4UJ6WF0yF07ClEb2MPwAA">
<XPD:ATTR name="ProfileName" type="string">DBMappings</XPD:ATTR>
<XPD:ATTR name="TagDefinitionSetName" type="string">UseCaseMap</XPD:ATTR>
<XPD:ATTR name="Name" type="string">XSDs</XPD:ATTR>
<XPD:ATTR name="DataValue" type="string">&lt;?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?&gt;
&lt;DATA&gt;
&lt;XSD name=&quot;RM_ESCOLHER_USUARIO_IN&quot;&gt;
&lt;description&gt;Input de escolher usuário.&lt;/description&gt;
&lt;text&gt;&lt;![CDATA[&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
&lt;!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)--&gt;
&lt;xs:schema elementFormDefault=&quot;qualified&quot; xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;&gt;
&lt;xs:element name=&quot;SYSMSG&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence minOccurs=&quot;1&quot; maxOccurs=&quot;1&quot;&gt;
&lt;xs:element name=&quot;Cliente&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:attribute name=&quot;OID&quot; type=&quot;xs:int&quot; use=&quot;required&quot; /&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:sequence&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:schema&gt;
]]&gt;&lt;/text&gt;
&lt;/XSD&gt;
&lt;XSD name=&quot;RM_ESCOLHER_USUARIO_OUT&quot;&gt;
&lt;description&gt;Output de escolher usuario.&lt;/description&gt;
&lt;text&gt;&lt;![CDATA[&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
&lt;!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)--&gt;
&lt;xs:schema elementFormDefault=&quot;qualified&quot; xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;&gt;
&lt;xs:element name=&quot;SYSMSG&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence minOccurs=&quot;1&quot; maxOccurs=&quot;1&quot;&gt;
&lt;xs:element name=&quot;Cliente&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:attribute name=&quot;Nome&quot; type=&quot;xs:string&quot; use=&quot;required&quot; /&gt;
&lt;xs:attribute name=&quot;CPF&quot; type=&quot;xs:string&quot; use=&quot;optional&quot; /&gt;
&lt;xs:attribute name=&quot;OID&quot; type=&quot;xs:int&quot; use=&quot;required&quot; /&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:sequence&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:schema&gt;]]&gt;&lt;/text&gt;
&lt;/XSD&gt;
&lt;XSD name=&quot;RM_PESQUISAR_EXEMPLAR_IN&quot;&gt;
&lt;description&gt;Input de pesquisar exemplar.&lt;/description&gt;
&lt;text&gt;&lt;![CDATA[&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
&lt;!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)--&gt;
&lt;xs:schema elementFormDefault=&quot;qualified&quot; xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;&gt;
&lt;xs:element name=&quot;SYSMSG&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence minOccurs=&quot;1&quot; maxOccurs=&quot;1&quot;&gt;
&lt;xs:element name=&quot;Exemplar&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence minOccurs=&quot;0&quot; maxOccurs=&quot;1&quot;&gt;
&lt;xs:element name=&quot;Livro&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:attribute name=&quot;Titulo&quot; type=&quot;xs:string&quot; use=&quot;optional&quot; /&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:sequence&gt;
&lt;xs:attribute name=&quot;Codigo&quot; type=&quot;xs:string&quot; use=&quot;optional&quot; /&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:sequence&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:schema&gt;]]&gt;&lt;/text&gt;
&lt;/XSD&gt;
&lt;XSD name=&quot;RM_PESQUISAR_EXEMPLAR_OUT&quot;&gt;
&lt;description&gt;Output de pesquisar exemplar.&lt;/description&gt;
&lt;text&gt;&lt;![CDATA[&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
&lt;!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)--&gt;
&lt;xs:schema elementFormDefault=&quot;qualified&quot; xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;&gt;
&lt;xs:element name=&quot;SYSMSG&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence minOccurs=&quot;1&quot; maxOccurs=&quot;1&quot;&gt;
&lt;xs:element name=&quot;Livros&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot;&gt;
&lt;xs:element name=&quot;Livro&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot;&gt;
&lt;xs:element name=&quot;Exemplares&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence minOccurs=&quot;1&quot; maxOccurs=&quot;unbounded&quot;&gt;
&lt;xs:element name=&quot;Exemplar&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence minOccurs=&quot;1&quot; maxOccurs=&quot;1&quot;&gt;
&lt;xs:element name=&quot;Situacao&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:attribute name=&quot;Codigo&quot; type=&quot;xs:string&quot; /&gt;
&lt;xs:attribute name=&quot;Descricao&quot; type=&quot;xs:string&quot; /&gt;
&lt;xs:attribute name=&quot;OID&quot; type=&quot;xs:int&quot; /&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:sequence&gt;
&lt;xs:attribute name=&quot;Codigo&quot; type=&quot;xs:string&quot; /&gt;
&lt;xs:attribute name=&quot;OID&quot; type=&quot;xs:int&quot; /&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:sequence&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:sequence&gt;
&lt;xs:attribute name=&quot;Titulo&quot; type=&quot;xs:string&quot; use=&quot;required&quot; /&gt;
&lt;xs:attribute name=&quot;Autor&quot; type=&quot;xs:string&quot; use=&quot;required&quot; /&gt;
&lt;xs:attribute name=&quot;Edicao&quot; type=&quot;xs:string&quot; use=&quot;required&quot; /&gt;
&lt;xs:attribute name=&quot;OID&quot; type=&quot;xs:int&quot; /&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:sequence&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:sequence&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:schema&gt;]]&gt;&lt;/text&gt;
&lt;/XSD&gt;
&lt;XSD name=&quot;RM_PESQUISAR_USUARIO_IN&quot;&gt;
&lt;description&gt;Input de Pesquisar Usuário&lt;/description&gt;
&lt;text&gt;&lt;![CDATA[&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
&lt;!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)--&gt;
&lt;xs:schema elementFormDefault=&quot;qualified&quot; xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;&gt;
&lt;xs:element name=&quot;SYSMSG&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence minOccurs=&quot;1&quot; maxOccurs=&quot;1&quot;&gt;
&lt;xs:element name=&quot;Cliente&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:attribute name=&quot;Nome&quot; type=&quot;xs:string&quot; use=&quot;optional&quot; /&gt;
&lt;xs:attribute name=&quot;CPF&quot; type=&quot;xs:string&quot; use=&quot;optional&quot; /&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:sequence&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:schema&gt;]]&gt;&lt;/text&gt;
&lt;/XSD&gt;
&lt;XSD name=&quot;RM_PESQUISAR_USUARIO_OUT&quot;&gt;
&lt;description&gt;Output de pesquisar usuário.&lt;/description&gt;
&lt;text&gt;&lt;![CDATA[&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
&lt;!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)--&gt;
&lt;xs:schema elementFormDefault=&quot;qualified&quot; xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;&gt;
&lt;xs:element name=&quot;SYSMSG&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence minOccurs=&quot;0&quot; maxOccurs=&quot;1&quot;&gt;
&lt;xs:element name=&quot;Clientes&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot;&gt;
&lt;xs:element name=&quot;Cliente&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:attribute name=&quot;Nome&quot; type=&quot;xs:string&quot; /&gt;
&lt;xs:attribute name=&quot;CPF&quot; type=&quot;xs:string&quot; /&gt;
&lt;xs:attribute name=&quot;OID&quot; type=&quot;xs:string&quot; /&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:sequence&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:sequence&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:schema&gt;]]&gt;&lt;/text&gt;
&lt;/XSD&gt;
&lt;XSD name=&quot;RM_SELECIONAR_EXEMPLAR_IN&quot;&gt;
&lt;description&gt;Input de selcionar exemplar.&lt;/description&gt;
&lt;text&gt;&lt;![CDATA[&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
&lt;!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)--&gt;
&lt;xs:schema elementFormDefault=&quot;qualified&quot; xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;&gt;
&lt;xs:element name=&quot;SYSMSG&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element name=&quot;Exemplar&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:attribute name=&quot;OID&quot; type=&quot;xs:int&quot; use=&quot;required&quot; /&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:sequence&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:schema&gt;
]]&gt;&lt;/text&gt;
&lt;/XSD&gt;
&lt;XSD name=&quot;RM_SELECIONAR_EXEMPLAR_OUT&quot;&gt;
&lt;description&gt;Output de selcionar exemplar.&lt;/description&gt;
&lt;text&gt;&lt;![CDATA[&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
&lt;!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)--&gt;
&lt;xs:schema elementFormDefault=&quot;qualified&quot; xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;&gt;
&lt;xs:element name=&quot;SYSMSG&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence minOccurs=&quot;1&quot; maxOccurs=&quot;1&quot;&gt;
&lt;xs:element name=&quot;Exemplares&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot;&gt;
&lt;xs:element name=&quot;Exemplar&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence minOccurs=&quot;1&quot; maxOccurs=&quot;1&quot;&gt;
&lt;xs:element name=&quot;Livro&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:attribute name=&quot;Titulo&quot; type=&quot;xs:string&quot; /&gt;
&lt;xs:attribute name=&quot;Autor&quot; type=&quot;xs:string&quot; /&gt;
&lt;xs:attribute name=&quot;OID&quot; type=&quot;xs:int&quot; /&gt;
&lt;xs:attribute name=&quot;Edicao&quot; type=&quot;xs:string&quot; /&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:sequence&gt;
&lt;xs:attribute name=&quot;OID&quot; type=&quot;xs:int&quot; /&gt;
&lt;xs:attribute name=&quot;Codigo&quot; type=&quot;xs:string&quot; /&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:sequence&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:sequence&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:schema&gt;
]]&gt;&lt;/text&gt;
&lt;/XSD&gt;
&lt;/DATA&gt;
</XPD:ATTR>
<XPD:REF name="TaggedModel">p/vittmuTUuhFmhDocI8PAAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJCOLL>
<XPD:OBJCOLL name="Behaviors">
<XPD:OBJ name="Behaviors" type="UMLStateMachine" guid="+3R7jp0FUUyhIjwLQAb6ZgAA">
......@@ -504,6 +751,7 @@
<XPD:REF name="Incomings">zoz5HQ7prkaPs0hzANkOgAAA</XPD:REF>
<XPD:REF name="Incomings">xAW2WoI5CkSGva18lK0S8AAA</XPD:REF>
<XPD:REF name="Incomings">CRZju/GF5kC70NZuw14zKQAA</XPD:REF>
<XPD:REF name="Incomings">qk4Fn8uJXUuq/hcTcGWV/wAA</XPD:REF>
</XPD:REFCOLL>
</XPD:OBJ>
<XPD:OBJ name="Subvertices" type="UMLCompositeState" guid="Ybcz3N/IeUOSuQvGBa8bWQAA">
......@@ -531,6 +779,7 @@
<XPD:REFCOLL name="Outgoings">
<XPD:REF name="Outgoings">zoz5HQ7prkaPs0hzANkOgAAA</XPD:REF>
<XPD:REF name="Outgoings">JWCQF6J4MkWOs7KQfcBhLgAA</XPD:REF>
<XPD:REF name="Outgoings">qk4Fn8uJXUuq/hcTcGWV/wAA</XPD:REF>
</XPD:REFCOLL>
<XPD:REFCOLL name="Incomings">
<XPD:REF name="Incomings">b6nt+FRzF0G+LB9YfX4WpwAA</XPD:REF>
......@@ -730,6 +979,7 @@
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-1,5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
<XPD:ATTR name="Text" type="string">{XSD In = RM_PESQUISAR_USUARIO..., XSD Out = RM_PESQUISAR_USUARIO...}</XPD:ATTR>
<XPD:REF name="Model">1Mk/J6lYlU6jImCYHSeZGAAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
......@@ -756,6 +1006,7 @@
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-1,5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
<XPD:ATTR name="Text" type="string">{XSD In = RM_ESCOLHER_USUARIO_..., XSD Out = RM_ESCOLHER_USUARIO_...}</XPD:ATTR>
<XPD:REF name="Model">pxLZHeEhQk2LZrJoI2nRQwAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
......@@ -783,6 +1034,7 @@
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-1,5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
<XPD:ATTR name="Text" type="string">{XSD In = RM_PESQUISAR_USUARIO..., XSD Out = RM_PESQUISAR_USUARIO...}</XPD:ATTR>
<XPD:REF name="Model">h7jwUGd2HkOAO5S2FIdNawAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
......@@ -836,35 +1088,10 @@
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-1,5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
<XPD:ATTR name="Text" type="string">{XSD In = RM_PESQUISAR_EXEMPLA..., XSD Out = RM_PESQUISAR_EXEMPLA...}</XPD:ATTR>
<XPD:REF name="Model">b6nt+FRzF0G+LB9YfX4WpwAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedViews" type="UMLTransitionView" guid="0ClegU9lkEK3C7S4m3XuxgAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="Points" type="Points">648,332;604,296;272,296;199,332</XPD:ATTR>
<XPD:REF name="Model">gaieQLLrWESdlAdN7Zmf+AAA</XPD:REF>
<XPD:REF name="Head">G/kRd6s+v0yFWMwXdZcbEwAA</XPD:REF>
<XPD:REF name="Tail">5YCdhHua9UCdh+9kjKImxQAA</XPD:REF>
<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="ACplwEjUrUCWM8aGWphXgwAA">
<XPD:ATTR name="Alpha" type="real">-0,948023087396361</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">24,4131112314674</XPD:ATTR>
<XPD:ATTR name="Text" type="string">RM_CANCELAR_ESCOLHA_EXEMPLAR / Effect_CancelarEscolhaExemplar</XPD:ATTR>
<XPD:REF name="Model">gaieQLLrWESdlAdN7Zmf+AAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="4lQ18K5h4UGFvHy1NldUAgAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">1,5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
<XPD:REF name="Model">gaieQLLrWESdlAdN7Zmf+AAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="WRUlv95jNk2ckpiNnhT0GgAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-1,5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
<XPD:REF name="Model">gaieQLLrWESdlAdN7Zmf+AAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedViews" type="UMLFinalStateView" guid="c1LADEyLNUOSGonX1adOzwAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
......@@ -1003,9 +1230,37 @@
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-1,5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
<XPD:ATTR name="Text" type="string">{XSD In = RM_PESQUISAR_EXEMPLA..., XSD Out = RM_PESQUISAR_EXEMPLA...}</XPD:ATTR>
<XPD:REF name="Model">JWCQF6J4MkWOs7KQfcBhLgAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedViews" type="UMLTransitionView" guid="ZSq51dbkp0eB2JNIlgjHfwAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="Points" type="Points">215,335;308,308;528,308;616,334</XPD:ATTR>
<XPD:REF name="Model">qk4Fn8uJXUuq/hcTcGWV/wAA</XPD:REF>
<XPD:REF name="Head">5YCdhHua9UCdh+9kjKImxQAA</XPD:REF>
<XPD:REF name="Tail">G/kRd6s+v0yFWMwXdZcbEwAA</XPD:REF>
<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="ldv63tlhVUC0lpb4xUSvJwAA">
<XPD:ATTR name="Alpha" type="real">1,5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
<XPD:ATTR name="Text" type="string">RM_SELECIONAR_EXEMPLAR / Effect_SelecionarExemplar</XPD:ATTR>
<XPD:REF name="Model">qk4Fn8uJXUuq/hcTcGWV/wAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="CoG2MRjnhkSx5DggdigeDgAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">1,5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
<XPD:REF name="Model">qk4Fn8uJXUuq/hcTcGWV/wAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="0YJ0W+920Ueuu4Qqc8KdcQAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-1,5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
<XPD:ATTR name="Text" type="string">{XSD In = RM_SELECIONAR_EXEMPL..., XSD Out = RM_SELECIONAR_EXEMPL...}</XPD:ATTR>
<XPD:REF name="Model">qk4Fn8uJXUuq/hcTcGWV/wAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
</XPD:OBJCOLL>
</XPD:OBJ>
</XPD:OBJ>
......@@ -1032,6 +1287,22 @@
<XPD:REF name="Views">Wgqc6/7zKUK1+A2JWDpY4wAA</XPD:REF>
<XPD:REF name="Views">pFJVfK4cDUyvoFCyicLPRwAA</XPD:REF>
</XPD:REFCOLL>
<XPD:OBJCOLL name="TaggedValues">
<XPD:OBJ name="TaggedValues" type="TaggedValue" guid="TjmXYmJK/0+A4pHGOcc6kAAA">
<XPD:ATTR name="ProfileName" type="string">DBMappings</XPD:ATTR>
<XPD:ATTR name="TagDefinitionSetName" type="string">TransitionMap</XPD:ATTR>
<XPD:ATTR name="Name" type="string">XSD In</XPD:ATTR>
<XPD:ATTR name="DataValue" type="string">RM_PESQUISAR_USUARIO_IN</XPD:ATTR>
<XPD:REF name="TaggedModel">1Mk/J6lYlU6jImCYHSeZGAAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="TaggedValues" type="TaggedValue" guid="uh/uocKLOE2Szn8kEaf8owAA">
<XPD:ATTR name="ProfileName" type="string">DBMappings</XPD:ATTR>
<XPD:ATTR name="TagDefinitionSetName" type="string">TransitionMap</XPD:ATTR>
<XPD:ATTR name="Name" type="string">XSD Out</XPD:ATTR>
<XPD:ATTR name="DataValue" type="string">RM_PESQUISAR_USUARIO_OUT</XPD:ATTR>
<XPD:REF name="TaggedModel">1Mk/J6lYlU6jImCYHSeZGAAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJCOLL>
<XPD:OBJCOLL name="Effects">
<XPD:OBJ name="Effects" type="UMLUninterpretedAction" guid="bgzIvEg/MUucvq1skbNwqQAA">
<XPD:ATTR name="Name" type="string">Effect_PesquisarUsuario</XPD:ATTR>
......@@ -1055,6 +1326,22 @@
<XPD:REF name="Views">JK1jKGHuoEmr3eFF52hWqAAA</XPD:REF>
<XPD:REF name="Views">VXOhKDfV1kSVDv8dQ2nhMQAA</XPD:REF>
</XPD:REFCOLL>
<XPD:OBJCOLL name="TaggedValues">
<XPD:OBJ name="TaggedValues" type="TaggedValue" guid="farnPhmzt0+hvhqYk2jTGQAA">
<XPD:ATTR name="ProfileName" type="string">DBMappings</XPD:ATTR>
<XPD:ATTR name="TagDefinitionSetName" type="string">TransitionMap</XPD:ATTR>
<XPD:ATTR name="Name" type="string">XSD In</XPD:ATTR>
<XPD:ATTR name="DataValue" type="string">RM_ESCOLHER_USUARIO_IN</XPD:ATTR>
<XPD:REF name="TaggedModel">pxLZHeEhQk2LZrJoI2nRQwAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="TaggedValues" type="TaggedValue" guid="es4uSz6HRUanvcqODnTnxQAA">
<XPD:ATTR name="ProfileName" type="string">DBMappings</XPD:ATTR>
<XPD:ATTR name="TagDefinitionSetName" type="string">TransitionMap</XPD:ATTR>
<XPD:ATTR name="Name" type="string">XSD Out</XPD:ATTR>
<XPD:ATTR name="DataValue" type="string">RM_ESCOLHER_USUARIO_OUT</XPD:ATTR>
<XPD:REF name="TaggedModel">pxLZHeEhQk2LZrJoI2nRQwAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJCOLL>
<XPD:OBJCOLL name="Effects">
<XPD:OBJ name="Effects" type="UMLUninterpretedAction" guid="aLul//5F5UKD2vBFjGp5pAAA">
<XPD:ATTR name="Name" type="string">Effect_EscolherUsuario</XPD:ATTR>
......@@ -1078,6 +1365,22 @@
<XPD:REF name="Views">0GEjn7Q+706gr+HE8iAVOwAA</XPD:REF>
<XPD:REF name="Views">qdDXZj2/xE2PEvvMvd9TUQAA</XPD:REF>
</XPD:REFCOLL>
<XPD:OBJCOLL name="TaggedValues">
<XPD:OBJ name="TaggedValues" type="TaggedValue" guid="176fVXe7vkiCfMpLSgAFNAAA">
<XPD:ATTR name="ProfileName" type="string">DBMappings</XPD:ATTR>
<XPD:ATTR name="TagDefinitionSetName" type="string">TransitionMap</XPD:ATTR>
<XPD:ATTR name="Name" type="string">XSD In</XPD:ATTR>
<XPD:ATTR name="DataValue" type="string">RM_PESQUISAR_USUARIO_IN</XPD:ATTR>
<XPD:REF name="TaggedModel">h7jwUGd2HkOAO5S2FIdNawAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="TaggedValues" type="TaggedValue" guid="1F9YT/l3J0+8Szwe8hhx0gAA">
<XPD:ATTR name="ProfileName" type="string">DBMappings</XPD:ATTR>
<XPD:ATTR name="TagDefinitionSetName" type="string">TransitionMap</XPD:ATTR>
<XPD:ATTR name="Name" type="string">XSD Out</XPD:ATTR>
<XPD:ATTR name="DataValue" type="string">RM_PESQUISAR_USUARIO_OUT</XPD:ATTR>
<XPD:REF name="TaggedModel">h7jwUGd2HkOAO5S2FIdNawAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJCOLL>
<XPD:OBJCOLL name="Effects">
<XPD:OBJ name="Effects" type="UMLUninterpretedAction" guid="9glPT13bTE+Rxt8Ectpu+wAA">
<XPD:ATTR name="Name" type="string">Effect_PesquisarUsuario</XPD:ATTR>
......@@ -1124,6 +1427,22 @@
<XPD:REF name="Views">nNt8fyEnBk+zBWWc9by/AwAA</XPD:REF>
<XPD:REF name="Views">HGcEDE8MxkaaPXZ15z5PCwAA</XPD:REF>
</XPD:REFCOLL>
<XPD:OBJCOLL name="TaggedValues">
<XPD:OBJ name="TaggedValues" type="TaggedValue" guid="kPcZ9V8YqUa+lpqaG4kyiQAA">
<XPD:ATTR name="ProfileName" type="string">DBMappings</XPD:ATTR>
<XPD:ATTR name="TagDefinitionSetName" type="string">TransitionMap</XPD:ATTR>
<XPD:ATTR name="Name" type="string">XSD In</XPD:ATTR>
<XPD:ATTR name="DataValue" type="string">RM_PESQUISAR_EXEMPLAR_IN</XPD:ATTR>
<XPD:REF name="TaggedModel">b6nt+FRzF0G+LB9YfX4WpwAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="TaggedValues" type="TaggedValue" guid="kpGuEhxubkemKfqImOd98QAA">
<XPD:ATTR name="ProfileName" type="string">DBMappings</XPD:ATTR>
<XPD:ATTR name="TagDefinitionSetName" type="string">TransitionMap</XPD:ATTR>
<XPD:ATTR name="Name" type="string">XSD Out</XPD:ATTR>
<XPD:ATTR name="DataValue" type="string">RM_PESQUISAR_EXEMPLAR_OUT</XPD:ATTR>
<XPD:REF name="TaggedModel">b6nt+FRzF0G+LB9YfX4WpwAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJCOLL>
<XPD:OBJCOLL name="Effects">
<XPD:OBJ name="Effects" type="UMLUninterpretedAction" guid="EO2MX3JUeEqGuXMi4Ls90QAA">
<XPD:ATTR name="Name" type="string">Effect_PesquisarExemplar</XPD:ATTR>
......@@ -1141,12 +1460,6 @@
<XPD:REF name="StateMachine">+3R7jp0FUUyhIjwLQAb6ZgAA</XPD:REF>
<XPD:REF name="Source">UuasrBCG5UShV1iIaAyaTgAA</XPD:REF>
<XPD:REF name="Target">Rh+Orb/xREebGVPjunXGnwAA</XPD:REF>
<XPD:REFCOLL name="Views">
<XPD:REF name="Views">0ClegU9lkEK3C7S4m3XuxgAA</XPD:REF>
<XPD:REF name="Views">ACplwEjUrUCWM8aGWphXgwAA</XPD:REF>
<XPD:REF name="Views">4lQ18K5h4UGFvHy1NldUAgAA</XPD:REF>
<XPD:REF name="Views">WRUlv95jNk2ckpiNnhT0GgAA</XPD:REF>
</XPD:REFCOLL>
<XPD:OBJCOLL name="Effects">
<XPD:OBJ name="Effects" type="UMLUninterpretedAction" guid="0zlPzXk/7UyQa6LfifDdWAAA">
<XPD:ATTR name="Name" type="string">Effect_CancelarEscolhaExemplar</XPD:ATTR>
......@@ -1262,6 +1575,22 @@
<XPD:REF name="Views">nOVC6iyDTUKn/fZIT7M4AwAA</XPD:REF>
<XPD:REF name="Views">p/agI4S/o06zy95k6izhbgAA</XPD:REF>
</XPD:REFCOLL>
<XPD:OBJCOLL name="TaggedValues">
<XPD:OBJ name="TaggedValues" type="TaggedValue" guid="dUkb5PAuA02oWD2/uqBb1QAA">
<XPD:ATTR name="ProfileName" type="string">DBMappings</XPD:ATTR>
<XPD:ATTR name="TagDefinitionSetName" type="string">TransitionMap</XPD:ATTR>
<XPD:ATTR name="Name" type="string">XSD In</XPD:ATTR>
<XPD:ATTR name="DataValue" type="string">RM_PESQUISAR_EXEMPLAR_IN</XPD:ATTR>
<XPD:REF name="TaggedModel">JWCQF6J4MkWOs7KQfcBhLgAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="TaggedValues" type="TaggedValue" guid="JzywJJP4JU6AYk4y1zc4rwAA">
<XPD:ATTR name="ProfileName" type="string">DBMappings</XPD:ATTR>
<XPD:ATTR name="TagDefinitionSetName" type="string">TransitionMap</XPD:ATTR>
<XPD:ATTR name="Name" type="string">XSD Out</XPD:ATTR>
<XPD:ATTR name="DataValue" type="string">RM_PESQUISAR_EXEMPLAR_OUT</XPD:ATTR>
<XPD:REF name="TaggedModel">JWCQF6J4MkWOs7KQfcBhLgAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJCOLL>
<XPD:OBJCOLL name="Effects">
<XPD:OBJ name="Effects" type="UMLUninterpretedAction" guid="YCsQa8z3HEKFhmPkyymueQAA">
<XPD:ATTR name="Name" type="string">Effect_PesquisarExemplar</XPD:ATTR>
......@@ -1275,6 +1604,45 @@
</XPD:OBJ>
</XPD:OBJCOLL>
</XPD:OBJ>
<XPD:OBJ name="Transitions" type="UMLTransition" guid="qk4Fn8uJXUuq/hcTcGWV/wAA">
<XPD:REF name="StateMachine">+3R7jp0FUUyhIjwLQAb6ZgAA</XPD:REF>
<XPD:REF name="Source">Rh+Orb/xREebGVPjunXGnwAA</XPD:REF>
<XPD:REF name="Target">UuasrBCG5UShV1iIaAyaTgAA</XPD:REF>
<XPD:REFCOLL name="Views">
<XPD:REF name="Views">ZSq51dbkp0eB2JNIlgjHfwAA</XPD:REF>
<XPD:REF name="Views">ldv63tlhVUC0lpb4xUSvJwAA</XPD:REF>
<XPD:REF name="Views">CoG2MRjnhkSx5DggdigeDgAA</XPD:REF>
<XPD:REF name="Views">0YJ0W+920Ueuu4Qqc8KdcQAA</XPD:REF>
</XPD:REFCOLL>
<XPD:OBJCOLL name="TaggedValues">
<XPD:OBJ name="TaggedValues" type="TaggedValue" guid="3JFGySx5LEePaqVNrPws/gAA">
<XPD:ATTR name="ProfileName" type="string">DBMappings</XPD:ATTR>
<XPD:ATTR name="TagDefinitionSetName" type="string">TransitionMap</XPD:ATTR>
<XPD:ATTR name="Name" type="string">XSD In</XPD:ATTR>
<XPD:ATTR name="DataValue" type="string">RM_SELECIONAR_EXEMPLAR_IN</XPD:ATTR>
<XPD:REF name="TaggedModel">qk4Fn8uJXUuq/hcTcGWV/wAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="TaggedValues" type="TaggedValue" guid="Sx+PwF/Zgkm8PiAqDfSmmQAA">
<XPD:ATTR name="ProfileName" type="string">DBMappings</XPD:ATTR>
<XPD:ATTR name="TagDefinitionSetName" type="string">TransitionMap</XPD:ATTR>
<XPD:ATTR name="Name" type="string">XSD Out</XPD:ATTR>
<XPD:ATTR name="DataValue" type="string">RM_SELECIONAR_EXEMPLAR_OUT</XPD:ATTR>
<XPD:REF name="TaggedModel">qk4Fn8uJXUuq/hcTcGWV/wAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJCOLL>
<XPD:OBJCOLL name="Effects">
<XPD:OBJ name="Effects" type="UMLUninterpretedAction" guid="ATxUJPSUNEyOuuSnQJ3RqAAA">
<XPD:ATTR name="Name" type="string">Effect_SelecionarExemplar</XPD:ATTR>
<XPD:REF name="Transition">qk4Fn8uJXUuq/hcTcGWV/wAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJCOLL>
<XPD:OBJCOLL name="Triggers">
<XPD:OBJ name="Triggers" type="UMLSignalEvent" guid="pZEKln78NEqA0xHPO0tNOQAA">
<XPD:ATTR name="Name" type="string">RM_SELECIONAR_EXEMPLAR</XPD:ATTR>
<XPD:REF name="Transition">qk4Fn8uJXUuq/hcTcGWV/wAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJCOLL>
</XPD:OBJ>
</XPD:OBJCOLL>
</XPD:OBJ>
</XPD:OBJCOLL>
......@@ -1685,7 +2053,7 @@
<XPD:OBJ name="OwnedViews" type="UMLClassView" guid="5rYyXzfVrUaapOMu28cWJgAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="Left" type="integer">440</XPD:ATTR>
<XPD:ATTR name="Left" type="integer">436</XPD:ATTR>
<XPD:ATTR name="Top" type="integer">48</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">186</XPD:ATTR>
<XPD:ATTR name="Height" type="integer">82</XPD:ATTR>
......@@ -1717,7 +2085,7 @@
<XPD:OBJ name="OwnedViews" type="UMLAssociationView" guid="54NlaabYKke/mCqVuG7fjwAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="Points" type="Points">530,256;532,129</XPD:ATTR>
<XPD:ATTR name="Points" type="Points">530,256;528,129</XPD:ATTR>
<XPD:REF name="Model">kWF4vjVkKUmPnVs7giBarAAA</XPD:REF>
<XPD:REF name="Head">5rYyXzfVrUaapOMu28cWJgAA</XPD:REF>
<XPD:REF name="Tail">cv97j1zdsUiz15VFkUZt7AAA</XPD:REF>
......
......@@ -1262,6 +1262,334 @@ begin
'';
end;
function GetXSDIn_3219_smucEmprestarLivro_PesquisandoUsuario_RM_PESQUISAR_USUARIO: String;
begin
Result := '<?xml version="1.0"?>' + #13#10 +
'<!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)-->' + #13#10 +
'<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">' + #13#10 +
' <xs:element name="SYSMSG">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:sequence minOccurs="1" maxOccurs="1">' + #13#10 +
' <xs:element name="Cliente">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:attribute name="Nome" type="xs:string" use="optional"/>' + #13#10 +
' <xs:attribute name="CPF" type="xs:string" use="optional"/>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
' </xs:sequence>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
'</xs:schema>' + #13#10 +
'';
end;
function GetXSDOut_3219_smucEmprestarLivro_PesquisandoUsuario_RM_PESQUISAR_USUARIO: String;
begin
Result := '<?xml version="1.0"?>' + #13#10 +
'<!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)-->' + #13#10 +
'<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">' + #13#10 +
' <xs:element name="SYSMSG">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:sequence minOccurs="0" maxOccurs="1">' + #13#10 +
' <xs:element name="Clientes">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:sequence minOccurs="0" maxOccurs="unbounded">' + #13#10 +
' <xs:element name="Cliente">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:attribute name="Nome" type="xs:string"/>' + #13#10 +
' <xs:attribute name="CPF" type="xs:string"/>' + #13#10 +
' <xs:attribute name="OID" type="xs:string"/>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
' </xs:sequence>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
' </xs:sequence>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
'</xs:schema>' + #13#10 +
'';
end;
function GetXSDIn_3219_smucEmprestarLivro_EscolhendoUsuario_RM_ESCOLHER_USUARIO: String;
begin
Result := '<?xml version="1.0"?>' + #13#10 +
'<!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)-->' + #13#10 +
'<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">' + #13#10 +
' <xs:element name="SYSMSG">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:sequence minOccurs="1" maxOccurs="1">' + #13#10 +
' <xs:element name="Cliente">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:attribute name="OID" type="xs:int" use="required"/>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
' </xs:sequence>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
'</xs:schema>' + #13#10 +
'';
end;
function GetXSDOut_3219_smucEmprestarLivro_EscolhendoUsuario_RM_ESCOLHER_USUARIO: String;
begin
Result := '<?xml version="1.0"?>' + #13#10 +
'<!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)-->' + #13#10 +
'<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">' + #13#10 +
' <xs:element name="SYSMSG">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:sequence minOccurs="1" maxOccurs="1">' + #13#10 +
' <xs:element name="Cliente">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:attribute name="Nome" type="xs:string" use="required"/>' + #13#10 +
' <xs:attribute name="CPF" type="xs:string" use="optional"/>' + #13#10 +
' <xs:attribute name="OID" type="xs:int" use="required"/>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
' </xs:sequence>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
'</xs:schema>' + #13#10 +
'';
end;
function GetXSDIn_3219_smucEmprestarLivro_EscolhendoUsuario_RM_PESQUISAR_USUARIO: String;
begin
Result := '<?xml version="1.0"?>' + #13#10 +
'<!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)-->' + #13#10 +
'<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">' + #13#10 +
' <xs:element name="SYSMSG">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:sequence minOccurs="1" maxOccurs="1">' + #13#10 +
' <xs:element name="Cliente">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:attribute name="Nome" type="xs:string" use="optional"/>' + #13#10 +
' <xs:attribute name="CPF" type="xs:string" use="optional"/>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
' </xs:sequence>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
'</xs:schema>' + #13#10 +
'';
end;
function GetXSDOut_3219_smucEmprestarLivro_EscolhendoUsuario_RM_PESQUISAR_USUARIO: String;
begin
Result := '<?xml version="1.0"?>' + #13#10 +
'<!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)-->' + #13#10 +
'<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">' + #13#10 +
' <xs:element name="SYSMSG">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:sequence minOccurs="0" maxOccurs="1">' + #13#10 +
' <xs:element name="Clientes">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:sequence minOccurs="0" maxOccurs="unbounded">' + #13#10 +
' <xs:element name="Cliente">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:attribute name="Nome" type="xs:string"/>' + #13#10 +
' <xs:attribute name="CPF" type="xs:string"/>' + #13#10 +
' <xs:attribute name="OID" type="xs:string"/>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
' </xs:sequence>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
' </xs:sequence>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
'</xs:schema>' + #13#10 +
'';
end;
function GetXSDIn_3219_smucEmprestarLivro_EditandoEmprestimos_RM_PESQUISAR_EXEMPLAR: String;
begin
Result := '<?xml version="1.0"?>' + #13#10 +
'<!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)-->' + #13#10 +
'<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">' + #13#10 +
' <xs:element name="SYSMSG">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:sequence minOccurs="1" maxOccurs="1">' + #13#10 +
' <xs:element name="Exemplar">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:sequence minOccurs="0" maxOccurs="1">' + #13#10 +
' <xs:element name="Livro">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:attribute name="Titulo" type="xs:string" use="optional"/>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
' </xs:sequence>' + #13#10 +
' <xs:attribute name="Codigo" type="xs:string" use="optional"/>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
' </xs:sequence>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
'</xs:schema>' + #13#10 +
'';
end;
function GetXSDOut_3219_smucEmprestarLivro_EditandoEmprestimos_RM_PESQUISAR_EXEMPLAR: String;
begin
Result := '<?xml version="1.0"?>' + #13#10 +
'<!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)-->' + #13#10 +
'<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">' + #13#10 +
' <xs:element name="SYSMSG">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:sequence minOccurs="1" maxOccurs="1">' + #13#10 +
' <xs:element name="Livros">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:sequence minOccurs="0" maxOccurs="unbounded">' + #13#10 +
' <xs:element name="Livro">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:sequence minOccurs="0" maxOccurs="unbounded">' + #13#10 +
' <xs:element name="Exemplares">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:sequence minOccurs="1" maxOccurs="unbounded">' + #13#10 +
' <xs:element name="Exemplar">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:sequence minOccurs="1" maxOccurs="1">' + #13#10 +
' <xs:element name="Situacao">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:attribute name="Codigo" type="xs:string"/>' + #13#10 +
' <xs:attribute name="Descricao" type="xs:string"/>' + #13#10 +
' <xs:attribute name="OID" type="xs:int"/>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
' </xs:sequence>' + #13#10 +
' <xs:attribute name="Codigo" type="xs:string"/>' + #13#10 +
' <xs:attribute name="OID" type="xs:int"/>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
' </xs:sequence>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
' </xs:sequence>' + #13#10 +
' <xs:attribute name="Titulo" type="xs:string" use="required"/>' + #13#10 +
' <xs:attribute name="Autor" type="xs:string" use="required"/>' + #13#10 +
' <xs:attribute name="Edicao" type="xs:string" use="required"/>' + #13#10 +
' <xs:attribute name="OID" type="xs:int"/>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
' </xs:sequence>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
' </xs:sequence>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
'</xs:schema>' + #13#10 +
'';
end;
function GetXSDIn_3219_smucEmprestarLivro_EscolhendoExemplar_RM_PESQUISAR_EXEMPLAR: String;
begin
Result := '<?xml version="1.0"?>' + #13#10 +
'<!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)-->' + #13#10 +
'<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">' + #13#10 +
' <xs:element name="SYSMSG">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:sequence minOccurs="1" maxOccurs="1">' + #13#10 +
' <xs:element name="Exemplar">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:sequence minOccurs="0" maxOccurs="1">' + #13#10 +
' <xs:element name="Livro">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:attribute name="Titulo" type="xs:string" use="optional"/>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
' </xs:sequence>' + #13#10 +
' <xs:attribute name="Codigo" type="xs:string" use="optional"/>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
' </xs:sequence>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
'</xs:schema>' + #13#10 +
'';
end;
function GetXSDOut_3219_smucEmprestarLivro_EscolhendoExemplar_RM_PESQUISAR_EXEMPLAR: String;
begin
Result := '<?xml version="1.0"?>' + #13#10 +
'<!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)-->' + #13#10 +
'<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">' + #13#10 +
' <xs:element name="SYSMSG">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:sequence minOccurs="1" maxOccurs="1">' + #13#10 +
' <xs:element name="Livros">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:sequence minOccurs="0" maxOccurs="unbounded">' + #13#10 +
' <xs:element name="Livro">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:sequence minOccurs="0" maxOccurs="unbounded">' + #13#10 +
' <xs:element name="Exemplares">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:sequence minOccurs="1" maxOccurs="unbounded">' + #13#10 +
' <xs:element name="Exemplar">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:sequence minOccurs="1" maxOccurs="1">' + #13#10 +
' <xs:element name="Situacao">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:attribute name="Codigo" type="xs:string"/>' + #13#10 +
' <xs:attribute name="Descricao" type="xs:string"/>' + #13#10 +
' <xs:attribute name="OID" type="xs:int"/>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
' </xs:sequence>' + #13#10 +
' <xs:attribute name="Codigo" type="xs:string"/>' + #13#10 +
' <xs:attribute name="OID" type="xs:int"/>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
' </xs:sequence>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
' </xs:sequence>' + #13#10 +
' <xs:attribute name="Titulo" type="xs:string" use="required"/>' + #13#10 +
' <xs:attribute name="Autor" type="xs:string" use="required"/>' + #13#10 +
' <xs:attribute name="Edicao" type="xs:string" use="required"/>' + #13#10 +
' <xs:attribute name="OID" type="xs:int"/>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
' </xs:sequence>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
' </xs:sequence>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
'</xs:schema>' + #13#10 +
'';
end;
procedure RegisterUseCases1(piMetaModel: acMetaModel);
var
lUseCaseTicket: acUseCaseTicket;
......@@ -2059,6 +2387,8 @@ begin
lTransition.TargetState := lStateMachine.FindState('EscolhendoUsuario');
lTransition.AddTrigger('RM_PESQUISAR_USUARIO');
lTransition.AddEffect('Effect_PesquisarUsuario');
lTransition.XsdIn.XML := GetXSDIn_3219_smucEmprestarLivro_PesquisandoUsuario_RM_PESQUISAR_USUARIO;
lTransition.XsdOut.XML := GetXSDOut_3219_smucEmprestarLivro_PesquisandoUsuario_RM_PESQUISAR_USUARIO;
lState := lStateMachine.FindState('EscolhendoUsuario');
lTransition := lState.NewOutgoingTransition('RM_ESCOLHER_USUARIO');
......@@ -2066,11 +2396,15 @@ begin
lTransition.TargetState := lStateMachine.FindState('EditandoEmprestimos');
lTransition.AddTrigger('RM_ESCOLHER_USUARIO');
lTransition.AddEffect('Effect_EscolherUsuario');
lTransition.XsdIn.XML := GetXSDIn_3219_smucEmprestarLivro_EscolhendoUsuario_RM_ESCOLHER_USUARIO;
lTransition.XsdOut.XML := GetXSDOut_3219_smucEmprestarLivro_EscolhendoUsuario_RM_ESCOLHER_USUARIO;
lTransition := lState.NewOutgoingTransition('RM_PESQUISAR_USUARIO');
lTransition.SourceState := lState;
lTransition.TargetState := lState;
lTransition.AddTrigger('RM_PESQUISAR_USUARIO');
lTransition.AddEffect('Effect_PesquisarUsuario');
lTransition.XsdIn.XML := GetXSDIn_3219_smucEmprestarLivro_EscolhendoUsuario_RM_PESQUISAR_USUARIO;
lTransition.XsdOut.XML := GetXSDOut_3219_smucEmprestarLivro_EscolhendoUsuario_RM_PESQUISAR_USUARIO;
lState := lStateMachine.FindState('EditandoEmprestimos');
lTransition := lState.NewOutgoingTransition('RM_PESQUISAR_EXEMPLAR');
......@@ -2078,6 +2412,8 @@ begin
lTransition.TargetState := lStateMachine.FindState('EscolhendoExemplar');
lTransition.AddTrigger('RM_PESQUISAR_EXEMPLAR');
lTransition.AddEffect('Effect_PesquisarExemplar');
lTransition.XsdIn.XML := GetXSDIn_3219_smucEmprestarLivro_EditandoEmprestimos_RM_PESQUISAR_EXEMPLAR;
lTransition.XsdOut.XML := GetXSDOut_3219_smucEmprestarLivro_EditandoEmprestimos_RM_PESQUISAR_EXEMPLAR;
lTransition := lState.NewOutgoingTransition('RM_CANCELAR_ESCOLHA_EXEMPLAR');
lTransition.SourceState := lState;
lTransition.TargetState := lStateMachine.FindState('EscolhendoExemplar');
......@@ -2105,6 +2441,8 @@ begin
lTransition.TargetState := lState;
lTransition.AddTrigger('RM_PESQUISAR_EXEMPLAR');
lTransition.AddEffect('Effect_PesquisarExemplar');
lTransition.XsdIn.XML := GetXSDIn_3219_smucEmprestarLivro_EscolhendoExemplar_RM_PESQUISAR_EXEMPLAR;
lTransition.XsdOut.XML := GetXSDOut_3219_smucEmprestarLivro_EscolhendoExemplar_RM_PESQUISAR_EXEMPLAR;
lState := lStateMachine.FindState('Confirmando');
lTransition := lState.NewOutgoingTransition('RM_CONFIRMAR_EMPRESTIMO');
......
......@@ -4,7 +4,7 @@ unit nguExemplar;
interface
uses
acuframework;
acuframework, utuMessage;
type
ngExemplar = class(acPersistentObject)
......@@ -13,6 +13,8 @@ type
fLivro: acRelationPartnerShip;
fSituacao: acRelationPartnerShip;
fEmprestimos: acRelationPartnerList;
public
procedure toXML(piField: utField);
published
property Codigo: acString read FCodigo write FCodigo;
property Livro: acRelationPartnerShip read fLivro write fLivro;
......@@ -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,7 +4,7 @@ unit nguLivro;
interface
uses
acuframework;
acuframework, utuMessage;
type
ngLivro = class(acPersistentObject)
......@@ -13,6 +13,8 @@ type
FAutor: acString;
FEdicao: acString;
fExemplares: acRelationPartnerList;
public
procedure toXML(piField: utField);
published
property Titulo: acString read FTitulo write FTitulo;
property Autor: acString read FAutor write FAutor;
......@@ -22,6 +24,13 @@ type
implementation
procedure ngLivro.toXML(piField: utField);
begin
piField.AddAttribute('OID').AsString := Self.IDO.AsString;
piField.AddAttribute('Titulo').AsString := Self.Titulo.AsString;
piField.AddAttribute('Autor').AsString := Self.Autor.AsString;
piField.AddAttribute('Edicao').AsString := Self.Edicao.AsString;
end;
initialization
......
......@@ -4,13 +4,15 @@ unit nguSituacaoExemplar;
interface
uses
acuframework;
acuframework, utuMessage;
type
ngSituacaoExemplar = class(acPersistentObject)
private
FCodigo: acString;
FDescricao: acString;
public
procedure toXML(piField: utField);
published
property Codigo: acString read FCodigo write FCodigo;
property Descricao: acString read FDescricao write FDescricao;
......@@ -18,6 +20,11 @@ type
implementation
procedure ngSituacaoExemplar.toXML(piField: utField);
begin
piField.AddAttribute('Codigo').AsString := Self.Codigo.AsString;
piField.AddAttribute('Descricao').AsString := Self.Descricao.AsString;
end;
initialization
......
......@@ -4,13 +4,16 @@ unit ucuEmprestarLivro;
interface
uses
utuStateMachine, utuRequest, ucuUseCase;
utuStateMachine, utuRequest, ucuUseCase, acuFramework, nguCliente;
type
ucEmprestarLivro = class(ucUseCase)
public
procedure Initialize; Override;
procedure Finalize; Override;
private
//fCliente : ngCliente;
//fListaEmprestimos : acPersistentObjectList;
published
procedure Effect_PesquisarUsuario(piRequest: utRequest; piTransition: utTransition);
procedure Effect_EscolherUsuario(piRequest: utRequest; piTransition: utTransition);
......@@ -27,11 +30,11 @@ implementation
uses
ucuManager,
utuMessage {define utField},
acuFramework,
utuEmprestimoOQL,
acuObject {define acEnumerator},
nguCliente;
nguExemplar,
nguLivro,
nguSituacaoExemplar;
procedure ucEmprestarLivro.Initialize;
begin
......@@ -57,7 +60,7 @@ begin
lOQL := utEmprestimoOQL.ObterClientes(Self.Session);
lFieldUsuarios := piRequest.Response.RootField.AddField('Cliente');
lFieldUsuarios := piRequest.Response.RootField.AddField('Clientes');
lListUsuarios := acPersistentObjectList.Create(ngCliente);
try
......@@ -93,15 +96,112 @@ begin
end;
procedure ucEmprestarLivro.Effect_EscolherUsuario(piRequest: utRequest; piTransition: utTransition);
var
lFieldCliente : utField;
lCliente : ngCliente;
begin
lFieldCliente := piRequest.Message.RootField.FieldByName('Cliente');
try
lCliente := Self.Session.LoadObject(ngCliente,acOIDInt.Create(lFieldCliente.AttributeByName('OID').AsInteger)) as ngCliente;
except
on e:acObjectNotFoundException do
raise EucException.Create('Cliente no encontrado.');
else
raise EucException.Create('No foi possvel buscar o cliente.');
end;
//if not Assigned(lCliente) then raise EucException.Create('Cliente no encontrado.');
lCliente.toXML(piRequest.Response.RootField.AddField('Cliente'));
piRequest.Processed := True;
end;
procedure ucEmprestarLivro.Effect_PesquisarExemplar(piRequest: utRequest; piTransition: utTransition);
var
lFieldExemplar,
lFieldExemplares,
lFieldLivro,
lFieldLivros,
lFieldSituacao: utField;
lOQL: IObterExemplares;
lListExemplares: acPersistentObjectList;
lEnumExemplares: acEnumerator;
lExemplar: ngExemplar;
lLivro,lUltimoLivro: ngLivro;
lSituacao: ngSituacaoExemplar;
begin
lFieldExemplar := piRequest.Message.RootField.FieldByName('Exemplar');
//if lFieldExemplar.HasField('Livro')
//then lFieldLivro := lFieldExemplar.FieldByName('Livro');
lOQL := utEmprestimoOQL.ObterExemplares(Self.Session);
lFieldLivros := piRequest.Response.RootField.AddField('Livros');
lListExemplares := acPersistentObjectList.Create(ngExemplar); {Lista de exemplar obtida}
{Comeamos a formatao da resposta}
try
{Colocamos os parmetros para a busca oql}
if lFieldExemplar.HasAttribute('Codigo')
then lOQL.Param_codigo.Value := lFieldExemplar.AttributeByName('Codigo').AsString
else lOQL.Param_codigo.SetNull;
{Se o xml tinha livro...}
if lFieldExemplar.HasField('Livro') then
begin
if lFieldExemplar.FieldByName('Livro').HasAttribute('Titulo')
then lOQL.Param_titulo.Value := lFieldExemplar.FieldByName('Livro').AttributeByName('Titulo').AsString
else lOQL.Param_titulo.SetNull;
end
else lOQL.Param_titulo.SetNull;
lOQL.LoadList(lListExemplares);
lEnumExemplares := acEnumerator.Create(lListExemplares);
try
lExemplar := lEnumExemplares.Current as ngExemplar;
lLivro := lExemplar.Livro.Partner as ngLivro;
{Guardamos ultimo livro para agrup-los e criamos seu campo exemplares}
lUltimoLivro := lLivro;
lFieldLivro := lFieldLivros.AddField('Livro');
lLivro.toXML(lFieldLivro);
lFieldExemplares := lFieldLivro.AddField('Exemplares');
while not lEnumExemplares.EOL do
begin
lExemplar := lEnumExemplares.Current as ngExemplar;
lLivro := lExemplar.Livro.Partner as ngLivro;
lSituacao := lExemplar.Situacao.Partner as ngSituacaoExemplar;
if not lLivro.Equals(lUltimoLivro) then
begin
lUltimoLivro := lLivro;
lFieldLivro := lFieldLivros.AddField('Livro');
lLivro.toXML(lFieldLivro);
lFieldExemplares := lFieldLivro.AddField('Exemplares');
end;
{Criamos as tags no xml}
lFieldExemplar := lFieldExemplares.AddField('Exemplar');
lFieldSituacao := lFieldExemplar.AddField('Situacao');
{Damos os valores as tags}
lExemplar.toXML(lFieldExemplar);
lSituacao.toXML(lFieldSituacao);
lEnumExemplares.MoveNext;
end;
finally
lEnumExemplares.Free;
end;
finally
lListExemplares.Free;
end;
piRequest.Processed := True;
end;
......
......@@ -11,8 +11,14 @@ type
function Param_cpf: acOQLParamString;
end;
IObterExemplares = interface(IOQLQuery)
function Param_titulo: acOQLParamString;
function Param_codigo: acOQLParamString;
end;
utEmprestimoOQL = class
class function ObterClientes(piSessao: acPersistenceSession): IObterClientes;
class function ObterExemplares(piSessao: acPersistenceSession): IObterExemplares;
end;
implementation
......@@ -24,6 +30,11 @@ type
function Param_cpf: acOQLParamString;
end;
TObterExemplares = class(acOQLQuery, IObterExemplares)
function Param_titulo: acOQLParamString;
function Param_codigo: acOQLParamString;
end;
{ TObterClientes }
function TObterClientes.Param_nome: acOQLParamString;
......@@ -36,6 +47,18 @@ begin
result := acOQLParamString(Self.ParamByName('cpf'));
end;
{ TObterExemplares }
function TObterExemplares.Param_titulo: acOQLParamString;
begin
result := acOQLParamString(Self.ParamByName('titulo'));
end;
function TObterExemplares.Param_codigo: acOQLParamString;
begin
result := acOQLParamString(Self.ParamByName('codigo'));
end;
{ utOQLs }
class function utEmprestimoOQL.ObterClientes(piSessao: acPersistenceSession): IObterClientes;
......@@ -47,4 +70,14 @@ begin
' AND (ngCliente.CPF = ?cpf:acString OR ?cpf:acString IS NULL)');
end;
class function utEmprestimoOQL.ObterExemplares(piSessao: acPersistenceSession): IObterExemplares;
begin
result := TObterExemplares.Create(pisessao,
'SELECT ngExemplar' + #13#10 +
'FROM ngExemplar' + #13#10 +
'WHERE (ngExemplar.Livro.Titulo LIKE ''%''+?titulo:acString+''%'' OR ?titulo:acString IS NULL)' + #13#10 +
' AND (ngExemplar.Codigo = ?codigo:acString OR ?codigo:acString IS NULL)' + #13#10 +
'ORDER BY ngExemplar.Livro.OID');
end;
end.
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