unit schUsuariosClient_Intf;

interface

uses
  Classes, DB, schBase_Intf, SysUtils, uROClasses, uDADataTable, FmtBCD, uROXMLIntf;

const
  { Data table rules ids
       Feel free to change them to something more human readable
       but make sure they are unique in the context of your application }
  RID_DarTiendaUsuario = '{6E391DEF-F7EA-4159-BE3F-09458A45161B}';
  RID_USUARIOS = '{5048D7CF-BE6A-4908-9359-FF38B82D059C}';
  RID_USUARIOS_EVENTOS = '{AB4A1797-6311-4C66-9926-42AB459932C8}';
  RID_USUARIOS_LOGON = '{51E280BB-1009-4E18-B1BF-C05318F75D97}';
  RID_PERMISOS = '{14944C0A-3708-4797-9016-18030A86267F}';
  RID_PERMISOSEX = '{09010D1A-F883-438B-8630-1A8814CD14F9}';
  RID_PERFILES = '{68158A81-21D1-48B1-8F41-4B218AD21231}';

  { Data table names }
  nme_DarTiendaUsuario = 'DarTiendaUsuario';
  nme_USUARIOS = 'USUARIOS';
  nme_USUARIOS_EVENTOS = 'USUARIOS_EVENTOS';
  nme_USUARIOS_LOGON = 'USUARIOS_LOGON';
  nme_PERMISOS = 'PERMISOS';
  nme_PERMISOSEX = 'PERMISOSEX';
  nme_PERFILES = 'PERFILES';

  { DarTiendaUsuario fields }
  fld_DarTiendaUsuarioID_TIENDA = 'ID_TIENDA';
  fld_DarTiendaUsuarioTIENDA = 'TIENDA';

  { DarTiendaUsuario field indexes }
  idx_DarTiendaUsuarioID_TIENDA = 0;
  idx_DarTiendaUsuarioTIENDA = 1;

  { USUARIOS fields }
  fld_USUARIOSID = 'ID';
  fld_USUARIOSUSERNAME = 'USERNAME';
  fld_USUARIOSLOGIN = 'LOGIN';
  fld_USUARIOSPASS = 'PASS';
  fld_USUARIOSPASSEXPIRED = 'PASSEXPIRED';
  fld_USUARIOSBLOQUEADO = 'BLOQUEADO';
  fld_USUARIOSEMAIL = 'EMAIL';
  fld_USUARIOSUSERDAYSSUN = 'USERDAYSSUN';
  fld_USUARIOSPRIVILEGED = 'PRIVILEGED';
  fld_USUARIOSTIPO = 'TIPO';
  fld_USUARIOSID_PERFIL = 'ID_PERFIL';
  fld_USUARIOSCHECKSUM = 'CHECKSUM';

  { USUARIOS field indexes }
  idx_USUARIOSID = 0;
  idx_USUARIOSUSERNAME = 1;
  idx_USUARIOSLOGIN = 2;
  idx_USUARIOSPASS = 3;
  idx_USUARIOSPASSEXPIRED = 4;
  idx_USUARIOSBLOQUEADO = 5;
  idx_USUARIOSEMAIL = 6;
  idx_USUARIOSUSERDAYSSUN = 7;
  idx_USUARIOSPRIVILEGED = 8;
  idx_USUARIOSTIPO = 9;
  idx_USUARIOSID_PERFIL = 10;
  idx_USUARIOSCHECKSUM = 11;

  { USUARIOS_EVENTOS fields }
  fld_USUARIOS_EVENTOSAPLICACION = 'APLICACION';
  fld_USUARIOS_EVENTOSID_USUARIO = 'ID_USUARIO';
  fld_USUARIOS_EVENTOSFECHA = 'FECHA';
  fld_USUARIOS_EVENTOSHORA = 'HORA';
  fld_USUARIOS_EVENTOSFORM = 'FORM';
  fld_USUARIOS_EVENTOSTITULO_FORM = 'TITULO_FORM';
  fld_USUARIOS_EVENTOSEVENTO = 'EVENTO';
  fld_USUARIOS_EVENTOSNOTAS = 'NOTAS';
  fld_USUARIOS_EVENTOSTNAME = 'TNAME';

  { USUARIOS_EVENTOS field indexes }
  idx_USUARIOS_EVENTOSAPLICACION = 0;
  idx_USUARIOS_EVENTOSID_USUARIO = 1;
  idx_USUARIOS_EVENTOSFECHA = 2;
  idx_USUARIOS_EVENTOSHORA = 3;
  idx_USUARIOS_EVENTOSFORM = 4;
  idx_USUARIOS_EVENTOSTITULO_FORM = 5;
  idx_USUARIOS_EVENTOSEVENTO = 6;
  idx_USUARIOS_EVENTOSNOTAS = 7;
  idx_USUARIOS_EVENTOSTNAME = 8;

  { USUARIOS_LOGON fields }
  fld_USUARIOS_LOGONLOGONID = 'LOGONID';
  fld_USUARIOS_LOGONID_USUARIO = 'ID_USUARIO';
  fld_USUARIOS_LOGONAPLICACION = 'APLICACION';
  fld_USUARIOS_LOGONEQUIPO = 'EQUIPO';
  fld_USUARIOS_LOGONDATA = 'DATA';

  { USUARIOS_LOGON field indexes }
  idx_USUARIOS_LOGONLOGONID = 0;
  idx_USUARIOS_LOGONID_USUARIO = 1;
  idx_USUARIOS_LOGONAPLICACION = 2;
  idx_USUARIOS_LOGONEQUIPO = 3;
  idx_USUARIOS_LOGONDATA = 4;

  { PERMISOS fields }
  fld_PERMISOSID_USUARIO = 'ID_USUARIO';
  fld_PERMISOSMODULO = 'MODULO';
  fld_PERMISOSNOMBRECOMP = 'NOMBRECOMP';
  fld_PERMISOSCHECKSUM = 'CHECKSUM';

  { PERMISOS field indexes }
  idx_PERMISOSID_USUARIO = 0;
  idx_PERMISOSMODULO = 1;
  idx_PERMISOSNOMBRECOMP = 2;
  idx_PERMISOSCHECKSUM = 3;

  { PERMISOSEX fields }
  fld_PERMISOSEXID_USUARIO = 'ID_USUARIO';
  fld_PERMISOSEXMODULO = 'MODULO';
  fld_PERMISOSEXNOMBRECOMP = 'NOMBRECOMP';
  fld_PERMISOSEXNOMBREFORM = 'NOMBREFORM';
  fld_PERMISOSEXCHECKSUM = 'CHECKSUM';

  { PERMISOSEX field indexes }
  idx_PERMISOSEXID_USUARIO = 0;
  idx_PERMISOSEXMODULO = 1;
  idx_PERMISOSEXNOMBRECOMP = 2;
  idx_PERMISOSEXNOMBREFORM = 3;
  idx_PERMISOSEXCHECKSUM = 4;

  { PERFILES fields }
  fld_PERFILESID = 'ID';
  fld_PERFILESUSERNAME = 'USERNAME';
  fld_PERFILESLOGIN = 'LOGIN';
  fld_PERFILESTIPO = 'TIPO';

  { PERFILES field indexes }
  idx_PERFILESID = 0;
  idx_PERFILESUSERNAME = 1;
  idx_PERFILESLOGIN = 2;
  idx_PERFILESTIPO = 3;

