unit uBizEmpresas; interface uses uDAInterfaces, uDADataTable, schEmpresasClient_Intf, uBizEmpresasDatosBancarios, uBizEmpresasTiendas; const BIZ_CLIENT_EMPRESA = 'Client.Empresa'; type IBizEmpresa = interface (IEmpresas) ['{1DB69F36-969C-4078-B862-6D697670BCFD}'] procedure SetDatosBancarios(AValue : IBizEmpresasDatosBancarios); function GetDatosBancarios : IBizEmpresasDatosBancarios; property DatosBancarios : IBizEmpresasDatosBancarios read GetDatosBancarios write SetDatosBancarios; procedure SetTiendas(AValue : IBizEmpresaTienda); function GetTiendas : IBizEmpresaTienda; property Tiendas : IBizEmpresaTienda read GetTiendas write SetTiendas; function EsNuevo : Boolean; end; TBizEmpresa = class(TEmpresasDataTableRules, IBizEmpresa) protected FDatosBancarios : IBizEmpresasDatosBancarios; FDatosBancariosLink : TDADataSource; FTiendas : IBizEmpresaTienda; FTiendasLink : TDADataSource; procedure OnNewRecord(Sender: TDADataTable); override; procedure SetDatosBancarios(AValue : IBizEmpresasDatosBancarios); function GetDatosBancarios : IBizEmpresasDatosBancarios; procedure SetTiendas(AValue : IBizEmpresaTienda); function GetTiendas : IBizEmpresaTienda; public function EsNuevo : Boolean; procedure IniciarValoresEmpresaNueva; constructor Create(aDataTable: TDADataTable); override; destructor Destroy; override; property DatosBancarios : IBizEmpresasDatosBancarios read GetDatosBancarios write SetDatosBancarios; property Tiendas : IBizEmpresaTienda read GetTiendas write SetTiendas; end; implementation uses uDataTableUtils, Classes, DateUtils, SysUtils, Dialogs, uFactuGES_App; { TBizEmpresa } constructor TBizEmpresa.Create(aDataTable: TDADataTable); begin inherited; FDatosBancariosLink := TDADataSource.Create(NIL); FDatosBancariosLink.DataTable := aDataTable; FTiendasLink := TDADataSource.Create(NIL); FTiendasLink.DataTable := aDataTable; end; destructor TBizEmpresa.Destroy; begin FDatosBancarios := NIL; FDatosBancariosLink.Free; FTiendas := NIL; FTiendasLink.Free; inherited; end; function TBizEmpresa.EsNuevo: Boolean; begin Result := (ID < 0); end; function TBizEmpresa.GetDatosBancarios: IBizEmpresasDatosBancarios; begin Result := FDatosBancarios; end; function TBizEmpresa.GetTiendas: IBizEmpresaTienda; begin Result := FTiendas; end; procedure TBizEmpresa.IniciarValoresEmpresaNueva; begin USUARIO := AppFactuGES.UsuarioActivo.UserName; end; procedure TBizEmpresa.OnNewRecord(Sender: TDADataTable); begin inherited; IniciarValoresEmpresaNueva; end; procedure TBizEmpresa.SetDatosBancarios(AValue: IBizEmpresasDatosBancarios); begin FDatosBancarios := AValue; EnlazarMaestroDetalle(FDatosBancariosLink, FDatosBancarios); end; procedure TBizEmpresa.SetTiendas(AValue: IBizEmpresaTienda); begin FTiendas := AValue; EnlazarMaestroDetalle(FTiendasLink, FTiendas); end; initialization RegisterDataTableRules(BIZ_CLIENT_EMPRESA, TBizEmpresa); finalization end.