unit uBizEmpresasDatosBancarios;

interface

uses
  uDAInterfaces, uDADataTable,
  schEmpresasClient_Intf;

const
  BIZ_CLIENT_EMPRESAS_DATOS_BANCARIOS = 'Client.EmpresasDatosBancarios';

type
  IBizEmpresasDatosBancarios = interface(IEmpresasDatosBanco)
    ['{CF695D8D-B9C0-406F-A3EA-B251E35A7E19}']
    function EsNuevo : Boolean;
  end;

  TBizEmpresasDatosBancarios = class(TEmpresasDatosBancoDataTableRules, IBizEmpresasDatosBancarios)
  protected
    procedure BeforeInsert(Sender: TDADataTable); override;
    procedure OnNewRecord(Sender: TDADataTable); override;
  public
    function EsNuevo : Boolean;
  end;

implementation

uses
  Dialogs,uDataTableUtils, DB;

{ TBizDatosBancarios }

procedure TBizEmpresasDatosBancarios.BeforeInsert(Sender: TDADataTable);
var
  AMasterTable : TDADataTable;
begin
  inherited;
  AMasterTable := DataTable.GetMasterDataTable;
  if Assigned(AMasterTable) and (AMasterTable.State = dsInsert) then
    AMasterTable.Post;
end;

function TBizEmpresasDatosBancarios.EsNuevo: Boolean;
begin
  Result := (ID < 0);
end;

procedure TBizEmpresasDatosBancarios.OnNewRecord(Sender: TDADataTable);
begin
  inherited;
  ID := GetRecNo; // -1, -2, -3...
end;

initialization
  RegisterDataTableRules(BIZ_CLIENT_EMPRESAS_DATOS_BANCARIOS, TBizEmpresasDatosBancarios);


end.