type
  { IDarTiendaUsuario }
  IDarTiendaUsuario = interface(IDAStronglyTypedDataTable)
  ['{544B73C1-70CD-40F9-BCD6-4C83C1E2B4DD}']
    { Property getters and setters }
    function GetID_TIENDAValue: Integer;
    procedure SetID_TIENDAValue(const aValue: Integer);
    function GetID_TIENDAIsNull: Boolean;
    procedure SetID_TIENDAIsNull(const aValue: Boolean);
    function GetTIENDAValue: String;
    procedure SetTIENDAValue(const aValue: String);
    function GetTIENDAIsNull: Boolean;
    procedure SetTIENDAIsNull(const aValue: Boolean);


    { Properties }
    property ID_TIENDA: Integer read GetID_TIENDAValue write SetID_TIENDAValue;
    property ID_TIENDAIsNull: Boolean read GetID_TIENDAIsNull write SetID_TIENDAIsNull;
    property TIENDA: String read GetTIENDAValue write SetTIENDAValue;
    property TIENDAIsNull: Boolean read GetTIENDAIsNull write SetTIENDAIsNull;
  end;

  { TDarTiendaUsuarioDataTableRules }
  TDarTiendaUsuarioDataTableRules = class(TIntfObjectDADataTableRules, IDarTiendaUsuario)
  private
  protected
    { Property getters and setters }
    function GetID_TIENDAValue: Integer; virtual;
    procedure SetID_TIENDAValue(const aValue: Integer); virtual;
    function GetID_TIENDAIsNull: Boolean; virtual;
    procedure SetID_TIENDAIsNull(const aValue: Boolean); virtual;
    function GetTIENDAValue: String; virtual;
    procedure SetTIENDAValue(const aValue: String); virtual;
    function GetTIENDAIsNull: Boolean; virtual;
    procedure SetTIENDAIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID_TIENDA: Integer read GetID_TIENDAValue write SetID_TIENDAValue;
    property ID_TIENDAIsNull: Boolean read GetID_TIENDAIsNull write SetID_TIENDAIsNull;
    property TIENDA: String read GetTIENDAValue write SetTIENDAValue;
    property TIENDAIsNull: Boolean read GetTIENDAIsNull write SetTIENDAIsNull;

  public
    constructor Create(aDataTable: TDADataTable); override;
    destructor Destroy; override;

  end;

  { IUSUARIOS }
  IUSUARIOS = interface(IDAStronglyTypedDataTable)
  ['{8F61797A-69C1-46D0-A77F-9008A4A13118}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetUSERNAMEValue: String;
    procedure SetUSERNAMEValue(const aValue: String);
    function GetUSERNAMEIsNull: Boolean;
    procedure SetUSERNAMEIsNull(const aValue: Boolean);
    function GetLOGINValue: String;
    procedure SetLOGINValue(const aValue: String);
    function GetLOGINIsNull: Boolean;
    procedure SetLOGINIsNull(const aValue: Boolean);
    function GetPASSValue: String;
    procedure SetPASSValue(const aValue: String);
    function GetPASSIsNull: Boolean;
    procedure SetPASSIsNull(const aValue: Boolean);
    function GetPASSEXPIREDValue: DateTime;
    procedure SetPASSEXPIREDValue(const aValue: DateTime);
    function GetPASSEXPIREDIsNull: Boolean;
    procedure SetPASSEXPIREDIsNull(const aValue: Boolean);
    function GetBLOQUEADOValue: SmallInt;
    procedure SetBLOQUEADOValue(const aValue: SmallInt);
    function GetBLOQUEADOIsNull: Boolean;
    procedure SetBLOQUEADOIsNull(const aValue: Boolean);
    function GetEMAILValue: String;
    procedure SetEMAILValue(const aValue: String);
    function GetEMAILIsNull: Boolean;
    procedure SetEMAILIsNull(const aValue: Boolean);
    function GetUSERDAYSSUNValue: Integer;
    procedure SetUSERDAYSSUNValue(const aValue: Integer);
    function GetUSERDAYSSUNIsNull: Boolean;
    procedure SetUSERDAYSSUNIsNull(const aValue: Boolean);
    function GetPRIVILEGEDValue: Integer;
    procedure SetPRIVILEGEDValue(const aValue: Integer);
    function GetPRIVILEGEDIsNull: Boolean;
    procedure SetPRIVILEGEDIsNull(const aValue: Boolean);
    function GetTIPOValue: String;
    procedure SetTIPOValue(const aValue: String);
    function GetTIPOIsNull: Boolean;
    procedure SetTIPOIsNull(const aValue: Boolean);
    function GetID_PERFILValue: Integer;
    procedure SetID_PERFILValue(const aValue: Integer);
    function GetID_PERFILIsNull: Boolean;
    procedure SetID_PERFILIsNull(const aValue: Boolean);
    function GetCHECKSUMValue: String;
    procedure SetCHECKSUMValue(const aValue: String);
    function GetCHECKSUMIsNull: Boolean;
    procedure SetCHECKSUMIsNull(const aValue: Boolean);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property USERNAME: String read GetUSERNAMEValue write SetUSERNAMEValue;
    property USERNAMEIsNull: Boolean read GetUSERNAMEIsNull write SetUSERNAMEIsNull;
    property LOGIN: String read GetLOGINValue write SetLOGINValue;
    property LOGINIsNull: Boolean read GetLOGINIsNull write SetLOGINIsNull;
    property PASS: String read GetPASSValue write SetPASSValue;
    property PASSIsNull: Boolean read GetPASSIsNull write SetPASSIsNull;
    property PASSEXPIRED: DateTime read GetPASSEXPIREDValue write SetPASSEXPIREDValue;
    property PASSEXPIREDIsNull: Boolean read GetPASSEXPIREDIsNull write SetPASSEXPIREDIsNull;
    property BLOQUEADO: SmallInt read GetBLOQUEADOValue write SetBLOQUEADOValue;
    property BLOQUEADOIsNull: Boolean read GetBLOQUEADOIsNull write SetBLOQUEADOIsNull;
    property EMAIL: String read GetEMAILValue write SetEMAILValue;
    property EMAILIsNull: Boolean read GetEMAILIsNull write SetEMAILIsNull;
    property USERDAYSSUN: Integer read GetUSERDAYSSUNValue write SetUSERDAYSSUNValue;
    property USERDAYSSUNIsNull: Boolean read GetUSERDAYSSUNIsNull write SetUSERDAYSSUNIsNull;
    property PRIVILEGED: Integer read GetPRIVILEGEDValue write SetPRIVILEGEDValue;
    property PRIVILEGEDIsNull: Boolean read GetPRIVILEGEDIsNull write SetPRIVILEGEDIsNull;
    property TIPO: String read GetTIPOValue write SetTIPOValue;
    property TIPOIsNull: Boolean read GetTIPOIsNull write SetTIPOIsNull;
    property ID_PERFIL: Integer read GetID_PERFILValue write SetID_PERFILValue;
    property ID_PERFILIsNull: Boolean read GetID_PERFILIsNull write SetID_PERFILIsNull;
    property CHECKSUM: String read GetCHECKSUMValue write SetCHECKSUMValue;
    property CHECKSUMIsNull: Boolean read GetCHECKSUMIsNull write SetCHECKSUMIsNull;
  end;

  { TUSUARIOSDataTableRules }
  TUSUARIOSDataTableRules = class(TIntfObjectDADataTableRules, IUSUARIOS)
  private
  protected
    { Property getters and setters }
    function GetIDValue: Integer; virtual;
    procedure SetIDValue(const aValue: Integer); virtual;
    function GetIDIsNull: Boolean; virtual;
    procedure SetIDIsNull(const aValue: Boolean); virtual;
    function GetUSERNAMEValue: String; virtual;
    procedure SetUSERNAMEValue(const aValue: String); virtual;
    function GetUSERNAMEIsNull: Boolean; virtual;
    procedure SetUSERNAMEIsNull(const aValue: Boolean); virtual;
    function GetLOGINValue: String; virtual;
    procedure SetLOGINValue(const aValue: String); virtual;
    function GetLOGINIsNull: Boolean; virtual;
    procedure SetLOGINIsNull(const aValue: Boolean); virtual;
    function GetPASSValue: String; virtual;
    procedure SetPASSValue(const aValue: String); virtual;
    function GetPASSIsNull: Boolean; virtual;
    procedure SetPASSIsNull(const aValue: Boolean); virtual;
    function GetPASSEXPIREDValue: DateTime; virtual;
    procedure SetPASSEXPIREDValue(const aValue: DateTime); virtual;
    function GetPASSEXPIREDIsNull: Boolean; virtual;
    procedure SetPASSEXPIREDIsNull(const aValue: Boolean); virtual;
    function GetBLOQUEADOValue: SmallInt; virtual;
    procedure SetBLOQUEADOValue(const aValue: SmallInt); virtual;
    function GetBLOQUEADOIsNull: Boolean; virtual;
    procedure SetBLOQUEADOIsNull(const aValue: Boolean); virtual;
    function GetEMAILValue: String; virtual;
    procedure SetEMAILValue(const aValue: String); virtual;
    function GetEMAILIsNull: Boolean; virtual;
    procedure SetEMAILIsNull(const aValue: Boolean); virtual;
    function GetUSERDAYSSUNValue: Integer; virtual;
    procedure SetUSERDAYSSUNValue(const aValue: Integer); virtual;
    function GetUSERDAYSSUNIsNull: Boolean; virtual;
    procedure SetUSERDAYSSUNIsNull(const aValue: Boolean); virtual;
    function GetPRIVILEGEDValue: Integer; virtual;
    procedure SetPRIVILEGEDValue(const aValue: Integer); virtual;
    function GetPRIVILEGEDIsNull: Boolean; virtual;
    procedure SetPRIVILEGEDIsNull(const aValue: Boolean); virtual;
    function GetTIPOValue: String; virtual;
    procedure SetTIPOValue(const aValue: String); virtual;
    function GetTIPOIsNull: Boolean; virtual;
    procedure SetTIPOIsNull(const aValue: Boolean); virtual;
    function GetID_PERFILValue: Integer; virtual;
    procedure SetID_PERFILValue(const aValue: Integer); virtual;
    function GetID_PERFILIsNull: Boolean; virtual;
    procedure SetID_PERFILIsNull(const aValue: Boolean); virtual;
    function GetCHECKSUMValue: String; virtual;
    procedure SetCHECKSUMValue(const aValue: String); virtual;
    function GetCHECKSUMIsNull: Boolean; virtual;
    procedure SetCHECKSUMIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property USERNAME: String read GetUSERNAMEValue write SetUSERNAMEValue;
    property USERNAMEIsNull: Boolean read GetUSERNAMEIsNull write SetUSERNAMEIsNull;
    property LOGIN: String read GetLOGINValue write SetLOGINValue;
    property LOGINIsNull: Boolean read GetLOGINIsNull write SetLOGINIsNull;
    property PASS: String read GetPASSValue write SetPASSValue;
    property PASSIsNull: Boolean read GetPASSIsNull write SetPASSIsNull;
    property PASSEXPIRED: DateTime read GetPASSEXPIREDValue write SetPASSEXPIREDValue;
    property PASSEXPIREDIsNull: Boolean read GetPASSEXPIREDIsNull write SetPASSEXPIREDIsNull;
    property BLOQUEADO: SmallInt read GetBLOQUEADOValue write SetBLOQUEADOValue;
    property BLOQUEADOIsNull: Boolean read GetBLOQUEADOIsNull write SetBLOQUEADOIsNull;
    property EMAIL: String read GetEMAILValue write SetEMAILValue;
    property EMAILIsNull: Boolean read GetEMAILIsNull write SetEMAILIsNull;
    property USERDAYSSUN: Integer read GetUSERDAYSSUNValue write SetUSERDAYSSUNValue;
    property USERDAYSSUNIsNull: Boolean read GetUSERDAYSSUNIsNull write SetUSERDAYSSUNIsNull;
    property PRIVILEGED: Integer read GetPRIVILEGEDValue write SetPRIVILEGEDValue;
    property PRIVILEGEDIsNull: Boolean read GetPRIVILEGEDIsNull write SetPRIVILEGEDIsNull;
    property TIPO: String read GetTIPOValue write SetTIPOValue;
    property TIPOIsNull: Boolean read GetTIPOIsNull write SetTIPOIsNull;
    property ID_PERFIL: Integer read GetID_PERFILValue write SetID_PERFILValue;
    property ID_PERFILIsNull: Boolean read GetID_PERFILIsNull write SetID_PERFILIsNull;
    property CHECKSUM: String read GetCHECKSUMValue write SetCHECKSUMValue;
    property CHECKSUMIsNull: Boolean read GetCHECKSUMIsNull write SetCHECKSUMIsNull;

  public
    constructor Create(aDataTable: TDADataTable); override;
    destructor Destroy; override;

  end;

  { IUSUARIOS_EVENTOS }
  IUSUARIOS_EVENTOS = interface(IDAStronglyTypedDataTable)
  ['{1B4FFD5F-7D38-4BEE-8289-8C0001E01899}']
    { Property getters and setters }
    function GetAPLICACIONValue: String;
    procedure SetAPLICACIONValue(const aValue: String);
    function GetAPLICACIONIsNull: Boolean;
    procedure SetAPLICACIONIsNull(const aValue: Boolean);
    function GetID_USUARIOValue: Integer;
    procedure SetID_USUARIOValue(const aValue: Integer);
    function GetID_USUARIOIsNull: Boolean;
    procedure SetID_USUARIOIsNull(const aValue: Boolean);
    function GetFECHAValue: String;
    procedure SetFECHAValue(const aValue: String);
    function GetFECHAIsNull: Boolean;
    procedure SetFECHAIsNull(const aValue: Boolean);
    function GetHORAValue: String;
    procedure SetHORAValue(const aValue: String);
    function GetHORAIsNull: Boolean;
    procedure SetHORAIsNull(const aValue: Boolean);
    function GetFORMValue: String;
    procedure SetFORMValue(const aValue: String);
    function GetFORMIsNull: Boolean;
    procedure SetFORMIsNull(const aValue: Boolean);
    function GetTITULO_FORMValue: String;
    procedure SetTITULO_FORMValue(const aValue: String);
    function GetTITULO_FORMIsNull: Boolean;
    procedure SetTITULO_FORMIsNull(const aValue: Boolean);
    function GetEVENTOValue: String;
    procedure SetEVENTOValue(const aValue: String);
    function GetEVENTOIsNull: Boolean;
    procedure SetEVENTOIsNull(const aValue: Boolean);
    function GetNOTASValue: IROStrings;
    function GetNOTASIsNull: Boolean;
    procedure SetNOTASIsNull(const aValue: Boolean);
    function GetTNAMEValue: String;
    procedure SetTNAMEValue(const aValue: String);
    function GetTNAMEIsNull: Boolean;
    procedure SetTNAMEIsNull(const aValue: Boolean);


    { Properties }
    property APLICACION: String read GetAPLICACIONValue write SetAPLICACIONValue;
    property APLICACIONIsNull: Boolean read GetAPLICACIONIsNull write SetAPLICACIONIsNull;
    property ID_USUARIO: Integer read GetID_USUARIOValue write SetID_USUARIOValue;
    property ID_USUARIOIsNull: Boolean read GetID_USUARIOIsNull write SetID_USUARIOIsNull;
    property FECHA: String read GetFECHAValue write SetFECHAValue;
    property FECHAIsNull: Boolean read GetFECHAIsNull write SetFECHAIsNull;
    property HORA: String read GetHORAValue write SetHORAValue;
    property HORAIsNull: Boolean read GetHORAIsNull write SetHORAIsNull;
    property FORM: String read GetFORMValue write SetFORMValue;
    property FORMIsNull: Boolean read GetFORMIsNull write SetFORMIsNull;
    property TITULO_FORM: String read GetTITULO_FORMValue write SetTITULO_FORMValue;
    property TITULO_FORMIsNull: Boolean read GetTITULO_FORMIsNull write SetTITULO_FORMIsNull;
    property EVENTO: String read GetEVENTOValue write SetEVENTOValue;
    property EVENTOIsNull: Boolean read GetEVENTOIsNull write SetEVENTOIsNull;
    property NOTAS: IROStrings read GetNOTASValue;
    property NOTASIsNull: Boolean read GetNOTASIsNull write SetNOTASIsNull;
    property TNAME: String read GetTNAMEValue write SetTNAMEValue;
    property TNAMEIsNull: Boolean read GetTNAMEIsNull write SetTNAMEIsNull;
  end;

  { TUSUARIOS_EVENTOSDataTableRules }
  TUSUARIOS_EVENTOSDataTableRules = class(TIntfObjectDADataTableRules, IUSUARIOS_EVENTOS)
  private
    f_NOTAS: IROStrings;
    procedure NOTAS_OnChange(Sender: TObject);
  protected
    { Property getters and setters }
    function GetAPLICACIONValue: String; virtual;
    procedure SetAPLICACIONValue(const aValue: String); virtual;
    function GetAPLICACIONIsNull: Boolean; virtual;
    procedure SetAPLICACIONIsNull(const aValue: Boolean); virtual;
    function GetID_USUARIOValue: Integer; virtual;
    procedure SetID_USUARIOValue(const aValue: Integer); virtual;
    function GetID_USUARIOIsNull: Boolean; virtual;
    procedure SetID_USUARIOIsNull(const aValue: Boolean); virtual;
    function GetFECHAValue: String; virtual;
    procedure SetFECHAValue(const aValue: String); virtual;
    function GetFECHAIsNull: Boolean; virtual;
    procedure SetFECHAIsNull(const aValue: Boolean); virtual;
    function GetHORAValue: String; virtual;
    procedure SetHORAValue(const aValue: String); virtual;
    function GetHORAIsNull: Boolean; virtual;
    procedure SetHORAIsNull(const aValue: Boolean); virtual;
    function GetFORMValue: String; virtual;
    procedure SetFORMValue(const aValue: String); virtual;
    function GetFORMIsNull: Boolean; virtual;
    procedure SetFORMIsNull(const aValue: Boolean); virtual;
    function GetTITULO_FORMValue: String; virtual;
    procedure SetTITULO_FORMValue(const aValue: String); virtual;
    function GetTITULO_FORMIsNull: Boolean; virtual;
    procedure SetTITULO_FORMIsNull(const aValue: Boolean); virtual;
    function GetEVENTOValue: String; virtual;
    procedure SetEVENTOValue(const aValue: String); virtual;
    function GetEVENTOIsNull: Boolean; virtual;
    procedure SetEVENTOIsNull(const aValue: Boolean); virtual;
    function GetNOTASValue: IROStrings; virtual;
    function GetNOTASIsNull: Boolean; virtual;
    procedure SetNOTASIsNull(const aValue: Boolean); virtual;
    function GetTNAMEValue: String; virtual;
    procedure SetTNAMEValue(const aValue: String); virtual;
    function GetTNAMEIsNull: Boolean; virtual;
    procedure SetTNAMEIsNull(const aValue: Boolean); virtual;

    { Properties }
    property APLICACION: String read GetAPLICACIONValue write SetAPLICACIONValue;
    property APLICACIONIsNull: Boolean read GetAPLICACIONIsNull write SetAPLICACIONIsNull;
    property ID_USUARIO: Integer read GetID_USUARIOValue write SetID_USUARIOValue;
    property ID_USUARIOIsNull: Boolean read GetID_USUARIOIsNull write SetID_USUARIOIsNull;
    property FECHA: String read GetFECHAValue write SetFECHAValue;
    property FECHAIsNull: Boolean read GetFECHAIsNull write SetFECHAIsNull;
    property HORA: String read GetHORAValue write SetHORAValue;
    property HORAIsNull: Boolean read GetHORAIsNull write SetHORAIsNull;
    property FORM: String read GetFORMValue write SetFORMValue;
    property FORMIsNull: Boolean read GetFORMIsNull write SetFORMIsNull;
    property TITULO_FORM: String read GetTITULO_FORMValue write SetTITULO_FORMValue;
    property TITULO_FORMIsNull: Boolean read GetTITULO_FORMIsNull write SetTITULO_FORMIsNull;
    property EVENTO: String read GetEVENTOValue write SetEVENTOValue;
    property EVENTOIsNull: Boolean read GetEVENTOIsNull write SetEVENTOIsNull;
    property NOTAS: IROStrings read GetNOTASValue;
    property NOTASIsNull: Boolean read GetNOTASIsNull write SetNOTASIsNull;
    property TNAME: String read GetTNAMEValue write SetTNAMEValue;
    property TNAMEIsNull: Boolean read GetTNAMEIsNull write SetTNAMEIsNull;

  public
    constructor Create(aDataTable: TDADataTable); override;
    destructor Destroy; override;

  end;

  { IUSUARIOS_LOGON }
  IUSUARIOS_LOGON = interface(IDAStronglyTypedDataTable)
  ['{41DCA6DD-2B8F-407C-A620-FBE083802B0F}']
    { Property getters and setters }
    function GetLOGONIDValue: String;
    procedure SetLOGONIDValue(const aValue: String);
    function GetLOGONIDIsNull: Boolean;
    procedure SetLOGONIDIsNull(const aValue: Boolean);
    function GetID_USUARIOValue: Integer;
    procedure SetID_USUARIOValue(const aValue: Integer);
    function GetID_USUARIOIsNull: Boolean;
    procedure SetID_USUARIOIsNull(const aValue: Boolean);
    function GetAPLICACIONValue: String;
    procedure SetAPLICACIONValue(const aValue: String);
    function GetAPLICACIONIsNull: Boolean;
    procedure SetAPLICACIONIsNull(const aValue: Boolean);
    function GetEQUIPOValue: String;
    procedure SetEQUIPOValue(const aValue: String);
    function GetEQUIPOIsNull: Boolean;
    procedure SetEQUIPOIsNull(const aValue: Boolean);
    function GetDATAValue: String;
    procedure SetDATAValue(const aValue: String);
    function GetDATAIsNull: Boolean;
    procedure SetDATAIsNull(const aValue: Boolean);


    { Properties }
    property LOGONID: String read GetLOGONIDValue write SetLOGONIDValue;
    property LOGONIDIsNull: Boolean read GetLOGONIDIsNull write SetLOGONIDIsNull;
    property ID_USUARIO: Integer read GetID_USUARIOValue write SetID_USUARIOValue;
    property ID_USUARIOIsNull: Boolean read GetID_USUARIOIsNull write SetID_USUARIOIsNull;
    property APLICACION: String read GetAPLICACIONValue write SetAPLICACIONValue;
    property APLICACIONIsNull: Boolean read GetAPLICACIONIsNull write SetAPLICACIONIsNull;
    property EQUIPO: String read GetEQUIPOValue write SetEQUIPOValue;
    property EQUIPOIsNull: Boolean read GetEQUIPOIsNull write SetEQUIPOIsNull;
    property DATA: String read GetDATAValue write SetDATAValue;
    property DATAIsNull: Boolean read GetDATAIsNull write SetDATAIsNull;
  end;

  { TUSUARIOS_LOGONDataTableRules }
  TUSUARIOS_LOGONDataTableRules = class(TIntfObjectDADataTableRules, IUSUARIOS_LOGON)
  private
  protected
    { Property getters and setters }
    function GetLOGONIDValue: String; virtual;
    procedure SetLOGONIDValue(const aValue: String); virtual;
    function GetLOGONIDIsNull: Boolean; virtual;
    procedure SetLOGONIDIsNull(const aValue: Boolean); virtual;
    function GetID_USUARIOValue: Integer; virtual;
    procedure SetID_USUARIOValue(const aValue: Integer); virtual;
    function GetID_USUARIOIsNull: Boolean; virtual;
    procedure SetID_USUARIOIsNull(const aValue: Boolean); virtual;
    function GetAPLICACIONValue: String; virtual;
    procedure SetAPLICACIONValue(const aValue: String); virtual;
    function GetAPLICACIONIsNull: Boolean; virtual;
    procedure SetAPLICACIONIsNull(const aValue: Boolean); virtual;
    function GetEQUIPOValue: String; virtual;
    procedure SetEQUIPOValue(const aValue: String); virtual;
    function GetEQUIPOIsNull: Boolean; virtual;
    procedure SetEQUIPOIsNull(const aValue: Boolean); virtual;
    function GetDATAValue: String; virtual;
    procedure SetDATAValue(const aValue: String); virtual;
    function GetDATAIsNull: Boolean; virtual;
    procedure SetDATAIsNull(const aValue: Boolean); virtual;

    { Properties }
    property LOGONID: String read GetLOGONIDValue write SetLOGONIDValue;
    property LOGONIDIsNull: Boolean read GetLOGONIDIsNull write SetLOGONIDIsNull;
    property ID_USUARIO: Integer read GetID_USUARIOValue write SetID_USUARIOValue;
    property ID_USUARIOIsNull: Boolean read GetID_USUARIOIsNull write SetID_USUARIOIsNull;
    property APLICACION: String read GetAPLICACIONValue write SetAPLICACIONValue;
    property APLICACIONIsNull: Boolean read GetAPLICACIONIsNull write SetAPLICACIONIsNull;
    property EQUIPO: String read GetEQUIPOValue write SetEQUIPOValue;
    property EQUIPOIsNull: Boolean read GetEQUIPOIsNull write SetEQUIPOIsNull;
    property DATA: String read GetDATAValue write SetDATAValue;
    property DATAIsNull: Boolean read GetDATAIsNull write SetDATAIsNull;

  public
    constructor Create(aDataTable: TDADataTable); override;
    destructor Destroy; override;

  end;

  { IPERMISOS }
  IPERMISOS = interface(IDAStronglyTypedDataTable)
  ['{080033E7-82B8-4563-AB39-D114EC371228}']
    { Property getters and setters }
    function GetID_USUARIOValue: Integer;
    procedure SetID_USUARIOValue(const aValue: Integer);
    function GetID_USUARIOIsNull: Boolean;
    procedure SetID_USUARIOIsNull(const aValue: Boolean);
    function GetMODULOValue: String;
    procedure SetMODULOValue(const aValue: String);
    function GetMODULOIsNull: Boolean;
    procedure SetMODULOIsNull(const aValue: Boolean);
    function GetNOMBRECOMPValue: String;
    procedure SetNOMBRECOMPValue(const aValue: String);
    function GetNOMBRECOMPIsNull: Boolean;
    procedure SetNOMBRECOMPIsNull(const aValue: Boolean);
    function GetCHECKSUMValue: String;
    procedure SetCHECKSUMValue(const aValue: String);
    function GetCHECKSUMIsNull: Boolean;
    procedure SetCHECKSUMIsNull(const aValue: Boolean);


    { Properties }
    property ID_USUARIO: Integer read GetID_USUARIOValue write SetID_USUARIOValue;
    property ID_USUARIOIsNull: Boolean read GetID_USUARIOIsNull write SetID_USUARIOIsNull;
    property MODULO: String read GetMODULOValue write SetMODULOValue;
    property MODULOIsNull: Boolean read GetMODULOIsNull write SetMODULOIsNull;
    property NOMBRECOMP: String read GetNOMBRECOMPValue write SetNOMBRECOMPValue;
    property NOMBRECOMPIsNull: Boolean read GetNOMBRECOMPIsNull write SetNOMBRECOMPIsNull;
    property CHECKSUM: String read GetCHECKSUMValue write SetCHECKSUMValue;
    property CHECKSUMIsNull: Boolean read GetCHECKSUMIsNull write SetCHECKSUMIsNull;
  end;

  { TPERMISOSDataTableRules }
  TPERMISOSDataTableRules = class(TIntfObjectDADataTableRules, IPERMISOS)
  private
  protected
    { Property getters and setters }
    function GetID_USUARIOValue: Integer; virtual;
    procedure SetID_USUARIOValue(const aValue: Integer); virtual;
    function GetID_USUARIOIsNull: Boolean; virtual;
    procedure SetID_USUARIOIsNull(const aValue: Boolean); virtual;
    function GetMODULOValue: String; virtual;
    procedure SetMODULOValue(const aValue: String); virtual;
    function GetMODULOIsNull: Boolean; virtual;
    procedure SetMODULOIsNull(const aValue: Boolean); virtual;
    function GetNOMBRECOMPValue: String; virtual;
    procedure SetNOMBRECOMPValue(const aValue: String); virtual;
    function GetNOMBRECOMPIsNull: Boolean; virtual;
    procedure SetNOMBRECOMPIsNull(const aValue: Boolean); virtual;
    function GetCHECKSUMValue: String; virtual;
    procedure SetCHECKSUMValue(const aValue: String); virtual;
    function GetCHECKSUMIsNull: Boolean; virtual;
    procedure SetCHECKSUMIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID_USUARIO: Integer read GetID_USUARIOValue write SetID_USUARIOValue;
    property ID_USUARIOIsNull: Boolean read GetID_USUARIOIsNull write SetID_USUARIOIsNull;
    property MODULO: String read GetMODULOValue write SetMODULOValue;
    property MODULOIsNull: Boolean read GetMODULOIsNull write SetMODULOIsNull;
    property NOMBRECOMP: String read GetNOMBRECOMPValue write SetNOMBRECOMPValue;
    property NOMBRECOMPIsNull: Boolean read GetNOMBRECOMPIsNull write SetNOMBRECOMPIsNull;
    property CHECKSUM: String read GetCHECKSUMValue write SetCHECKSUMValue;
    property CHECKSUMIsNull: Boolean read GetCHECKSUMIsNull write SetCHECKSUMIsNull;

  public
    constructor Create(aDataTable: TDADataTable); override;
    destructor Destroy; override;

  end;

  { IPERMISOSEX }
  IPERMISOSEX = interface(IDAStronglyTypedDataTable)
  ['{19C86BFC-8B28-43D9-AF89-B92C9C6DB2AB}']
    { Property getters and setters }
    function GetID_USUARIOValue: Integer;
    procedure SetID_USUARIOValue(const aValue: Integer);
    function GetID_USUARIOIsNull: Boolean;
    procedure SetID_USUARIOIsNull(const aValue: Boolean);
    function GetMODULOValue: String;
    procedure SetMODULOValue(const aValue: String);
    function GetMODULOIsNull: Boolean;
    procedure SetMODULOIsNull(const aValue: Boolean);
    function GetNOMBRECOMPValue: String;
    procedure SetNOMBRECOMPValue(const aValue: String);
    function GetNOMBRECOMPIsNull: Boolean;
    procedure SetNOMBRECOMPIsNull(const aValue: Boolean);
    function GetNOMBREFORMValue: String;
    procedure SetNOMBREFORMValue(const aValue: String);
    function GetNOMBREFORMIsNull: Boolean;
    procedure SetNOMBREFORMIsNull(const aValue: Boolean);
    function GetCHECKSUMValue: String;
    procedure SetCHECKSUMValue(const aValue: String);
    function GetCHECKSUMIsNull: Boolean;
    procedure SetCHECKSUMIsNull(const aValue: Boolean);


    { Properties }
    property ID_USUARIO: Integer read GetID_USUARIOValue write SetID_USUARIOValue;
    property ID_USUARIOIsNull: Boolean read GetID_USUARIOIsNull write SetID_USUARIOIsNull;
    property MODULO: String read GetMODULOValue write SetMODULOValue;
    property MODULOIsNull: Boolean read GetMODULOIsNull write SetMODULOIsNull;
    property NOMBRECOMP: String read GetNOMBRECOMPValue write SetNOMBRECOMPValue;
    property NOMBRECOMPIsNull: Boolean read GetNOMBRECOMPIsNull write SetNOMBRECOMPIsNull;
    property NOMBREFORM: String read GetNOMBREFORMValue write SetNOMBREFORMValue;
    property NOMBREFORMIsNull: Boolean read GetNOMBREFORMIsNull write SetNOMBREFORMIsNull;
    property CHECKSUM: String read GetCHECKSUMValue write SetCHECKSUMValue;
    property CHECKSUMIsNull: Boolean read GetCHECKSUMIsNull write SetCHECKSUMIsNull;
  end;

  { TPERMISOSEXDataTableRules }
  TPERMISOSEXDataTableRules = class(TIntfObjectDADataTableRules, IPERMISOSEX)
  private
  protected
    { Property getters and setters }
    function GetID_USUARIOValue: Integer; virtual;
    procedure SetID_USUARIOValue(const aValue: Integer); virtual;
    function GetID_USUARIOIsNull: Boolean; virtual;
    procedure SetID_USUARIOIsNull(const aValue: Boolean); virtual;
    function GetMODULOValue: String; virtual;
    procedure SetMODULOValue(const aValue: String); virtual;
    function GetMODULOIsNull: Boolean; virtual;
    procedure SetMODULOIsNull(const aValue: Boolean); virtual;
    function GetNOMBRECOMPValue: String; virtual;
    procedure SetNOMBRECOMPValue(const aValue: String); virtual;
    function GetNOMBRECOMPIsNull: Boolean; virtual;
    procedure SetNOMBRECOMPIsNull(const aValue: Boolean); virtual;
    function GetNOMBREFORMValue: String; virtual;
    procedure SetNOMBREFORMValue(const aValue: String); virtual;
    function GetNOMBREFORMIsNull: Boolean; virtual;
    procedure SetNOMBREFORMIsNull(const aValue: Boolean); virtual;
    function GetCHECKSUMValue: String; virtual;
    procedure SetCHECKSUMValue(const aValue: String); virtual;
    function GetCHECKSUMIsNull: Boolean; virtual;
    procedure SetCHECKSUMIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID_USUARIO: Integer read GetID_USUARIOValue write SetID_USUARIOValue;
    property ID_USUARIOIsNull: Boolean read GetID_USUARIOIsNull write SetID_USUARIOIsNull;
    property MODULO: String read GetMODULOValue write SetMODULOValue;
    property MODULOIsNull: Boolean read GetMODULOIsNull write SetMODULOIsNull;
    property NOMBRECOMP: String read GetNOMBRECOMPValue write SetNOMBRECOMPValue;
    property NOMBRECOMPIsNull: Boolean read GetNOMBRECOMPIsNull write SetNOMBRECOMPIsNull;
    property NOMBREFORM: String read GetNOMBREFORMValue write SetNOMBREFORMValue;
    property NOMBREFORMIsNull: Boolean read GetNOMBREFORMIsNull write SetNOMBREFORMIsNull;
    property CHECKSUM: String read GetCHECKSUMValue write SetCHECKSUMValue;
    property CHECKSUMIsNull: Boolean read GetCHECKSUMIsNull write SetCHECKSUMIsNull;

  public
    constructor Create(aDataTable: TDADataTable); override;
    destructor Destroy; override;

  end;

  { IPERFILES }
  IPERFILES = interface(IDAStronglyTypedDataTable)
  ['{5578704D-1574-4705-AC6D-4D7FEEDB7E3E}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetUSERNAMEValue: String;
    procedure SetUSERNAMEValue(const aValue: String);
    function GetUSERNAMEIsNull: Boolean;
    procedure SetUSERNAMEIsNull(const aValue: Boolean);
    function GetLOGINValue: String;
    procedure SetLOGINValue(const aValue: String);
    function GetLOGINIsNull: Boolean;
    procedure SetLOGINIsNull(const aValue: Boolean);
    function GetTIPOValue: String;
    procedure SetTIPOValue(const aValue: String);
    function GetTIPOIsNull: Boolean;
    procedure SetTIPOIsNull(const aValue: Boolean);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property USERNAME: String read GetUSERNAMEValue write SetUSERNAMEValue;
    property USERNAMEIsNull: Boolean read GetUSERNAMEIsNull write SetUSERNAMEIsNull;
    property LOGIN: String read GetLOGINValue write SetLOGINValue;
    property LOGINIsNull: Boolean read GetLOGINIsNull write SetLOGINIsNull;
    property TIPO: String read GetTIPOValue write SetTIPOValue;
    property TIPOIsNull: Boolean read GetTIPOIsNull write SetTIPOIsNull;
  end;

  { TPERFILESDataTableRules }
  TPERFILESDataTableRules = class(TIntfObjectDADataTableRules, IPERFILES)
  private
  protected
    { Property getters and setters }
    function GetIDValue: Integer; virtual;
    procedure SetIDValue(const aValue: Integer); virtual;
    function GetIDIsNull: Boolean; virtual;
    procedure SetIDIsNull(const aValue: Boolean); virtual;
    function GetUSERNAMEValue: String; virtual;
    procedure SetUSERNAMEValue(const aValue: String); virtual;
    function GetUSERNAMEIsNull: Boolean; virtual;
    procedure SetUSERNAMEIsNull(const aValue: Boolean); virtual;
    function GetLOGINValue: String; virtual;
    procedure SetLOGINValue(const aValue: String); virtual;
    function GetLOGINIsNull: Boolean; virtual;
    procedure SetLOGINIsNull(const aValue: Boolean); virtual;
    function GetTIPOValue: String; virtual;
    procedure SetTIPOValue(const aValue: String); virtual;
    function GetTIPOIsNull: Boolean; virtual;
    procedure SetTIPOIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property USERNAME: String read GetUSERNAMEValue write SetUSERNAMEValue;
    property USERNAMEIsNull: Boolean read GetUSERNAMEIsNull write SetUSERNAMEIsNull;
    property LOGIN: String read GetLOGINValue write SetLOGINValue;
    property LOGINIsNull: Boolean read GetLOGINIsNull write SetLOGINIsNull;
    property TIPO: String read GetTIPOValue write SetTIPOValue;
    property TIPOIsNull: Boolean read GetTIPOIsNull write SetTIPOIsNull;

  public
    constructor Create(aDataTable: TDADataTable); override;
    destructor Destroy; override;

  end;

implementation

uses Variants, uROBinaryHelpers;

{ TDarTiendaUsuarioDataTableRules }
constructor TDarTiendaUsuarioDataTableRules.Create(aDataTable: TDADataTable);
begin
  inherited;
end;

destructor TDarTiendaUsuarioDataTableRules.Destroy;
begin
  inherited;
end;

function TDarTiendaUsuarioDataTableRules.GetID_TIENDAValue: Integer;
begin
  result := DataTable.Fields[idx_DarTiendaUsuarioID_TIENDA].AsInteger;
end;

procedure TDarTiendaUsuarioDataTableRules.SetID_TIENDAValue(const aValue: Integer);
begin
  DataTable.Fields[idx_DarTiendaUsuarioID_TIENDA].AsInteger := aValue;
end;

function TDarTiendaUsuarioDataTableRules.GetID_TIENDAIsNull: boolean;
begin
  result := DataTable.Fields[idx_DarTiendaUsuarioID_TIENDA].IsNull;
end;

procedure TDarTiendaUsuarioDataTableRules.SetID_TIENDAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_DarTiendaUsuarioID_TIENDA].AsVariant := Null;
end;

function TDarTiendaUsuarioDataTableRules.GetTIENDAValue: String;
begin
  result := DataTable.Fields[idx_DarTiendaUsuarioTIENDA].AsString;
end;

procedure TDarTiendaUsuarioDataTableRules.SetTIENDAValue(const aValue: String);
begin
  DataTable.Fields[idx_DarTiendaUsuarioTIENDA].AsString := aValue;
end;

function TDarTiendaUsuarioDataTableRules.GetTIENDAIsNull: boolean;
begin
  result := DataTable.Fields[idx_DarTiendaUsuarioTIENDA].IsNull;
end;

procedure TDarTiendaUsuarioDataTableRules.SetTIENDAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_DarTiendaUsuarioTIENDA].AsVariant := Null;
end;


