Tecsitel_FactuGES2/Source/ApplicationBase/ProvinciasPoblaciones/Servidor/srvProvinciasPoblaciones_Impl.pas
2008-06-09 18:10:00 +00:00

133 lines
3.7 KiB
ObjectPascal

unit srvProvinciasPoblaciones_Impl;
{----------------------------------------------------------------------------}
{ This unit was automatically generated by the RemObjects SDK after reading }
{ the RODL file associated with this project . }
{ }
{ This is where you are supposed to code the implementation of your objects. }
{----------------------------------------------------------------------------}
{$I Remobjects.inc}
interface
uses
{vcl:} Classes, SysUtils,
{RemObjects:} uROXMLIntf, uROClientIntf, uROTypes, uROServer, uROServerIntf, uROSessions,
{Required:} uRORemoteDataModule,
{Used RODLs:} DataAbstract4_Intf,
{Generated:} FactuGES_Intf, uDADataStreamer, uDABin2DataStreamer, uDAClasses;
type
{ TsrvProvinciasPoblaciones }
TsrvProvinciasPoblaciones = class(TRORemoteDataModule, IsrvProvinciasPoblaciones)
Bin2DataStreamer: TDABin2DataStreamer;
schProvinciasPoblaciones: TDASchema;
private
protected
{ IsrvProvinciasPoblaciones methods }
function DarListaProvincias: Binary;
function DarListaPoblaciones(const ID_Provincia: Integer): Binary;
end;
implementation
{$R *.dfm}
uses
{Generated:} FactuGES_Invk, Variants, uDAInterfaces,
uDataModuleServer, uROClasses;
procedure Create_srvProvinciasPoblaciones(out anInstance : IUnknown);
begin
anInstance := TsrvProvinciasPoblaciones.Create(nil);
end;
{ srvProvinciasPoblaciones }
function TsrvProvinciasPoblaciones.DarListaProvincias: Binary;
var
ASchema : TDASchema;
AConn : IDAConnection;
dsData: IDADataset;
ALista : TStringList;
begin
Result := Binary.Create;
ASchema := schProvinciasPoblaciones;
AConn := dmServer.ConnectionManager.NewConnection(dmServer.ConnectionManager.GetDefaultConnectionName);
try
dsData := ASchema.NewDataset(AConn, 'Provincias');
except
RaiseError('No existe la tabla PROVINCIAS');
end;
ALista := TStringList.Create;
try
dsData.Active := True;
ALista.Sorted := True;
while not dsData.EOF do
begin
ALista.Add(Format('%s=%d', [dsData.Fields[1].AsString, dsData.Fields[0].AsInteger]));
dsData.Next;
end;
ALista.SaveToStream(Result);
finally
FreeANDNIL(ALista);
dsData := NIL;
AConn := NIL;
end;
end;
function TsrvProvinciasPoblaciones.DarListaPoblaciones(const ID_Provincia: Integer): Binary;
var
ASchema : TDASchema;
AConn : IDAConnection;
dsData: IDADataset;
// AWhere : TDAWhereExpression;
ALista : TStringList;
begin
Result := Binary.Create;
ASchema := schProvinciasPoblaciones;
AConn := dmServer.ConnectionManager.NewConnection(dmServer.ConnectionManager.GetDefaultConnectionName);
try
dsData := ASchema.NewDataset(AConn, 'Poblaciones', ['ID', 'DESCRIPCION'], '', '', False, True);
with dsData.DynamicWhere do
begin
Clear;
Expression := NewBinaryExpression(NewField('', 'ID_PROVINCIA'),
NewConstant(ID_Provincia, datInteger),
dboEqual);
end;
ALista := TStringList.Create;
try
dsData.Active := True;
ALista.Sorted := True;
while not dsData.EOF do
begin
ALista.Add(Format('%s=%d', [dsData.Fields[1].AsString, dsData.Fields[0].AsInteger]));
dsData.Next;
end;
ALista.SaveToStream(Result);
finally
FreeANDNIL(ALista);
dsData := NIL;
AConn := NIL;
end;
except
RaiseError('No existe la tabla POBLACIONES');
end;
end;
initialization
TROClassFactory.Create('srvProvinciasPoblaciones', Create_srvProvinciasPoblaciones, TsrvProvinciasPoblaciones_Invoker);
finalization
end.