unit uBizEmpresas; interface uses uDAInterfaces, uDADataTable, schEmpresasClient_Intf, uBizEmpresasDatosBancarios; 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; function EsNuevo : Boolean; end; TBizEmpresa = class(TEmpresasDataTableRules, IBizEmpresa) protected FDatosBancarios : IBizEmpresasDatosBancarios; FDatosBancariosLink : TDADataSource; procedure OnNewRecord(Sender: TDADataTable); override; procedure SetDatosBancarios(AValue : IBizEmpresasDatosBancarios); function GetDatosBancarios : IBizEmpresasDatosBancarios; public function EsNuevo : Boolean; procedure IniciarValoresEmpresaNueva; constructor Create(aDataTable: TDADataTable); override; destructor Destroy; override; property DatosBancarios : IBizEmpresasDatosBancarios read GetDatosBancarios write SetDatosBancarios; end; implementation uses uDataTableUtils, Classes, DateUtils, SysUtils; { TBizEmpresa } constructor TBizEmpresa.Create(aDataTable: TDADataTable); begin inherited; FDatosBancariosLink := TDADataSource.Create(NIL); FDatosBancariosLink.DataTable := aDataTable; end; destructor TBizEmpresa.Destroy; begin FDatosBancarios := NIL; FDatosBancariosLink.Free; inherited; end; function TBizEmpresa.EsNuevo: Boolean; begin Result := (ID < 0); end; function TBizEmpresa.GetDatosBancarios: IBizEmpresasDatosBancarios; begin Result := FDatosBancarios; end; procedure TBizEmpresa.IniciarValoresEmpresaNueva; begin // USUARIO := dmUsuarios.LoginInfo.Usuario; end; procedure TBizEmpresa.OnNewRecord(Sender: TDADataTable); begin inherited; ID := GetRecNo; // -1, -2, -3... IniciarValoresEmpresaNueva; end; procedure TBizEmpresa.SetDatosBancarios(AValue: IBizEmpresasDatosBancarios); begin FDatosBancarios := AValue; EnlazarMaestroDetalle(FDatosBancariosLink, FDatosBancarios); end; initialization RegisterDataTableRules(BIZ_CLIENT_EMPRESA, TBizEmpresa); finalization end.