unit schContactosClient_Intf;

interface

uses
  Classes, DB, SysUtils, uROClasses, uDADataTable;

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_CONTACTOSCATEGORIAS = '{386B93D9-803E-4C08-8DE8-075F407A3B3D}';
  RID_CATEGORIAS = '{A5218C5E-E6CD-4657-8500-9E5B510E9A47}';
  RID_REFRESCOCONTACTOSCATEGORIAS = '{D7BC65B3-AD7F-4F36-B641-EADCC4F4A97E}';
  RID_CONTACTOS = '{33738FFA-C3F6-4F05-A199-4397D0C482C9}';
  RID_CONTACTOSASOCIADOS = '{7F565336-ACC9-436F-90A7-49651905E66A}';
  RID_REFRESCOCONTACTOSASOCIADOS = '{773CDA04-14F3-4961-9C68-FDA92705A44D}';

  { Data table names }
  nme_CONTACTOSCATEGORIAS = 'CONTACTOSCATEGORIAS';
  nme_CATEGORIAS = 'CATEGORIAS';
  nme_REFRESCOCONTACTOSCATEGORIAS = 'REFRESCOCONTACTOSCATEGORIAS';
  nme_CONTACTOS = 'CONTACTOS';
  nme_CONTACTOSASOCIADOS = 'CONTACTOSASOCIADOS';
  nme_REFRESCOCONTACTOSASOCIADOS = 'REFRESCOCONTACTOSASOCIADOS';

  { CONTACTOSCATEGORIAS fields }
  fld_CONTACTOSCATEGORIASCODIGOCONTACTO = 'CODIGOCONTACTO';
  fld_CONTACTOSCATEGORIASCODIGOCATEGORIA = 'CODIGOCATEGORIA';
  fld_CONTACTOSCATEGORIASDESCRIPCION = 'DESCRIPCION';

  { CONTACTOSCATEGORIAS field indexes }
  idx_CONTACTOSCATEGORIASCODIGOCONTACTO = 0;
  idx_CONTACTOSCATEGORIASCODIGOCATEGORIA = 1;
  idx_CONTACTOSCATEGORIASDESCRIPCION = 2;

  { CATEGORIAS fields }
  fld_CATEGORIASCODIGO = 'CODIGO';
  fld_CATEGORIASDESCRIPCION = 'DESCRIPCION';

  { CATEGORIAS field indexes }
  idx_CATEGORIASCODIGO = 0;
  idx_CATEGORIASDESCRIPCION = 1;

  { REFRESCOCONTACTOSCATEGORIAS fields }
  fld_REFRESCOCONTACTOSCATEGORIASCODIGOCONTACTO = 'CODIGOCONTACTO';
  fld_REFRESCOCONTACTOSCATEGORIASCODIGOCATEGORIA = 'CODIGOCATEGORIA';
  fld_REFRESCOCONTACTOSCATEGORIASDESCRIPCION = 'DESCRIPCION';

  { REFRESCOCONTACTOSCATEGORIAS field indexes }
  idx_REFRESCOCONTACTOSCATEGORIASCODIGOCONTACTO = 0;
  idx_REFRESCOCONTACTOSCATEGORIASCODIGOCATEGORIA = 1;
  idx_REFRESCOCONTACTOSCATEGORIASDESCRIPCION = 2;

  { CONTACTOS fields }
  fld_CONTACTOSCODIGOEMPRESA = 'CODIGOEMPRESA';
  fld_CONTACTOSCODIGO = 'CODIGO';
  fld_CONTACTOSFECHAALTA = 'FECHAALTA';
  fld_CONTACTOSUSUARIO = 'USUARIO';
  fld_CONTACTOSNIFCIF = 'NIFCIF';
  fld_CONTACTOSNOMBRE = 'NOMBRE';
  fld_CONTACTOSCALLE = 'CALLE';
  fld_CONTACTOSPROVINCIA = 'PROVINCIA';
  fld_CONTACTOSCODIGOPOSTAL = 'CODIGOPOSTAL';
  fld_CONTACTOSPOBLACION = 'POBLACION';
  fld_CONTACTOSTELEFONO1 = 'TELEFONO1';
  fld_CONTACTOSTELEFONO2 = 'TELEFONO2';
  fld_CONTACTOSMOVIL = 'MOVIL';
  fld_CONTACTOSFAX = 'FAX';
  fld_CONTACTOSCORREO1 = 'CORREO1';
  fld_CONTACTOSCORREO2 = 'CORREO2';
  fld_CONTACTOSPAGINAWEB = 'PAGINAWEB';
  fld_CONTACTOSPUESTO = 'PUESTO';
  fld_CONTACTOSTRABAJO = 'TRABAJO';
  fld_CONTACTOSDATOSFACTURACION = 'DATOSFACTURACION';
  fld_CONTACTOSDATOSBANCARIOS = 'DATOSBANCARIOS';
  fld_CONTACTOSLISTACATEGORIAS = 'LISTACATEGORIAS';

  { CONTACTOS field indexes }
  idx_CONTACTOSCODIGOEMPRESA = 0;
  idx_CONTACTOSCODIGO = 1;
  idx_CONTACTOSFECHAALTA = 2;
  idx_CONTACTOSUSUARIO = 3;
  idx_CONTACTOSNIFCIF = 4;
  idx_CONTACTOSNOMBRE = 5;
  idx_CONTACTOSCALLE = 6;
  idx_CONTACTOSPROVINCIA = 7;
  idx_CONTACTOSCODIGOPOSTAL = 8;
  idx_CONTACTOSPOBLACION = 9;
  idx_CONTACTOSTELEFONO1 = 10;
  idx_CONTACTOSTELEFONO2 = 11;
  idx_CONTACTOSMOVIL = 12;
  idx_CONTACTOSFAX = 13;
  idx_CONTACTOSCORREO1 = 14;
  idx_CONTACTOSCORREO2 = 15;
  idx_CONTACTOSPAGINAWEB = 16;
  idx_CONTACTOSPUESTO = 17;
  idx_CONTACTOSTRABAJO = 18;
  idx_CONTACTOSDATOSFACTURACION = 19;
  idx_CONTACTOSDATOSBANCARIOS = 20;
  idx_CONTACTOSLISTACATEGORIAS = 21;

  { CONTACTOSASOCIADOS fields }
  fld_CONTACTOSASOCIADOSCODIGOCONTACTO = 'CODIGOCONTACTO';
  fld_CONTACTOSASOCIADOSCODIGOASOCIADO = 'CODIGOASOCIADO';
  fld_CONTACTOSASOCIADOSNOMBRE = 'NOMBRE';

  { CONTACTOSASOCIADOS field indexes }
  idx_CONTACTOSASOCIADOSCODIGOCONTACTO = 0;
  idx_CONTACTOSASOCIADOSCODIGOASOCIADO = 1;
  idx_CONTACTOSASOCIADOSNOMBRE = 2;

  { REFRESCOCONTACTOSASOCIADOS fields }
  fld_REFRESCOCONTACTOSASOCIADOSCODIGOCONTACTO = 'CODIGOCONTACTO';
  fld_REFRESCOCONTACTOSASOCIADOSCODIGOASOCIADO = 'CODIGOASOCIADO';
  fld_REFRESCOCONTACTOSASOCIADOSNOMBRE = 'NOMBRE';

  { REFRESCOCONTACTOSASOCIADOS field indexes }
  idx_REFRESCOCONTACTOSASOCIADOSCODIGOCONTACTO = 0;
  idx_REFRESCOCONTACTOSASOCIADOSCODIGOASOCIADO = 1;
  idx_REFRESCOCONTACTOSASOCIADOSNOMBRE = 2;

