unit uBizDireccionesContacto;

interface

uses
  uDAInterfaces, uDADataTable, 
  schContactosClient_Intf;

const
  BIZ_CLIENT_DIRECCIONES_CONTACTO = 'Client.DireccionesContacto';

type
  IBizDireccionesContacto = interface(IDireccionesContacto)
    ['{CAE362D4-B148-4B54-A426-F178565EA3DE}']
    function EsNuevo : Boolean;
  end;

  TBizDireccionesContacto = class(TDireccionesContactoDataTableRules, IBizDireccionesContacto)
  protected
    procedure BeforeInsert(Sender: TDADataTable); override;
  public
    function EsNuevo : Boolean;
    procedure OnNewRecord(Sender: TDADataTable); override;
  end;

implementation

uses
  Dialogs,uDataTableUtils, DB;

{ TBizDatosBancarios }

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

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

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

initialization
  RegisterDataTableRules(BIZ_CLIENT_DIRECCIONES_CONTACTO, TBizDireccionesContacto);


end.
