149 lines
4.0 KiB
ObjectPascal
149 lines
4.0 KiB
ObjectPascal
|
|
unit uDataModuleEmpresas;
|
||
|
|
|
||
|
|
interface
|
||
|
|
|
||
|
|
uses {vcl:} SysUtils, Classes, DB, DBClient,
|
||
|
|
{RemObjects:} uDADataTable, uDAScriptingProvider,
|
||
|
|
uDACDSDataTable, uDABINAdapter, uRORemoteService,
|
||
|
|
uROClient, uROBinMessage, uROWinInetHttpChannel, uDADesigntimeCall,
|
||
|
|
uIDataModuleEmpresas, uBizEmpresas, uBizEmpresasDatosBancarios,
|
||
|
|
uDARemoteDataAdapter, uDADataStreamer, uRODynamicRequest, uDAInterfaces,
|
||
|
|
uDAMemDataTable, uDABin2DataStreamer, uIntegerListUtils;
|
||
|
|
|
||
|
|
type
|
||
|
|
TDataModuleEmpresas = class(TDataModule, IDataModuleEmpresas)
|
||
|
|
RORemoteService: TRORemoteService;
|
||
|
|
rda_Empresas: TDARemoteDataAdapter;
|
||
|
|
Bin2DataStreamer: TDABin2DataStreamer;
|
||
|
|
tbl_Empresas: TDAMemDataTable;
|
||
|
|
ds_Empresas: TDADataSource;
|
||
|
|
tbl_EmpresasDatosBanco: TDAMemDataTable;
|
||
|
|
ds_EmpresasDatosBanco: TDADataSource;
|
||
|
|
procedure DAClientDataModuleCreate(Sender: TObject);
|
||
|
|
private
|
||
|
|
FEmpresaActual: IBizEmpresa;
|
||
|
|
|
||
|
|
function _GetDatosBancarios : IBizEmpresasDatosBancarios;
|
||
|
|
|
||
|
|
{ function GetEmpresas: TIntegerList;
|
||
|
|
|
||
|
|
procedure SetEmpresaActual(const Value: IBizEmpresa);
|
||
|
|
function GetIDEmpresaActual: Integer;
|
||
|
|
procedure SetIDEmpresaActual(const Value: Integer);}
|
||
|
|
public
|
||
|
|
function GetItem(const ID : Integer) : IBizEmpresa;
|
||
|
|
function NewItem : IBizEmpresa;
|
||
|
|
function GetItems : IBizEmpresa;
|
||
|
|
|
||
|
|
{ property IDEmpresaActual : Integer read GetIDEmpresaActual write SetIDEmpresaActual;
|
||
|
|
property EmpresaActual : IBizEmpresa read FEmpresaActual write SetEmpresaActual;
|
||
|
|
property Empresas : TIntegerList read GetEmpresas;}
|
||
|
|
|
||
|
|
end;
|
||
|
|
|
||
|
|
|
||
|
|
implementation
|
||
|
|
|
||
|
|
{$R *.DFM}
|
||
|
|
|
||
|
|
uses
|
||
|
|
uDataModuleConexion, uDataTableUtils,
|
||
|
|
FactuGES_Intf, schEmpresasClient_Intf, cxControls;
|
||
|
|
|
||
|
|
procedure TDataModuleEmpresas.DAClientDataModuleCreate(Sender: TObject);
|
||
|
|
begin
|
||
|
|
FEmpresaActual := nil;
|
||
|
|
RORemoteService.Channel := dmConexion.Channel;
|
||
|
|
RORemoteService.Message := dmConexion.Message;
|
||
|
|
end;
|
||
|
|
|
||
|
|
function TDataModuleEmpresas.GetItem(const ID: Integer): IBizEmpresa;
|
||
|
|
begin
|
||
|
|
ShowHourglassCursor;
|
||
|
|
try
|
||
|
|
Result := Self.GetItems;
|
||
|
|
|
||
|
|
with Result.DataTable.DynamicWhere do
|
||
|
|
begin
|
||
|
|
Clear;
|
||
|
|
// (ID = :ID)
|
||
|
|
Expression := NewBinaryExpression(NewField('', fld_EmpresasID),
|
||
|
|
NewConstant(ID, datInteger), dboEqual);
|
||
|
|
end;
|
||
|
|
finally
|
||
|
|
HideHourglassCursor;
|
||
|
|
end;
|
||
|
|
end;
|
||
|
|
|
||
|
|
function TDataModuleEmpresas.GetItems: IBizEmpresa;
|
||
|
|
var
|
||
|
|
AEmpresa : TDAMemDataTable;
|
||
|
|
begin
|
||
|
|
ShowHourglassCursor;
|
||
|
|
try
|
||
|
|
AEmpresa := CloneDataTable(tbl_Empresas);
|
||
|
|
AEmpresa.BusinessRulesID := BIZ_CLIENT_EMPRESA;
|
||
|
|
|
||
|
|
with TBizEmpresa(AEmpresa.BusinessEventsObj) do
|
||
|
|
begin
|
||
|
|
DatosBancarios := _GetDatosBancarios;
|
||
|
|
end;
|
||
|
|
|
||
|
|
Result := (AEmpresa as IBizEmpresa);
|
||
|
|
finally
|
||
|
|
HideHourglassCursor;
|
||
|
|
end;
|
||
|
|
end;
|
||
|
|
|
||
|
|
function TDataModuleEmpresas.NewItem: IBizEmpresa;
|
||
|
|
begin
|
||
|
|
Result := GetItem(ID_NULO)
|
||
|
|
end;
|
||
|
|
|
||
|
|
{procedure TDataModuleEmpresas.SetEmpresaActual(const Value: IBizEmpresa);
|
||
|
|
begin
|
||
|
|
FEmpresaActual := Value;
|
||
|
|
FEmpresaActual.DataTable.Active := True;
|
||
|
|
end;
|
||
|
|
|
||
|
|
procedure TDataModuleEmpresas.SetIDEmpresaActual(const Value: Integer);
|
||
|
|
var
|
||
|
|
AEmpresasController : IEmpresasController;
|
||
|
|
AEmpresa : IBizEmpresa;
|
||
|
|
begin
|
||
|
|
AEmpresasController := TEmpresasController.Create;
|
||
|
|
AEmpresa := AEmpresasController.Buscar(Value);
|
||
|
|
AEmpresa.DataTable.Active := True;
|
||
|
|
|
||
|
|
if not AEmpresa.IsEmpty then
|
||
|
|
begin
|
||
|
|
FEmpresaActual := AEmpresa;
|
||
|
|
FEmpresaActual.DataTable.Active := True;
|
||
|
|
end
|
||
|
|
else
|
||
|
|
FEmpresaActual := NIL;
|
||
|
|
end;}
|
||
|
|
|
||
|
|
function TDataModuleEmpresas._GetDatosBancarios: IBizEmpresasDatosBancarios;
|
||
|
|
var
|
||
|
|
ADatosBancarios : TDAMemDataTable;
|
||
|
|
begin
|
||
|
|
ShowHourglassCursor;
|
||
|
|
try
|
||
|
|
ADatosBancarios := CloneDataTable(tbl_EmpresasDatosBanco);
|
||
|
|
with ADatosBancarios do
|
||
|
|
begin
|
||
|
|
BusinessRulesID := BIZ_CLIENT_EMPRESAS_DATOS_BANCARIOS;
|
||
|
|
DetailOptions := DetailOptions -
|
||
|
|
[dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates];
|
||
|
|
end;
|
||
|
|
Result := (ADatosBancarios as IBizEmpresasDatosBancarios);
|
||
|
|
finally
|
||
|
|
HideHourglassCursor;
|
||
|
|
end;
|
||
|
|
|
||
|
|
end;
|
||
|
|
|
||
|
|
initialization
|
||
|
|
|
||
|
|
end.
|