type
  { ICONTACTOSCATEGORIAS }
  ICONTACTOSCATEGORIAS = interface(IDAStronglyTypedDataTable)
  ['{2E473C84-0A63-4213-984E-D91F72479CA0}']
    { Property getters and setters }
    function GetCODIGOCONTACTOValue: Integer;
    procedure SetCODIGOCONTACTOValue(const aValue: Integer);
    function GetCODIGOCATEGORIAValue: Integer;
    procedure SetCODIGOCATEGORIAValue(const aValue: Integer);
    function GetDESCRIPCIONValue: String;
    procedure SetDESCRIPCIONValue(const aValue: String);


    { Properties }
    property CODIGOCONTACTO: Integer read GetCODIGOCONTACTOValue write SetCODIGOCONTACTOValue;
    property CODIGOCATEGORIA: Integer read GetCODIGOCATEGORIAValue write SetCODIGOCATEGORIAValue;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
  end;

  { TCONTACTOSCATEGORIASDataTableRules }
  TCONTACTOSCATEGORIASDataTableRules = class(TDADataTableRules, ICONTACTOSCATEGORIAS)
  private
  protected
    { Property getters and setters }
    function GetCODIGOCONTACTOValue: Integer; virtual;
    procedure SetCODIGOCONTACTOValue(const aValue: Integer); virtual;
    function GetCODIGOCATEGORIAValue: Integer; virtual;
    procedure SetCODIGOCATEGORIAValue(const aValue: Integer); virtual;
    function GetDESCRIPCIONValue: String; virtual;
    procedure SetDESCRIPCIONValue(const aValue: String); virtual;

    { Properties }
    property CODIGOCONTACTO: Integer read GetCODIGOCONTACTOValue write SetCODIGOCONTACTOValue;
    property CODIGOCATEGORIA: Integer read GetCODIGOCATEGORIAValue write SetCODIGOCATEGORIAValue;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;

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

  end;

  { ICATEGORIAS }
  ICATEGORIAS = interface(IDAStronglyTypedDataTable)
  ['{F5C77750-C9D3-4DC4-8959-C26C5897FFD5}']
    { Property getters and setters }
    function GetCODIGOValue: Integer;
    procedure SetCODIGOValue(const aValue: Integer);
    function GetDESCRIPCIONValue: String;
    procedure SetDESCRIPCIONValue(const aValue: String);


    { Properties }
    property CODIGO: Integer read GetCODIGOValue write SetCODIGOValue;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
  end;

  { TCATEGORIASDataTableRules }
  TCATEGORIASDataTableRules = class(TDADataTableRules, ICATEGORIAS)
  private
  protected
    { Property getters and setters }
    function GetCODIGOValue: Integer; virtual;
    procedure SetCODIGOValue(const aValue: Integer); virtual;
    function GetDESCRIPCIONValue: String; virtual;
    procedure SetDESCRIPCIONValue(const aValue: String); virtual;

    { Properties }
    property CODIGO: Integer read GetCODIGOValue write SetCODIGOValue;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;

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

  end;

  { IREFRESCOCONTACTOSCATEGORIAS }
  IREFRESCOCONTACTOSCATEGORIAS = interface(IDAStronglyTypedDataTable)
  ['{CABBB4D1-948F-47BD-9D80-8A2EFA16CD1B}']
    { Property getters and setters }
    function GetCODIGOCONTACTOValue: Integer;
    procedure SetCODIGOCONTACTOValue(const aValue: Integer);
    function GetCODIGOCATEGORIAValue: Integer;
    procedure SetCODIGOCATEGORIAValue(const aValue: Integer);
    function GetDESCRIPCIONValue: String;
    procedure SetDESCRIPCIONValue(const aValue: String);


    { Properties }
    property CODIGOCONTACTO: Integer read GetCODIGOCONTACTOValue write SetCODIGOCONTACTOValue;
    property CODIGOCATEGORIA: Integer read GetCODIGOCATEGORIAValue write SetCODIGOCATEGORIAValue;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
  end;

  { TREFRESCOCONTACTOSCATEGORIASDataTableRules }
  TREFRESCOCONTACTOSCATEGORIASDataTableRules = class(TDADataTableRules, IREFRESCOCONTACTOSCATEGORIAS)
  private
  protected
    { Property getters and setters }
    function GetCODIGOCONTACTOValue: Integer; virtual;
    procedure SetCODIGOCONTACTOValue(const aValue: Integer); virtual;
    function GetCODIGOCATEGORIAValue: Integer; virtual;
    procedure SetCODIGOCATEGORIAValue(const aValue: Integer); virtual;
    function GetDESCRIPCIONValue: String; virtual;
    procedure SetDESCRIPCIONValue(const aValue: String); virtual;

    { Properties }
    property CODIGOCONTACTO: Integer read GetCODIGOCONTACTOValue write SetCODIGOCONTACTOValue;
    property CODIGOCATEGORIA: Integer read GetCODIGOCATEGORIAValue write SetCODIGOCATEGORIAValue;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;

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

  end;

  { ICONTACTOS }
  ICONTACTOS = interface(IDAStronglyTypedDataTable)
  ['{0AC8F225-1B73-4F4F-AD8E-BDD9D74FADD5}']
    { Property getters and setters }
    function GetCODIGOEMPRESAValue: Integer;
    procedure SetCODIGOEMPRESAValue(const aValue: Integer);
    function GetCODIGOValue: Integer;
    procedure SetCODIGOValue(const aValue: Integer);
    function GetFECHAALTAValue: DateTime;
    procedure SetFECHAALTAValue(const aValue: DateTime);
    function GetUSUARIOValue: String;
    procedure SetUSUARIOValue(const aValue: String);
    function GetNIFCIFValue: String;
    procedure SetNIFCIFValue(const aValue: String);
    function GetNOMBREValue: String;
    procedure SetNOMBREValue(const aValue: String);
    function GetCALLEValue: String;
    procedure SetCALLEValue(const aValue: String);
    function GetPROVINCIAValue: String;
    procedure SetPROVINCIAValue(const aValue: String);
    function GetCODIGOPOSTALValue: String;
    procedure SetCODIGOPOSTALValue(const aValue: String);
    function GetPOBLACIONValue: String;
    procedure SetPOBLACIONValue(const aValue: String);
    function GetTELEFONO1Value: String;
    procedure SetTELEFONO1Value(const aValue: String);
    function GetTELEFONO2Value: String;
    procedure SetTELEFONO2Value(const aValue: String);
    function GetMOVILValue: String;
    procedure SetMOVILValue(const aValue: String);
    function GetFAXValue: String;
    procedure SetFAXValue(const aValue: String);
    function GetCORREO1Value: String;
    procedure SetCORREO1Value(const aValue: String);
    function GetCORREO2Value: String;
    procedure SetCORREO2Value(const aValue: String);
    function GetPAGINAWEBValue: String;
    procedure SetPAGINAWEBValue(const aValue: String);
    function GetPUESTOValue: String;
    procedure SetPUESTOValue(const aValue: String);
    function GetTRABAJOValue: String;
    procedure SetTRABAJOValue(const aValue: String);
    function GetDATOSFACTURACIONValue: String;
    procedure SetDATOSFACTURACIONValue(const aValue: String);
    function GetDATOSBANCARIOSValue: String;
    procedure SetDATOSBANCARIOSValue(const aValue: String);
    function GetLISTACATEGORIASValue: String;
    procedure SetLISTACATEGORIASValue(const aValue: String);


    { Properties }
    property CODIGOEMPRESA: Integer read GetCODIGOEMPRESAValue write SetCODIGOEMPRESAValue;
    property CODIGO: Integer read GetCODIGOValue write SetCODIGOValue;
    property FECHAALTA: DateTime read GetFECHAALTAValue write SetFECHAALTAValue;
    property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue;
    property NIFCIF: String read GetNIFCIFValue write SetNIFCIFValue;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property CALLE: String read GetCALLEValue write SetCALLEValue;
    property PROVINCIA: String read GetPROVINCIAValue write SetPROVINCIAValue;
    property CODIGOPOSTAL: String read GetCODIGOPOSTALValue write SetCODIGOPOSTALValue;
    property POBLACION: String read GetPOBLACIONValue write SetPOBLACIONValue;
    property TELEFONO1: String read GetTELEFONO1Value write SetTELEFONO1Value;
    property TELEFONO2: String read GetTELEFONO2Value write SetTELEFONO2Value;
    property MOVIL: String read GetMOVILValue write SetMOVILValue;
    property FAX: String read GetFAXValue write SetFAXValue;
    property CORREO1: String read GetCORREO1Value write SetCORREO1Value;
    property CORREO2: String read GetCORREO2Value write SetCORREO2Value;
    property PAGINAWEB: String read GetPAGINAWEBValue write SetPAGINAWEBValue;
    property PUESTO: String read GetPUESTOValue write SetPUESTOValue;
    property TRABAJO: String read GetTRABAJOValue write SetTRABAJOValue;
    property DATOSFACTURACION: String read GetDATOSFACTURACIONValue write SetDATOSFACTURACIONValue;
    property DATOSBANCARIOS: String read GetDATOSBANCARIOSValue write SetDATOSBANCARIOSValue;
    property LISTACATEGORIAS: String read GetLISTACATEGORIASValue write SetLISTACATEGORIASValue;
  end;

  { TCONTACTOSDataTableRules }
  TCONTACTOSDataTableRules = class(TDADataTableRules, ICONTACTOS)
  private
  protected
    { Property getters and setters }
    function GetCODIGOEMPRESAValue: Integer; virtual;
    procedure SetCODIGOEMPRESAValue(const aValue: Integer); virtual;
    function GetCODIGOValue: Integer; virtual;
    procedure SetCODIGOValue(const aValue: Integer); virtual;
    function GetFECHAALTAValue: DateTime; virtual;
    procedure SetFECHAALTAValue(const aValue: DateTime); virtual;
    function GetUSUARIOValue: String; virtual;
    procedure SetUSUARIOValue(const aValue: String); virtual;
    function GetNIFCIFValue: String; virtual;
    procedure SetNIFCIFValue(const aValue: String); virtual;
    function GetNOMBREValue: String; virtual;
    procedure SetNOMBREValue(const aValue: String); virtual;
    function GetCALLEValue: String; virtual;
    procedure SetCALLEValue(const aValue: String); virtual;
    function GetPROVINCIAValue: String; virtual;
    procedure SetPROVINCIAValue(const aValue: String); virtual;
    function GetCODIGOPOSTALValue: String; virtual;
    procedure SetCODIGOPOSTALValue(const aValue: String); virtual;
    function GetPOBLACIONValue: String; virtual;
    procedure SetPOBLACIONValue(const aValue: String); virtual;
    function GetTELEFONO1Value: String; virtual;
    procedure SetTELEFONO1Value(const aValue: String); virtual;
    function GetTELEFONO2Value: String; virtual;
    procedure SetTELEFONO2Value(const aValue: String); virtual;
    function GetMOVILValue: String; virtual;
    procedure SetMOVILValue(const aValue: String); virtual;
    function GetFAXValue: String; virtual;
    procedure SetFAXValue(const aValue: String); virtual;
    function GetCORREO1Value: String; virtual;
    procedure SetCORREO1Value(const aValue: String); virtual;
    function GetCORREO2Value: String; virtual;
    procedure SetCORREO2Value(const aValue: String); virtual;
    function GetPAGINAWEBValue: String; virtual;
    procedure SetPAGINAWEBValue(const aValue: String); virtual;
    function GetPUESTOValue: String; virtual;
    procedure SetPUESTOValue(const aValue: String); virtual;
    function GetTRABAJOValue: String; virtual;
    procedure SetTRABAJOValue(const aValue: String); virtual;
    function GetDATOSFACTURACIONValue: String; virtual;
    procedure SetDATOSFACTURACIONValue(const aValue: String); virtual;
    function GetDATOSBANCARIOSValue: String; virtual;
    procedure SetDATOSBANCARIOSValue(const aValue: String); virtual;
    function GetLISTACATEGORIASValue: String; virtual;
    procedure SetLISTACATEGORIASValue(const aValue: String); virtual;

    { Properties }
    property CODIGOEMPRESA: Integer read GetCODIGOEMPRESAValue write SetCODIGOEMPRESAValue;
    property CODIGO: Integer read GetCODIGOValue write SetCODIGOValue;
    property FECHAALTA: DateTime read GetFECHAALTAValue write SetFECHAALTAValue;
    property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue;
    property NIFCIF: String read GetNIFCIFValue write SetNIFCIFValue;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
    property CALLE: String read GetCALLEValue write SetCALLEValue;
    property PROVINCIA: String read GetPROVINCIAValue write SetPROVINCIAValue;
    property CODIGOPOSTAL: String read GetCODIGOPOSTALValue write SetCODIGOPOSTALValue;
    property POBLACION: String read GetPOBLACIONValue write SetPOBLACIONValue;
    property TELEFONO1: String read GetTELEFONO1Value write SetTELEFONO1Value;
    property TELEFONO2: String read GetTELEFONO2Value write SetTELEFONO2Value;
    property MOVIL: String read GetMOVILValue write SetMOVILValue;
    property FAX: String read GetFAXValue write SetFAXValue;
    property CORREO1: String read GetCORREO1Value write SetCORREO1Value;
    property CORREO2: String read GetCORREO2Value write SetCORREO2Value;
    property PAGINAWEB: String read GetPAGINAWEBValue write SetPAGINAWEBValue;
    property PUESTO: String read GetPUESTOValue write SetPUESTOValue;
    property TRABAJO: String read GetTRABAJOValue write SetTRABAJOValue;
    property DATOSFACTURACION: String read GetDATOSFACTURACIONValue write SetDATOSFACTURACIONValue;
    property DATOSBANCARIOS: String read GetDATOSBANCARIOSValue write SetDATOSBANCARIOSValue;
    property LISTACATEGORIAS: String read GetLISTACATEGORIASValue write SetLISTACATEGORIASValue;

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

  end;

  { ICONTACTOSASOCIADOS }
  ICONTACTOSASOCIADOS = interface(IDAStronglyTypedDataTable)
  ['{CA7B6F63-73B2-4200-AA10-C4C14E3806E9}']
    { Property getters and setters }
    function GetCODIGOCONTACTOValue: Integer;
    procedure SetCODIGOCONTACTOValue(const aValue: Integer);
    function GetCODIGOASOCIADOValue: Integer;
    procedure SetCODIGOASOCIADOValue(const aValue: Integer);
    function GetNOMBREValue: String;
    procedure SetNOMBREValue(const aValue: String);


    { Properties }
    property CODIGOCONTACTO: Integer read GetCODIGOCONTACTOValue write SetCODIGOCONTACTOValue;
    property CODIGOASOCIADO: Integer read GetCODIGOASOCIADOValue write SetCODIGOASOCIADOValue;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
  end;

  { TCONTACTOSASOCIADOSDataTableRules }
  TCONTACTOSASOCIADOSDataTableRules = class(TDADataTableRules, ICONTACTOSASOCIADOS)
  private
  protected
    { Property getters and setters }
    function GetCODIGOCONTACTOValue: Integer; virtual;
    procedure SetCODIGOCONTACTOValue(const aValue: Integer); virtual;
    function GetCODIGOASOCIADOValue: Integer; virtual;
    procedure SetCODIGOASOCIADOValue(const aValue: Integer); virtual;
    function GetNOMBREValue: String; virtual;
    procedure SetNOMBREValue(const aValue: String); virtual;

    { Properties }
    property CODIGOCONTACTO: Integer read GetCODIGOCONTACTOValue write SetCODIGOCONTACTOValue;
    property CODIGOASOCIADO: Integer read GetCODIGOASOCIADOValue write SetCODIGOASOCIADOValue;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;

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

  end;

  { IREFRESCOCONTACTOSASOCIADOS }
  IREFRESCOCONTACTOSASOCIADOS = interface(IDAStronglyTypedDataTable)
  ['{799D6494-22F9-4776-869E-8E7DD2B8B62B}']
    { Property getters and setters }
    function GetCODIGOCONTACTOValue: Integer;
    procedure SetCODIGOCONTACTOValue(const aValue: Integer);
    function GetCODIGOASOCIADOValue: Integer;
    procedure SetCODIGOASOCIADOValue(const aValue: Integer);
    function GetNOMBREValue: String;
    procedure SetNOMBREValue(const aValue: String);


    { Properties }
    property CODIGOCONTACTO: Integer read GetCODIGOCONTACTOValue write SetCODIGOCONTACTOValue;
    property CODIGOASOCIADO: Integer read GetCODIGOASOCIADOValue write SetCODIGOASOCIADOValue;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
  end;

  { TREFRESCOCONTACTOSASOCIADOSDataTableRules }
  TREFRESCOCONTACTOSASOCIADOSDataTableRules = class(TDADataTableRules, IREFRESCOCONTACTOSASOCIADOS)
  private
  protected
    { Property getters and setters }
    function GetCODIGOCONTACTOValue: Integer; virtual;
    procedure SetCODIGOCONTACTOValue(const aValue: Integer); virtual;
    function GetCODIGOASOCIADOValue: Integer; virtual;
    procedure SetCODIGOASOCIADOValue(const aValue: Integer); virtual;
    function GetNOMBREValue: String; virtual;
    procedure SetNOMBREValue(const aValue: String); virtual;

    { Properties }
    property CODIGOCONTACTO: Integer read GetCODIGOCONTACTOValue write SetCODIGOCONTACTOValue;
    property CODIGOASOCIADO: Integer read GetCODIGOASOCIADOValue write SetCODIGOASOCIADOValue;
    property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;

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

  end;

