This repository has been archived on 2024-11-28. You can view files and clone it, but cannot push or open issues or pull requests.
LuisLeon_FactuGES/Source/Modulos/Impresiones/Servidor/srvImpresiones_Impl.pas

109 lines
3.3 KiB
ObjectPascal
Raw Blame History

unit srvImpresiones_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. }
{----------------------------------------------------------------------------}
interface
uses
{vcl:} Classes, SysUtils,
{RemObjects:} uROClientIntf, uROTypes, uROServer, uROServerIntf, uROSessions,
{Ancestor Implementation:} DARemoteService_Impl,
{Used RODLs:} DataAbstract_Intf,
{Generated:} FactuGES_Intf, uDADataTable, uDABINAdapter, uDAClasses,
uDAScriptingProvider, uDABusinessProcessor;
type
{ TsrvImpresiones }
TsrvImpresiones = class(TDARemoteService, IsrvImpresiones)
Diagrams: TDADiagrams;
DABINAdapter: TDABINAdapter;
bpImpresiones: TDABusinessProcessor;
schImpresiones: TDASchema;
DataDictionary: TDADataDictionary;
procedure DARemoteServiceCreate(Sender: TObject);
procedure DARemoteServiceBeforeAcquireConnection(Sender: TDARemoteService;
var ConnectionName: string);
public
{ IsrvImpresiones methods }
function AnadirMarcaImpresion(const NombreTabla: String; const IdsTabla: String): Boolean;
end;
implementation
{$R *.dfm}
uses
{Generated:} FactuGES_Invk, uDataModuleServer, uDatabaseUtils, uDAInterfaces,
uROClasses;
procedure Create_srvImpresiones(out anInstance : IUnknown);
begin
anInstance := TsrvImpresiones.Create(NIL);
end;
{ srvImpresiones }
procedure TsrvImpresiones.DARemoteServiceBeforeAcquireConnection(
Sender: TDARemoteService; var ConnectionName: string);
begin
ConnectionName := dmServer.ConnectionName;
end;
procedure TsrvImpresiones.DARemoteServiceCreate(Sender: TObject);
begin
SessionManager := dmServer.SessionManager;
end;
function TsrvImpresiones.AnadirMarcaImpresion(const NombreTabla: String; const IdsTabla: String): Boolean;
var
ASchema : TDASchema;
AConn : IDAConnection;
dsCommand: IDASQLCommand;
ListaIds: TStringList;
i: Integer;
begin
Result := False;
ASchema := schImpresiones;
AConn := dmServer.ConnectionManager.NewConnection(dmServer.ConnectionManager.GetDefaultConnectionName);
try
try
ListaIds := TStringList.Create;
ListaIds.CommaText := IdsTabla;
//Vamos generando todas y cada una de las marcas de impresion
for i := 0 to ListaIds.Count - 1 do
begin
dsCommand := ASchema.NewCommand(AConn, 'AnadirMarcaImpresion');
with dsCommand do
begin
ParamByName('TABLA').AsString := NombreTabla;
ParamByName('IDTABLA').AsString := ListaIds.Strings[i];
end;
dsCommand.Execute;
AConn.CommitTransaction;
end;
FreeAndNil(ListaIds);
Result := True;
except
RaiseError('Error al a<>adir una nueva marca de impresion ' + NombreTabla + ' en tablas');
AConn.RollbackTransaction;
end;
finally
dsCommand := NIL;
end;
end;
initialization
TROClassFactory.Create('srvImpresiones', Create_srvImpresiones, TsrvImpresiones_Invoker);
finalization
end.