{ TUSUARIOSDataTableRules }
constructor TUSUARIOSDataTableRules.Create(aDataTable: TDADataTable);
begin
  inherited;
end;

destructor TUSUARIOSDataTableRules.Destroy;
begin
  inherited;
end;

function TUSUARIOSDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_USUARIOSID].AsInteger;
end;

procedure TUSUARIOSDataTableRules.SetIDValue(const aValue: Integer);
begin
  DataTable.Fields[idx_USUARIOSID].AsInteger := aValue;
end;

function TUSUARIOSDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_USUARIOSID].IsNull;
end;

procedure TUSUARIOSDataTableRules.SetIDIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_USUARIOSID].AsVariant := Null;
end;

function TUSUARIOSDataTableRules.GetUSERNAMEValue: String;
begin
  result := DataTable.Fields[idx_USUARIOSUSERNAME].AsString;
end;

procedure TUSUARIOSDataTableRules.SetUSERNAMEValue(const aValue: String);
begin
  DataTable.Fields[idx_USUARIOSUSERNAME].AsString := aValue;
end;

function TUSUARIOSDataTableRules.GetUSERNAMEIsNull: boolean;
begin
  result := DataTable.Fields[idx_USUARIOSUSERNAME].IsNull;
end;

procedure TUSUARIOSDataTableRules.SetUSERNAMEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_USUARIOSUSERNAME].AsVariant := Null;
end;