implementation

uses Variants;

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

destructor TCONTACTOSCATEGORIASDataTableRules.Destroy;
begin
  inherited;
end;

function TCONTACTOSCATEGORIASDataTableRules.GetCODIGOCONTACTOValue: Integer;
begin
  result := DataTable.Fields[idx_CONTACTOSCATEGORIASCODIGOCONTACTO].AsInteger;
end;

procedure TCONTACTOSCATEGORIASDataTableRules.SetCODIGOCONTACTOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_CONTACTOSCATEGORIASCODIGOCONTACTO].AsInteger := aValue;
end;

function TCONTACTOSCATEGORIASDataTableRules.GetCODIGOCATEGORIAValue: Integer;
begin
  result := DataTable.Fields[idx_CONTACTOSCATEGORIASCODIGOCATEGORIA].AsInteger;
end;

procedure TCONTACTOSCATEGORIASDataTableRules.SetCODIGOCATEGORIAValue(const aValue: Integer);
begin
  DataTable.Fields[idx_CONTACTOSCATEGORIASCODIGOCATEGORIA].AsInteger := aValue;
end;

function TCONTACTOSCATEGORIASDataTableRules.GetDESCRIPCIONValue: String;
begin
  result := DataTable.Fields[idx_CONTACTOSCATEGORIASDESCRIPCION].AsString;
