unit uBizUsuarios; interface uses UCBase, uDAInterfaces, uDADataTable, schUsuariosClient_Intf; const BIZ_CLIENT_USUARIO = 'Client.Usuario'; BIZ_CLIENT_PERFIL_USUARIO = 'Client.PerfilUsuario'; type TUsuario = TUCCurrentUser; IBizUsuario = interface (IUSUARIOS) ['{1DB69F36-969C-4078-B862-6D697670BCFD}'] function EsNuevo : Boolean; function EsAdministrador : Boolean; end; IBizPerfilUsuario = interface (IPERFILES) ['{D14DF996-A8CD-400A-BF74-C8B660199C74}'] function EsNuevo : Boolean; end; TBizUsuario = class(TUsuariosDataTableRules, IBizUsuario) protected procedure OnNewRecord(Sender: TDADataTable); override; public function EsNuevo : Boolean; function EsAdministrador : Boolean; procedure IniciarValoresUsuarioNuevo; end; TBizPerfilUsuario = class(TPerfilesDataTableRules, IBizPerfilUsuario) protected procedure OnNewRecord(Sender: TDADataTable); override; public function EsNuevo : Boolean; procedure IniciarValoresPerfilNuevo; end; implementation { TBizUsuario } function TBizUsuario.EsAdministrador: Boolean; begin Result := (USERNAME = 'admin'); end; function TBizUsuario.EsNuevo: Boolean; begin Result := (ID < 0); end; procedure TBizUsuario.IniciarValoresUsuarioNuevo; begin TIPO := 'U'; // Usuario; end; procedure TBizUsuario.OnNewRecord(Sender: TDADataTable); begin inherited; IniciarValoresUsuarioNuevo; end; { TBizPerfilUsuario } function TBizPerfilUsuario.EsNuevo: Boolean; begin Result := (ID < 0); end; procedure TBizPerfilUsuario.IniciarValoresPerfilNuevo; begin TIPO := 'P'; // Perfil end; procedure TBizPerfilUsuario.OnNewRecord(Sender: TDADataTable); begin inherited; IniciarValoresPerfilNuevo; end; initialization RegisterDataTableRules(BIZ_CLIENT_USUARIO, TBizUsuario); RegisterDataTableRules(BIZ_CLIENT_PERFIL_USUARIO, TBizPerfilUsuario); finalization end.