function TUSUARIOSDataTableRules.GetLOGINValue: String;
begin
  result := DataTable.Fields[idx_USUARIOSLOGIN].AsString;
end;

procedure TUSUARIOSDataTableRules.SetLOGINValue(const aValue: String);
begin
  DataTable.Fields[idx_USUARIOSLOGIN].AsString := aValue;
end;

function TUSUARIOSDataTableRules.GetLOGINIsNull: boolean;
begin
  result := DataTable.Fields[idx_USUARIOSLOGIN].IsNull;
end;

procedure TUSUARIOSDataTableRules.SetLOGINIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_USUARIOSLOGIN].AsVariant := Null;
end;

function TUSUARIOSDataTableRules.GetPASSValue: String;
begin
  result := DataTable.Fields[idx_USUARIOSPASS].AsString;
end;

procedure TUSUARIOSDataTableRules.SetPASSValue(const aValue: String);
begin
  DataTable.Fields[idx_USUARIOSPASS].AsString := aValue;
end;

function TUSUARIOSDataTableRules.GetPASSIsNull: boolean;
begin
  result := DataTable.Fields[idx_USUARIOSPASS].IsNull;
end;

procedure TUSUARIOSDataTableRules.SetPASSIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_USUARIOSPASS].AsVariant := Null;
end;