end;

procedure TCONTACTOSCATEGORIASDataTableRules.SetDESCRIPCIONValue(const aValue: String);
begin
  DataTable.Fields[idx_CONTACTOSCATEGORIASDESCRIPCION].AsString := aValue;
end;


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

destructor TCATEGORIASDataTableRules.Destroy;
begin
  inherited;
end;

function TCATEGORIASDataTableRules.GetCODIGOValue: Integer;
begin
  result := DataTable.Fields[idx_CATEGORIASCODIGO].AsInteger;
end;

procedure TCATEGORIASDataTableRules.SetCODIGOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_CATEGORIASCODIGO].AsInteger := aValue;
end;

function TCATEGORIASDataTableRules.GetDESCRIPCIONValue: String;
begin
  result := DataTable.Fields[idx_CATEGORIASDESCRIPCION].AsString;
end;

procedure TCATEGORIASDataTableRules.SetDESCRIPCIONValue(const aValue: String);
begin
  DataTable.Fields[idx_CATEGORIASDESCRIPCION].AsString := aValue;
end;


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

destructor TREFRESCOCONTACTOSCATEGORIASDataTableRules.Destroy;
begin
  inherited;
end;

function TREFRESCOCONTACTOSCATEGORIASDataTableRules.GetCODIGOCONTACTOValue: Integer;
begin
  result := DataTable.Fields[idx_REFRESCOCONTACTOSCATEGORIASCODIGOCONTACTO].AsInteger;
