AbetoDesign_FactuGES2/Source/Servidor/Configuracion/srvConfiguracion_Impl.pas

209 lines
6.9 KiB
ObjectPascal
Raw Blame History

unit srvConfiguracion_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:} DataAbstractService_Impl,
{Used RODLs:} DataAbstract4_Intf,
{Generated:} uDABusinessProcessor, uDABin2DataStreamer, uDADataStreamer,
uDAScriptingProvider, uDAClasses,
FactuGES_Intf, uDAInterfaces;
type
{ TsrvConfiguracion }
TsrvConfiguracion = class(TDataAbstractService, IsrvConfiguracion)
Bin2DataStreamer: TDABin2DataStreamer;
schConfiguracion: TDASchema;
procedure DARemoteServiceCreate(Sender: TObject);
procedure DataAbstractServiceBeforeAcquireConnection(aSender: TObject; var aConnectionName: string);
protected
{ IsrvConfiguracion methods }
function darValor(const CODIGO: AnsiString; const ValorPorDefecto: String = ''): AnsiString;
function darValorParaEmpresa(const CODIGO: AnsiString; const ID_EMPRESA: Integer; const ValorPorDefecto: String = ''): AnsiString;
procedure guardarValor(const CODIGO: AnsiString; const Valor: String = '');
procedure guardarValorParaEmpresa(const CODIGO: AnsiString; const ID_EMPRESA: Integer; const Valor: String = '');
end;
implementation
{$R *.dfm}
uses
{Generated:} FactuGES_Invk, uDataModuleServer, Variants, uROClasses;
procedure Create_srvConfiguracion(out anInstance : IUnknown);
begin
anInstance := TsrvConfiguracion.Create(NIL);
end;
{ srvConfiguracion }
procedure TsrvConfiguracion.DARemoteServiceCreate(Sender: TObject);
begin
//SessionManager := dmServer.SessionManager;
end;
function TsrvConfiguracion.DarValor(const CODIGO: String; const ValorPorDefecto: String = ''): String;
var
ADataSet : IDADataset;
ACurrentConn : IDAConnection;
ACommand : IDASQLCommand;
begin
try
ADataSet := schConfiguracion.NewDataset(Connection, 'darValor', ['CODIGO'], [CODIGO]);
ADataSet.Open;
if ADataSet.Dataset.RecordCount > 0 then
begin
if CODIGO = 'CONDICIONES_COCINA' then
Result := ADataSet.Dataset.Fields[1].AsVariant
else
Result := ADataSet.Dataset.Fields[0].AsVariant
end
else
begin
Result := ValorPorDefecto;
//Creamos la variable de configuraci<63>n con su valor por defecto
ACurrentConn := dmServer.ConnectionManager.NewConnection(dmServer.ConnectionManager.GetDefaultConnectionName);
ACommand := schConfiguracion.NewCommand(ACurrentConn, 'InsertarValor');
try
with ACommand do
begin
ParamByName('CODIGO').Value := CODIGO;
ParamByName('VALOR').Value := ValorPorDefecto;
ParamByName('ID_EMPRESA').Value := Null;
Execute;
ACurrentConn.CommitTransaction;
end;
except
ACurrentConn.RollbackTransaction;
end;
ACommand := NIL;
// RaiseError('Falta variable de configuracion: ' + CODIGO);
end;
finally
ADataSet.Close;
end;
end;
function TsrvConfiguracion.darValorParaEmpresa(const CODIGO: AnsiString;
const ID_EMPRESA: Integer; const ValorPorDefecto: String): AnsiString;
var
ADataSet : IDADataset;
ACurrentConn : IDAConnection;
ACommand : IDASQLCommand;
begin
try
ADataSet := schConfiguracion.NewDataset(Connection, 'darValorParaEmpresa', ['CODIGO','ID_EMPRESA'], [CODIGO, ID_EMPRESA]);
ADataSet.Open;
if ADataSet.Dataset.RecordCount > 0 then
Result := ADataSet.Dataset.Fields[0].AsVariant
else
begin
Result := ValorPorDefecto;
//Creamos la variable de configuraci<63>n con su valor por defecto
ACurrentConn := dmServer.ConnectionManager.NewConnection(dmServer.ConnectionManager.GetDefaultConnectionName);
ACommand := schConfiguracion.NewCommand(ACurrentConn, 'InsertarValor');
try
with ACommand do
begin
ParamByName('CODIGO').Value := CODIGO;
ParamByName('VALOR').Value := ValorPorDefecto;
ParamByName('ID_EMPRESA').Value := ID_EMPRESA;
Execute;
ACurrentConn.CommitTransaction;
end;
except
ACurrentConn.RollbackTransaction;
end;
ACommand := NIL;
// RaiseError('Falta variable de configuracion: ' + CODIGO);
end;
finally
ADataSet.Close;
end;
end;
procedure TsrvConfiguracion.DataAbstractServiceBeforeAcquireConnection(
aSender: TObject; var aConnectionName: string);
begin
ConnectionName := dmServer.ConnectionName;
end;
procedure TsrvConfiguracion.GuardarValor(const CODIGO: AnsiString; const Valor: String = '');
var
ACurrentConn : IDAConnection;
ACommand : IDASQLCommand;
// st: TStringStream;
// st2: IROStream;
begin
//Creamos la variable de configuraci<63>n con su valor por defecto
ACurrentConn := dmServer.ConnectionManager.NewConnection(dmServer.ConnectionManager.GetDefaultConnectionName);
ACommand := schConfiguracion.NewCommand(ACurrentConn, 'UpdateValor');
try
with ACommand do
begin
ParamByName('CODIGO').Value := CODIGO;
ParamByName('VALOR').Value := Valor;
if CODIGO = 'CONDICIONES_COCINA' then
begin
// st := TStringStream.Create(Valor);
// st.Position := 0;
// st2 := TROStream.create(st, true);
//
//
// ParamByName('VALOR_BLOB').LoadFromStream(st2);
ParamByName('VALOR_BLOB').Value := Valor;
end;
// ParamByName('ID_EMPRESA').Value := Null;
Execute;
ACurrentConn.CommitTransaction;
end;
except
ACurrentConn.RollbackTransaction;
end;
ACommand := NIL;
end;
procedure TsrvConfiguracion.guardarValorParaEmpresa(const CODIGO: AnsiString;
const ID_EMPRESA: Integer; const Valor: String);
var
ACurrentConn : IDAConnection;
ACommand : IDASQLCommand;
begin
//Creamos la variable de configuraci<63>n con su valor por defecto
ACurrentConn := dmServer.ConnectionManager.NewConnection(dmServer.ConnectionManager.GetDefaultConnectionName);
ACommand := schConfiguracion.NewCommand(ACurrentConn, 'UpdateValorParaEmpresa');
try
with ACommand do
begin
ParamByName('CODIGO').Value := CODIGO;
ParamByName('ID_EMPRESA').Value := ID_EMPRESA;
ParamByName('VALOR').Value := Valor;
Execute;
ACurrentConn.CommitTransaction;
end;
except
ACurrentConn.RollbackTransaction;
end;
ACommand := NIL;
end;
initialization
TROClassFactory.Create('srvConfiguracion', Create_srvConfiguracion, TsrvConfiguracion_Invoker);
finalization
end.