function TUSUARIOSDataTableRules.GetPASSEXPIREDValue: DateTime;
begin
  result := DataTable.Fields[idx_USUARIOSPASSEXPIRED].AsDateTime;
end;

procedure TUSUARIOSDataTableRules.SetPASSEXPIREDValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_USUARIOSPASSEXPIRED].AsDateTime := aValue;
end;

function TUSUARIOSDataTableRules.GetPASSEXPIREDIsNull: boolean;
begin
  result := DataTable.Fields[idx_USUARIOSPASSEXPIRED].IsNull;
end;

procedure TUSUARIOSDataTableRules.SetPASSEXPIREDIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_USUARIOSPASSEXPIRED].AsVariant := Null;
end;

function TUSUARIOSDataTableRules.GetBLOQUEADOValue: SmallInt;
begin
  result := DataTable.Fields[idx_USUARIOSBLOQUEADO].AsSmallInt;
end;

procedure TUSUARIOSDataTableRules.SetBLOQUEADOValue(const aValue: SmallInt);
begin
  DataTable.Fields[idx_USUARIOSBLOQUEADO].AsSmallInt := aValue;
end;

function TUSUARIOSDataTableRules.GetBLOQUEADOIsNull: boolean;
begin
  result := DataTable.Fields[idx_USUARIOSBLOQUEADO].IsNull;