end;

procedure TREFRESCOCONTACTOSCATEGORIASDataTableRules.SetCODIGOCONTACTOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_REFRESCOCONTACTOSCATEGORIASCODIGOCONTACTO].AsInteger := aValue;
end;

function TREFRESCOCONTACTOSCATEGORIASDataTableRules.GetCODIGOCATEGORIAValue: Integer;
begin
  result := DataTable.Fields[idx_REFRESCOCONTACTOSCATEGORIASCODIGOCATEGORIA].AsInteger;
end;

procedure TREFRESCOCONTACTOSCATEGORIASDataTableRules.SetCODIGOCATEGORIAValue(const aValue: Integer);
begin
  DataTable.Fields[idx_REFRESCOCONTACTOSCATEGORIASCODIGOCATEGORIA].AsInteger := aValue;
end;

function TREFRESCOCONTACTOSCATEGORIASDataTableRules.GetDESCRIPCIONValue: String;
begin
  result := DataTable.Fields[idx_REFRESCOCONTACTOSCATEGORIASDESCRIPCION].AsString;
end;

procedure TREFRESCOCONTACTOSCATEGORIASDataTableRules.SetDESCRIPCIONValue(const aValue: String);
begin
  DataTable.Fields[idx_REFRESCOCONTACTOSCATEGORIASDESCRIPCION].AsString := aValue;
end;


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

destructor TCONTACTOSDataTableRules.Destroy;
begin
  inherited;
end;

function TCONTACTOSDataTableRules.GetCODIGOEMPRESAValue: Integer;
begin
  result := DataTable.Fields[idx_CONTACTOSCODIGOEMPRESA].AsInteger;
end;

procedure TCONTACTOSDataTableRules.SetCODIGOEMPRESAValue(const aValue: Integer);
begin
  DataTable.Fields[idx_CONTACTOSCODIGOEMPRESA].AsInteger := aValue;
end;

function TCONTACTOSDataTableRules.GetCODIGOValue: Integer;
begin
  result := DataTable.Fields[idx_CONTACTOSCODIGO].AsInteger;
end;

procedure TCONTACTOSDataTableRules.SetCODIGOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_CONTACTOSCODIGO].AsInteger := aValue;
end;

function TCONTACTOSDataTableRules.GetFECHAALTAValue: DateTime;
begin
  result := DataTable.Fields[idx_CONTACTOSFECHAALTA].AsDateTime;
end;

procedure TCONTACTOSDataTableRules.SetFECHAALTAValue(const aValue: DateTime);
begin
  DataTable.Fields[idx_CONTACTOSFECHAALTA].AsDateTime := aValue;
end;

function TCONTACTOSDataTableRules.GetUSUARIOValue: String;
begin
  result := DataTable.Fields[idx_CONTACTOSUSUARIO].AsString;
end;

procedure TCONTACTOSDataTableRules.SetUSUARIOValue(const aValue: String);
begin
  DataTable.Fields[idx_CONTACTOSUSUARIO].AsString := aValue;
end;

function TCONTACTOSDataTableRules.GetNIFCIFValue: String;
begin
  result := DataTable.Fields[idx_CONTACTOSNIFCIF].AsString;
end;