end;

procedure TUSUARIOSDataTableRules.SetBLOQUEADOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_USUARIOSBLOQUEADO].AsVariant := Null;
end;

function TUSUARIOSDataTableRules.GetEMAILValue: String;
begin
  result := DataTable.Fields[idx_USUARIOSEMAIL].AsString;
end;

procedure TUSUARIOSDataTableRules.SetEMAILValue(const aValue: String);
begin
  DataTable.Fields[idx_USUARIOSEMAIL].AsString := aValue;
end;

function TUSUARIOSDataTableRules.GetEMAILIsNull: boolean;
begin
  result := DataTable.Fields[idx_USUARIOSEMAIL].IsNull;
end;

procedure TUSUARIOSDataTableRules.SetEMAILIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_USUARIOSEMAIL].AsVariant := Null;
end;

function TUSUARIOSDataTableRules.GetUSERDAYSSUNValue: Integer;
begin
  result := DataTable.Fields[idx_USUARIOSUSERDAYSSUN].AsInteger;
end;

procedure TUSUARIOSDataTableRules.SetUSERDAYSSUNValue(const aValue: Integer);
begin
  DataTable.Fields[idx_USUARIOSUSERDAYSSUN].AsInteger := aValue;
end;

function TUSUARIOSDataTableRules.GetUSERDAYSSUNIsNull: boolean;
begin
  result := DataTable.Fields[idx_USUARIOSUSERDAYSSUN].IsNull;
end;

procedure TUSUARIOSDataTableRules.SetUSERDAYSSUNIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_USUARIOSUSERDAYSSUN].AsVariant := Null;
end;

function TUSUARIOSDataTableRules.GetPRIVILEGEDValue: Integer;
begin
  result := DataTable.Fields[idx_USUARIOSPRIVILEGED].AsInteger;
end;

procedure TUSUARIOSDataTableRules.SetPRIVILEGEDValue(const aValue: Integer);
begin
  DataTable.Fields[idx_USUARIOSPRIVILEGED].AsInteger := aValue;
end;

function TUSUARIOSDataTableRules.GetPRIVILEGEDIsNull: boolean;
begin
  result := DataTable.Fields[idx_USUARIOSPRIVILEGED].IsNull;
end;

procedure TUSUARIOSDataTableRules.SetPRIVILEGEDIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_USUARIOSPRIVILEGED].AsVariant := Null;
end;

function TUSUARIOSDataTableRules.GetTIPOValue: String;
begin
  result := DataTable.Fields[idx_USUARIOSTIPO].AsString;
end;

procedure TUSUARIOSDataTableRules.SetTIPOValue(const aValue: String);
begin
  DataTable.Fields[idx_USUARIOSTIPO].AsString := aValue;
end;

function TUSUARIOSDataTableRules.GetTIPOIsNull: boolean;
begin
  result := DataTable.Fields[idx_USUARIOSTIPO].IsNull;
end;

procedure TUSUARIOSDataTableRules.SetTIPOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_USUARIOSTIPO].AsVariant := Null;
end;

function TUSUARIOSDataTableRules.GetID_PERFILValue: Integer;
begin
  result := DataTable.Fields[idx_USUARIOSID_PERFIL].AsInteger;
end;

procedure TUSUARIOSDataTableRules.SetID_PERFILValue(const aValue: Integer);
begin
  DataTable.Fields[idx_USUARIOSID_PERFIL].AsInteger := aValue;
end;

function TUSUARIOSDataTableRules.GetID_PERFILIsNull: boolean;
begin
  result := DataTable.Fields[idx_USUARIOSID_PERFIL].IsNull;
end;

procedure TUSUARIOSDataTableRules.SetID_PERFILIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_USUARIOSID_PERFIL].AsVariant := Null;
end;

function TUSUARIOSDataTableRules.GetCHECKSUMValue: String;
begin
  result := DataTable.Fields[idx_USUARIOSCHECKSUM].AsString;
end;

procedure TUSUARIOSDataTableRules.SetCHECKSUMValue(const aValue: String);
begin
  DataTable.Fields[idx_USUARIOSCHECKSUM].AsString := aValue;
end;

function TUSUARIOSDataTableRules.GetCHECKSUMIsNull: boolean;
begin
  result := DataTable.Fields[idx_USUARIOSCHECKSUM].IsNull;
end;

procedure TUSUARIOSDataTableRules.SetCHECKSUMIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_USUARIOSCHECKSUM].AsVariant := Null;
end;


{ TUSUARIOS_EVENTOSDataTableRules }
constructor TUSUARIOS_EVENTOSDataTableRules.Create(aDataTable: TDADataTable);
var
  StrList: TStringList;
begin
  inherited;

  StrList := TStringList.Create;
  StrList.OnChange := NOTAS_OnChange;
  f_NOTAS := NewROStrings(StrList,True);
end;

destructor TUSUARIOS_EVENTOSDataTableRules.Destroy;
begin
  inherited;
end;

procedure TUSUARIOS_EVENTOSDataTableRules.NOTAS_OnChange(Sender: TObject);
begin
  if DataTable.Editing then DataTable.Fields[idx_USUARIOS_EVENTOSNOTAS].AsVariant := TStringList(Sender).Text;
end;

function TUSUARIOS_EVENTOSDataTableRules.GetAPLICACIONValue: String;
begin
  result := DataTable.Fields[idx_USUARIOS_EVENTOSAPLICACION].AsString;
end;

procedure TUSUARIOS_EVENTOSDataTableRules.SetAPLICACIONValue(const aValue: String);
begin
  DataTable.Fields[idx_USUARIOS_EVENTOSAPLICACION].AsString := aValue;
end;

function TUSUARIOS_EVENTOSDataTableRules.GetAPLICACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_USUARIOS_EVENTOSAPLICACION].IsNull;
end;

procedure TUSUARIOS_EVENTOSDataTableRules.SetAPLICACIONIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_USUARIOS_EVENTOSAPLICACION].AsVariant := Null;
end;

function TUSUARIOS_EVENTOSDataTableRules.GetID_USUARIOValue: Integer;
begin
  result := DataTable.Fields[idx_USUARIOS_EVENTOSID_USUARIO].AsInteger;
end;

procedure TUSUARIOS_EVENTOSDataTableRules.SetID_USUARIOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_USUARIOS_EVENTOSID_USUARIO].AsInteger := aValue;
end;

function TUSUARIOS_EVENTOSDataTableRules.GetID_USUARIOIsNull: boolean;
begin
  result := DataTable.Fields[idx_USUARIOS_EVENTOSID_USUARIO].IsNull;
end;

procedure TUSUARIOS_EVENTOSDataTableRules.SetID_USUARIOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_USUARIOS_EVENTOSID_USUARIO].AsVariant := Null;
end;

function TUSUARIOS_EVENTOSDataTableRules.GetFECHAValue: String;
begin
  result := DataTable.Fields[idx_USUARIOS_EVENTOSFECHA].AsString;