procedure TCONTACTOSDataTableRules.SetNIFCIFValue(const aValue: String);
begin
  DataTable.Fields[idx_CONTACTOSNIFCIF].AsString := aValue;
end;

function TCONTACTOSDataTableRules.GetNOMBREValue: String;
begin
  result := DataTable.Fields[idx_CONTACTOSNOMBRE].AsString;
end;

procedure TCONTACTOSDataTableRules.SetNOMBREValue(const aValue: String);
begin
  DataTable.Fields[idx_CONTACTOSNOMBRE].AsString := aValue;
end;

function TCONTACTOSDataTableRules.GetCALLEValue: String;
begin
  result := DataTable.Fields[idx_CONTACTOSCALLE].AsString;
end;

procedure TCONTACTOSDataTableRules.SetCALLEValue(const aValue: String);
begin
  DataTable.Fields[idx_CONTACTOSCALLE].AsString := aValue;
end;

function TCONTACTOSDataTableRules.GetPROVINCIAValue: String;
begin
  result := DataTable.Fields[idx_CONTACTOSPROVINCIA].AsString;
end;

procedure TCONTACTOSDataTableRules.SetPROVINCIAValue(const aValue: String);
begin
  DataTable.Fields[idx_CONTACTOSPROVINCIA].AsString := aValue;
end;

function TCONTACTOSDataTableRules.GetCODIGOPOSTALValue: String;
begin
  result := DataTable.Fields[idx_CONTACTOSCODIGOPOSTAL].AsString;
end;

procedure TCONTACTOSDataTableRules.SetCODIGOPOSTALValue(const aValue: String);
begin
  DataTable.Fields[idx_CONTACTOSCODIGOPOSTAL].AsString := aValue;
end;

function TCONTACTOSDataTableRules.GetPOBLACIONValue: String;
begin
  result := DataTable.Fields[idx_CONTACTOSPOBLACION].AsString;
end;

procedure TCONTACTOSDataTableRules.SetPOBLACIONValue(const aValue: String);
begin
  DataTable.Fields[idx_CONTACTOSPOBLACION].AsString := aValue;
end;

function TCONTACTOSDataTableRules.GetTELEFONO1Value: String;
begin
  result := DataTable.Fields[idx_CONTACTOSTELEFONO1].AsString;
end;

procedure TCONTACTOSDataTableRules.SetTELEFONO1Value(const aValue: String);
begin
  DataTable.Fields[idx_CONTACTOSTELEFONO1].AsString := aValue;
end;

function TCONTACTOSDataTableRules.GetTELEFONO2Value: String;
begin
  result := DataTable.Fields[idx_CONTACTOSTELEFONO2].AsString;
end;

procedure TCONTACTOSDataTableRules.SetTELEFONO2Value(const aValue: String);
begin
  DataTable.Fields[idx_CONTACTOSTELEFONO2].AsString := aValue;
end;

function TCONTACTOSDataTableRules.GetMOVILValue: String;
begin
  result := DataTable.Fields[idx_CONTACTOSMOVIL].AsString;
end;

procedure TCONTACTOSDataTableRules.SetMOVILValue(const aValue: String);
begin
  DataTable.Fields[idx_CONTACTOSMOVIL].AsString := aValue;
end;

function TCONTACTOSDataTableRules.GetFAXValue: String;
begin
  result := DataTable.Fields[idx_CONTACTOSFAX].AsString;
end;

procedure TCONTACTOSDataTableRules.SetFAXValue(const aValue: String);
begin
  DataTable.Fields[idx_CONTACTOSFAX].AsString := aValue;
end;

function TCONTACTOSDataTableRules.GetCORREO1Value: String;
begin
  result := DataTable.Fields[idx_CONTACTOSCORREO1].AsString;
end;

procedure TCONTACTOSDataTableRules.SetCORREO1Value(const aValue: String);
begin
  DataTable.Fields[idx_CONTACTOSCORREO1].AsString := aValue;
end;

function TCONTACTOSDataTableRules.GetCORREO2Value: String;
begin
  result := DataTable.Fields[idx_CONTACTOSCORREO2].AsString;
end;

procedure TCONTACTOSDataTableRules.SetCORREO2Value(const aValue: String);
begin
  DataTable.Fields[idx_CONTACTOSCORREO2].AsString := aValue;
end;

function TCONTACTOSDataTableRules.GetPAGINAWEBValue: String;
begin
  result := DataTable.Fields[idx_CONTACTOSPAGINAWEB].AsString;
end;

procedure TCONTACTOSDataTableRules.SetPAGINAWEBValue(const aValue: String);
begin
  DataTable.Fields[idx_CONTACTOSPAGINAWEB].AsString := aValue;
end;

function TCONTACTOSDataTableRules.GetPUESTOValue: String;
begin
  result := DataTable.Fields[idx_CONTACTOSPUESTO].AsString;
end;

procedure TCONTACTOSDataTableRules.SetPUESTOValue(const aValue: String);
begin
  DataTable.Fields[idx_CONTACTOSPUESTO].AsString := aValue;
end;

function TCONTACTOSDataTableRules.GetTRABAJOValue: String;
begin
  result := DataTable.Fields[idx_CONTACTOSTRABAJO].AsString;
end;

procedure TCONTACTOSDataTableRules.SetTRABAJOValue(const aValue: String);
begin
  DataTable.Fields[idx_CONTACTOSTRABAJO].AsString := aValue;
end;

function TCONTACTOSDataTableRules.GetDATOSFACTURACIONValue: String;
begin
  result := DataTable.Fields[idx_CONTACTOSDATOSFACTURACION].AsString;
end;

procedure TCONTACTOSDataTableRules.SetDATOSFACTURACIONValue(const aValue: String);
begin
  DataTable.Fields[idx_CONTACTOSDATOSFACTURACION].AsString := aValue;
end;

function TCONTACTOSDataTableRules.GetDATOSBANCARIOSValue: String;
begin
  result := DataTable.Fields[idx_CONTACTOSDATOSBANCARIOS].AsString;
end;

procedure TCONTACTOSDataTableRules.SetDATOSBANCARIOSValue(const aValue: String);
begin
  DataTable.Fields[idx_CONTACTOSDATOSBANCARIOS].AsString := aValue;
end;

function TCONTACTOSDataTableRules.GetLISTACATEGORIASValue: String;
begin
  result := DataTable.Fields[idx_CONTACTOSLISTACATEGORIAS].AsString;
end;

procedure TCONTACTOSDataTableRules.SetLISTACATEGORIASValue(const aValue: String);
begin
  DataTable.Fields[idx_CONTACTOSLISTACATEGORIAS].AsString := aValue;
end;


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

destructor TCONTACTOSASOCIADOSDataTableRules.Destroy;
begin
  inherited;
end;

function TCONTACTOSASOCIADOSDataTableRules.GetCODIGOCONTACTOValue: Integer;
begin
  result := DataTable.Fields[idx_CONTACTOSASOCIADOSCODIGOCONTACTO].AsInteger;
end;

procedure TCONTACTOSASOCIADOSDataTableRules.SetCODIGOCONTACTOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_CONTACTOSASOCIADOSCODIGOCONTACTO].AsInteger := aValue;
end;

function TCONTACTOSASOCIADOSDataTableRules.GetCODIGOASOCIADOValue: Integer;
begin
  result := DataTable.Fields[idx_CONTACTOSASOCIADOSCODIGOASOCIADO].AsInteger;
end;

procedure TCONTACTOSASOCIADOSDataTableRules.SetCODIGOASOCIADOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_CONTACTOSASOCIADOSCODIGOASOCIADO].AsInteger := aValue;
end;

function TCONTACTOSASOCIADOSDataTableRules.GetNOMBREValue: String;
begin
  result := DataTable.Fields[idx_CONTACTOSASOCIADOSNOMBRE].AsString;
end;

procedure TCONTACTOSASOCIADOSDataTableRules.SetNOMBREValue(const aValue: String);
begin
  DataTable.Fields[idx_CONTACTOSASOCIADOSNOMBRE].AsString := aValue;
end;


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

destructor TREFRESCOCONTACTOSASOCIADOSDataTableRules.Destroy;
begin
  inherited;
end;

function TREFRESCOCONTACTOSASOCIADOSDataTableRules.GetCODIGOCONTACTOValue: Integer;
begin
  result := DataTable.Fields[idx_REFRESCOCONTACTOSASOCIADOSCODIGOCONTACTO].AsInteger;
end;

procedure TREFRESCOCONTACTOSASOCIADOSDataTableRules.SetCODIGOCONTACTOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_REFRESCOCONTACTOSASOCIADOSCODIGOCONTACTO].AsInteger := aValue;
end;

function TREFRESCOCONTACTOSASOCIADOSDataTableRules.GetCODIGOASOCIADOValue: Integer;
begin
  result := DataTable.Fields[idx_REFRESCOCONTACTOSASOCIADOSCODIGOASOCIADO].AsInteger;
end;

procedure TREFRESCOCONTACTOSASOCIADOSDataTableRules.SetCODIGOASOCIADOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_REFRESCOCONTACTOSASOCIADOSCODIGOASOCIADO].AsInteger := aValue;
end;

function TREFRESCOCONTACTOSASOCIADOSDataTableRules.GetNOMBREValue: String;
begin
  result := DataTable.Fields[idx_REFRESCOCONTACTOSASOCIADOSNOMBRE].AsString;
end;

procedure TREFRESCOCONTACTOSASOCIADOSDataTableRules.SetNOMBREValue(const aValue: String);
begin
  DataTable.Fields[idx_REFRESCOCONTACTOSASOCIADOSNOMBRE].AsString := aValue;
end;


initialization
  RegisterDataTableRules(RID_CONTACTOSCATEGORIAS, TCONTACTOSCATEGORIASDataTableRules);
  RegisterDataTableRules(RID_CATEGORIAS, TCATEGORIASDataTableRules);
  RegisterDataTableRules(RID_REFRESCOCONTACTOSCATEGORIAS, TREFRESCOCONTACTOSCATEGORIASDataTableRules);
  RegisterDataTableRules(RID_CONTACTOS, TCONTACTOSDataTableRules);
  RegisterDataTableRules(RID_CONTACTOSASOCIADOS, TCONTACTOSASOCIADOSDataTableRules);
  RegisterDataTableRules(RID_REFRESCOCONTACTOSASOCIADOS, TREFRESCOCONTACTOSASOCIADOSDataTableRules);

end.