end;

procedure TUSUARIOS_EVENTOSDataTableRules.SetFECHAValue(const aValue: String);
begin
  DataTable.Fields[idx_USUARIOS_EVENTOSFECHA].AsString := aValue;
end;

function TUSUARIOS_EVENTOSDataTableRules.GetFECHAIsNull: boolean;
begin
  result := DataTable.Fields[idx_USUARIOS_EVENTOSFECHA].IsNull;
end;

procedure TUSUARIOS_EVENTOSDataTableRules.SetFECHAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_USUARIOS_EVENTOSFECHA].AsVariant := Null;
end;

function TUSUARIOS_EVENTOSDataTableRules.GetHORAValue: String;
begin
  result := DataTable.Fields[idx_USUARIOS_EVENTOSHORA].AsString;
end;

procedure TUSUARIOS_EVENTOSDataTableRules.SetHORAValue(const aValue: String);
begin
  DataTable.Fields[idx_USUARIOS_EVENTOSHORA].AsString := aValue;
end;

function TUSUARIOS_EVENTOSDataTableRules.GetHORAIsNull: boolean;
begin
  result := DataTable.Fields[idx_USUARIOS_EVENTOSHORA].IsNull;
end;

procedure TUSUARIOS_EVENTOSDataTableRules.SetHORAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_USUARIOS_EVENTOSHORA].AsVariant := Null;
end;

function TUSUARIOS_EVENTOSDataTableRules.GetFORMValue: String;
begin
  result := DataTable.Fields[idx_USUARIOS_EVENTOSFORM].AsString;
end;

procedure TUSUARIOS_EVENTOSDataTableRules.SetFORMValue(const aValue: String);
begin
  DataTable.Fields[idx_USUARIOS_EVENTOSFORM].AsString := aValue;
end;

function TUSUARIOS_EVENTOSDataTableRules.GetFORMIsNull: boolean;
begin
  result := DataTable.Fields[idx_USUARIOS_EVENTOSFORM].IsNull;
end;

procedure TUSUARIOS_EVENTOSDataTableRules.SetFORMIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_USUARIOS_EVENTOSFORM].AsVariant := Null;
end;

function TUSUARIOS_EVENTOSDataTableRules.GetTITULO_FORMValue: String;
begin
  result := DataTable.Fields[idx_USUARIOS_EVENTOSTITULO_FORM].AsString;
end;

procedure TUSUARIOS_EVENTOSDataTableRules.SetTITULO_FORMValue(const aValue: String);
begin
  DataTable.Fields[idx_USUARIOS_EVENTOSTITULO_FORM].AsString := aValue;
end;

function TUSUARIOS_EVENTOSDataTableRules.GetTITULO_FORMIsNull: boolean;
begin
  result := DataTable.Fields[idx_USUARIOS_EVENTOSTITULO_FORM].IsNull;
end;

procedure TUSUARIOS_EVENTOSDataTableRules.SetTITULO_FORMIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_USUARIOS_EVENTOSTITULO_FORM].AsVariant := Null;
end;

function TUSUARIOS_EVENTOSDataTableRules.GetEVENTOValue: String;
begin
  result := DataTable.Fields[idx_USUARIOS_EVENTOSEVENTO].AsString;
end;

procedure TUSUARIOS_EVENTOSDataTableRules.SetEVENTOValue(const aValue: String);
begin
  DataTable.Fields[idx_USUARIOS_EVENTOSEVENTO].AsString := aValue;
end;

function TUSUARIOS_EVENTOSDataTableRules.GetEVENTOIsNull: boolean;
begin
  result := DataTable.Fields[idx_USUARIOS_EVENTOSEVENTO].IsNull;
end;

procedure TUSUARIOS_EVENTOSDataTableRules.SetEVENTOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_USUARIOS_EVENTOSEVENTO].AsVariant := Null;
end;

function TUSUARIOS_EVENTOSDataTableRules.GetNOTASValue: IROStrings;
begin
  result := f_NOTAS;
  result.Text := DataTable.Fields[idx_USUARIOS_EVENTOSNOTAS].AsString;
end;

function TUSUARIOS_EVENTOSDataTableRules.GetNOTASIsNull: boolean;
begin
  result := DataTable.Fields[idx_USUARIOS_EVENTOSNOTAS].IsNull;
end;

procedure TUSUARIOS_EVENTOSDataTableRules.SetNOTASIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_USUARIOS_EVENTOSNOTAS].AsVariant := Null;
end;

function TUSUARIOS_EVENTOSDataTableRules.GetTNAMEValue: String;
begin
  result := DataTable.Fields[idx_USUARIOS_EVENTOSTNAME].AsString;
end;

procedure TUSUARIOS_EVENTOSDataTableRules.SetTNAMEValue(const aValue: String);
begin
  DataTable.Fields[idx_USUARIOS_EVENTOSTNAME].AsString := aValue;
end;

function TUSUARIOS_EVENTOSDataTableRules.GetTNAMEIsNull: boolean;
begin
  result := DataTable.Fields[idx_USUARIOS_EVENTOSTNAME].IsNull;
end;

procedure TUSUARIOS_EVENTOSDataTableRules.SetTNAMEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_USUARIOS_EVENTOSTNAME].AsVariant := Null;
end;


{ TUSUARIOS_LOGONDataTableRules }
constructor TUSUARIOS_LOGONDataTableRules.Create(aDataTable: TDADataTable);
begin
  inherited;
end;

destructor TUSUARIOS_LOGONDataTableRules.Destroy;
begin
  inherited;
end;

function TUSUARIOS_LOGONDataTableRules.GetLOGONIDValue: String;
begin
  result := DataTable.Fields[idx_USUARIOS_LOGONLOGONID].AsString;
end;

procedure TUSUARIOS_LOGONDataTableRules.SetLOGONIDValue(const aValue: String);
begin
  DataTable.Fields[idx_USUARIOS_LOGONLOGONID].AsString := aValue;
end;

function TUSUARIOS_LOGONDataTableRules.GetLOGONIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_USUARIOS_LOGONLOGONID].IsNull;
end;

procedure TUSUARIOS_LOGONDataTableRules.SetLOGONIDIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_USUARIOS_LOGONLOGONID].AsVariant := Null;
end;

function TUSUARIOS_LOGONDataTableRules.GetID_USUARIOValue: Integer;
begin
  result := DataTable.Fields[idx_USUARIOS_LOGONID_USUARIO].AsInteger;
end;

procedure TUSUARIOS_LOGONDataTableRules.SetID_USUARIOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_USUARIOS_LOGONID_USUARIO].AsInteger := aValue;
end;

function TUSUARIOS_LOGONDataTableRules.GetID_USUARIOIsNull: boolean;
begin
  result := DataTable.Fields[idx_USUARIOS_LOGONID_USUARIO].IsNull;
end;

procedure TUSUARIOS_LOGONDataTableRules.SetID_USUARIOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_USUARIOS_LOGONID_USUARIO].AsVariant := Null;
end;

function TUSUARIOS_LOGONDataTableRules.GetAPLICACIONValue: String;
begin
  result := DataTable.Fields[idx_USUARIOS_LOGONAPLICACION].AsString;
end;

procedure TUSUARIOS_LOGONDataTableRules.SetAPLICACIONValue(const aValue: String);
begin
  DataTable.Fields[idx_USUARIOS_LOGONAPLICACION].AsString := aValue;
end;

function TUSUARIOS_LOGONDataTableRules.GetAPLICACIONIsNull: boolean;
begin
  result := DataTable.Fields[idx_USUARIOS_LOGONAPLICACION].IsNull;
end;

procedure TUSUARIOS_LOGONDataTableRules.SetAPLICACIONIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_USUARIOS_LOGONAPLICACION].AsVariant := Null;
end;

function TUSUARIOS_LOGONDataTableRules.GetEQUIPOValue: String;
begin
  result := DataTable.Fields[idx_USUARIOS_LOGONEQUIPO].AsString;
end;

procedure TUSUARIOS_LOGONDataTableRules.SetEQUIPOValue(const aValue: String);
begin
  DataTable.Fields[idx_USUARIOS_LOGONEQUIPO].AsString := aValue;
end;

function TUSUARIOS_LOGONDataTableRules.GetEQUIPOIsNull: boolean;
begin
  result := DataTable.Fields[idx_USUARIOS_LOGONEQUIPO].IsNull;
end;

procedure TUSUARIOS_LOGONDataTableRules.SetEQUIPOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_USUARIOS_LOGONEQUIPO].AsVariant := Null;
end;

function TUSUARIOS_LOGONDataTableRules.GetDATAValue: String;
begin
  result := DataTable.Fields[idx_USUARIOS_LOGONDATA].AsString;
end;

procedure TUSUARIOS_LOGONDataTableRules.SetDATAValue(const aValue: String);
begin
  DataTable.Fields[idx_USUARIOS_LOGONDATA].AsString := aValue;
end;

function TUSUARIOS_LOGONDataTableRules.GetDATAIsNull: boolean;
begin
  result := DataTable.Fields[idx_USUARIOS_LOGONDATA].IsNull;
end;

procedure TUSUARIOS_LOGONDataTableRules.SetDATAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_USUARIOS_LOGONDATA].AsVariant := Null;
end;


{ TPERMISOSDataTableRules }
constructor TPERMISOSDataTableRules.Create(aDataTable: TDADataTable);
begin
  inherited;
end;

destructor TPERMISOSDataTableRules.Destroy;
begin
  inherited;
end;

function TPERMISOSDataTableRules.GetID_USUARIOValue: Integer;
begin
  result := DataTable.Fields[idx_PERMISOSID_USUARIO].AsInteger;
end;

procedure TPERMISOSDataTableRules.SetID_USUARIOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_PERMISOSID_USUARIO].AsInteger := aValue;
end;

function TPERMISOSDataTableRules.GetID_USUARIOIsNull: boolean;
begin
  result := DataTable.Fields[idx_PERMISOSID_USUARIO].IsNull;
end;

procedure TPERMISOSDataTableRules.SetID_USUARIOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_PERMISOSID_USUARIO].AsVariant := Null;
end;

function TPERMISOSDataTableRules.GetMODULOValue: String;
begin
  result := DataTable.Fields[idx_PERMISOSMODULO].AsString;
end;

procedure TPERMISOSDataTableRules.SetMODULOValue(const aValue: String);
begin
  DataTable.Fields[idx_PERMISOSMODULO].AsString := aValue;
end;

function TPERMISOSDataTableRules.GetMODULOIsNull: boolean;
begin
  result := DataTable.Fields[idx_PERMISOSMODULO].IsNull;
end;

procedure TPERMISOSDataTableRules.SetMODULOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_PERMISOSMODULO].AsVariant := Null;
end;

function TPERMISOSDataTableRules.GetNOMBRECOMPValue: String;
begin
  result := DataTable.Fields[idx_PERMISOSNOMBRECOMP].AsString;
end;

procedure TPERMISOSDataTableRules.SetNOMBRECOMPValue(const aValue: String);
begin
  DataTable.Fields[idx_PERMISOSNOMBRECOMP].AsString := aValue;
end;

function TPERMISOSDataTableRules.GetNOMBRECOMPIsNull: boolean;
begin
  result := DataTable.Fields[idx_PERMISOSNOMBRECOMP].IsNull;
end;

procedure TPERMISOSDataTableRules.SetNOMBRECOMPIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_PERMISOSNOMBRECOMP].AsVariant := Null;
end;

function TPERMISOSDataTableRules.GetCHECKSUMValue: String;
begin
  result := DataTable.Fields[idx_PERMISOSCHECKSUM].AsString;
end;

procedure TPERMISOSDataTableRules.SetCHECKSUMValue(const aValue: String);
begin
  DataTable.Fields[idx_PERMISOSCHECKSUM].AsString := aValue;
end;

function TPERMISOSDataTableRules.GetCHECKSUMIsNull: boolean;
begin
  result := DataTable.Fields[idx_PERMISOSCHECKSUM].IsNull;
end;

procedure TPERMISOSDataTableRules.SetCHECKSUMIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_PERMISOSCHECKSUM].AsVariant := Null;
end;


{ TPERMISOSEXDataTableRules }
constructor TPERMISOSEXDataTableRules.Create(aDataTable: TDADataTable);
begin
  inherited;
end;

destructor TPERMISOSEXDataTableRules.Destroy;
begin
  inherited;
end;

function TPERMISOSEXDataTableRules.GetID_USUARIOValue: Integer;
begin
  result := DataTable.Fields[idx_PERMISOSEXID_USUARIO].AsInteger;
end;

procedure TPERMISOSEXDataTableRules.SetID_USUARIOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_PERMISOSEXID_USUARIO].AsInteger := aValue;
end;

function TPERMISOSEXDataTableRules.GetID_USUARIOIsNull: boolean;
begin
  result := DataTable.Fields[idx_PERMISOSEXID_USUARIO].IsNull;
end;

procedure TPERMISOSEXDataTableRules.SetID_USUARIOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_PERMISOSEXID_USUARIO].AsVariant := Null;
end;

function TPERMISOSEXDataTableRules.GetMODULOValue: String;
begin
  result := DataTable.Fields[idx_PERMISOSEXMODULO].AsString;
end;

procedure TPERMISOSEXDataTableRules.SetMODULOValue(const aValue: String);
begin
  DataTable.Fields[idx_PERMISOSEXMODULO].AsString := aValue;
end;

function TPERMISOSEXDataTableRules.GetMODULOIsNull: boolean;
begin
  result := DataTable.Fields[idx_PERMISOSEXMODULO].IsNull;
end;

procedure TPERMISOSEXDataTableRules.SetMODULOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_PERMISOSEXMODULO].AsVariant := Null;
end;

function TPERMISOSEXDataTableRules.GetNOMBRECOMPValue: String;
begin
  result := DataTable.Fields[idx_PERMISOSEXNOMBRECOMP].AsString;
end;

procedure TPERMISOSEXDataTableRules.SetNOMBRECOMPValue(const aValue: String);
begin
  DataTable.Fields[idx_PERMISOSEXNOMBRECOMP].AsString := aValue;
end;

function TPERMISOSEXDataTableRules.GetNOMBRECOMPIsNull: boolean;
begin
  result := DataTable.Fields[idx_PERMISOSEXNOMBRECOMP].IsNull;
end;

procedure TPERMISOSEXDataTableRules.SetNOMBRECOMPIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_PERMISOSEXNOMBRECOMP].AsVariant := Null;
end;

function TPERMISOSEXDataTableRules.GetNOMBREFORMValue: String;
begin
  result := DataTable.Fields[idx_PERMISOSEXNOMBREFORM].AsString;
end;

procedure TPERMISOSEXDataTableRules.SetNOMBREFORMValue(const aValue: String);
begin
  DataTable.Fields[idx_PERMISOSEXNOMBREFORM].AsString := aValue;
end;

function TPERMISOSEXDataTableRules.GetNOMBREFORMIsNull: boolean;
begin
  result := DataTable.Fields[idx_PERMISOSEXNOMBREFORM].IsNull;
end;

procedure TPERMISOSEXDataTableRules.SetNOMBREFORMIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_PERMISOSEXNOMBREFORM].AsVariant := Null;
end;

function TPERMISOSEXDataTableRules.GetCHECKSUMValue: String;
begin
  result := DataTable.Fields[idx_PERMISOSEXCHECKSUM].AsString;
end;

procedure TPERMISOSEXDataTableRules.SetCHECKSUMValue(const aValue: String);
begin
  DataTable.Fields[idx_PERMISOSEXCHECKSUM].AsString := aValue;
end;

function TPERMISOSEXDataTableRules.GetCHECKSUMIsNull: boolean;
begin
  result := DataTable.Fields[idx_PERMISOSEXCHECKSUM].IsNull;
end;

procedure TPERMISOSEXDataTableRules.SetCHECKSUMIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_PERMISOSEXCHECKSUM].AsVariant := Null;
end;


{ TPERFILESDataTableRules }
constructor TPERFILESDataTableRules.Create(aDataTable: TDADataTable);
begin
  inherited;
end;

destructor TPERFILESDataTableRules.Destroy;
begin
  inherited;
end;

function TPERFILESDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_PERFILESID].AsInteger;
end;

procedure TPERFILESDataTableRules.SetIDValue(const aValue: Integer);
begin
  DataTable.Fields[idx_PERFILESID].AsInteger := aValue;
end;

function TPERFILESDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_PERFILESID].IsNull;
end;

procedure TPERFILESDataTableRules.SetIDIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_PERFILESID].AsVariant := Null;
end;

function TPERFILESDataTableRules.GetUSERNAMEValue: String;
begin
  result := DataTable.Fields[idx_PERFILESUSERNAME].AsString;
end;

procedure TPERFILESDataTableRules.SetUSERNAMEValue(const aValue: String);
begin
  DataTable.Fields[idx_PERFILESUSERNAME].AsString := aValue;
end;

function TPERFILESDataTableRules.GetUSERNAMEIsNull: boolean;
begin
  result := DataTable.Fields[idx_PERFILESUSERNAME].IsNull;
end;

procedure TPERFILESDataTableRules.SetUSERNAMEIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_PERFILESUSERNAME].AsVariant := Null;
end;

function TPERFILESDataTableRules.GetLOGINValue: String;
begin
  result := DataTable.Fields[idx_PERFILESLOGIN].AsString;
end;

procedure TPERFILESDataTableRules.SetLOGINValue(const aValue: String);
begin
  DataTable.Fields[idx_PERFILESLOGIN].AsString := aValue;
end;

function TPERFILESDataTableRules.GetLOGINIsNull: boolean;
begin
  result := DataTable.Fields[idx_PERFILESLOGIN].IsNull;
end;

procedure TPERFILESDataTableRules.SetLOGINIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_PERFILESLOGIN].AsVariant := Null;
end;

function TPERFILESDataTableRules.GetTIPOValue: String;
begin
  result := DataTable.Fields[idx_PERFILESTIPO].AsString;
end;

procedure TPERFILESDataTableRules.SetTIPOValue(const aValue: String);
begin
  DataTable.Fields[idx_PERFILESTIPO].AsString := aValue;
end;

function TPERFILESDataTableRules.GetTIPOIsNull: boolean;
begin
  result := DataTable.Fields[idx_PERFILESTIPO].IsNull;
end;

procedure TPERFILESDataTableRules.SetTIPOIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_PERFILESTIPO].AsVariant := Null;
end;


initialization
  RegisterDataTableRules(RID_DarTiendaUsuario, TDarTiendaUsuarioDataTableRules);
  RegisterDataTableRules(RID_USUARIOS, TUSUARIOSDataTableRules);
  RegisterDataTableRules(RID_USUARIOS_EVENTOS, TUSUARIOS_EVENTOSDataTableRules);
  RegisterDataTableRules(RID_USUARIOS_LOGON, TUSUARIOS_LOGONDataTableRules);
  RegisterDataTableRules(RID_PERMISOS, TPERMISOSDataTableRules);
  RegisterDataTableRules(RID_PERMISOSEX, TPERMISOSEXDataTableRules);
  RegisterDataTableRules(RID_PERFILES, TPERFILESDataTableRules);

end.
