unit schImpresionesClient_Intf;

interface

uses
  Classes, DB, schBase_Intf, SysUtils, uROClasses, uDAInterfaces, 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_Impresiones = '{4FC454B2-6684-42FE-AE0D-D76A280E6A48}';

  { Data table names }
  nme_Impresiones = 'Impresiones';

  { Impresiones fields }
  fld_ImpresionesID = 'ID';
  fld_ImpresionesTABLA = 'TABLA';
  fld_ImpresionesID_TABLA = 'ID_TABLA';
  fld_ImpresionesNUM_COPIAS = 'NUM_COPIAS';

  { Impresiones field indexes }
  idx_ImpresionesID = 0;
  idx_ImpresionesTABLA = 1;
  idx_ImpresionesID_TABLA = 2;
  idx_ImpresionesNUM_COPIAS = 3;

type
  { IImpresiones }
  IImpresiones = interface(IDAStronglyTypedDataTable)
  ['{4A737C11-3502-4F70-82EB-9CB986AD2940}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetIDIsNull: Boolean;
    procedure SetIDIsNull(const aValue: Boolean);
    function GetTABLAValue: String;
    procedure SetTABLAValue(const aValue: String);
    function GetTABLAIsNull: Boolean;
    procedure SetTABLAIsNull(const aValue: Boolean);
    function GetID_TABLAValue: Integer;
    procedure SetID_TABLAValue(const aValue: Integer);
    function GetID_TABLAIsNull: Boolean;
    procedure SetID_TABLAIsNull(const aValue: Boolean);
    function GetNUM_COPIASValue: Integer;
    procedure SetNUM_COPIASValue(const aValue: Integer);
    function GetNUM_COPIASIsNull: Boolean;
    procedure SetNUM_COPIASIsNull(const aValue: Boolean);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property TABLA: String read GetTABLAValue write SetTABLAValue;
    property TABLAIsNull: Boolean read GetTABLAIsNull write SetTABLAIsNull;
    property ID_TABLA: Integer read GetID_TABLAValue write SetID_TABLAValue;
    property ID_TABLAIsNull: Boolean read GetID_TABLAIsNull write SetID_TABLAIsNull;
    property NUM_COPIAS: Integer read GetNUM_COPIASValue write SetNUM_COPIASValue;
    property NUM_COPIASIsNull: Boolean read GetNUM_COPIASIsNull write SetNUM_COPIASIsNull;
  end;

  { TImpresionesDataTableRules }
  TImpresionesDataTableRules = class(TIntfObjectDADataTableRules, IImpresiones)
  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 GetTABLAValue: String; virtual;
    procedure SetTABLAValue(const aValue: String); virtual;
    function GetTABLAIsNull: Boolean; virtual;
    procedure SetTABLAIsNull(const aValue: Boolean); virtual;
    function GetID_TABLAValue: Integer; virtual;
    procedure SetID_TABLAValue(const aValue: Integer); virtual;
    function GetID_TABLAIsNull: Boolean; virtual;
    procedure SetID_TABLAIsNull(const aValue: Boolean); virtual;
    function GetNUM_COPIASValue: Integer; virtual;
    procedure SetNUM_COPIASValue(const aValue: Integer); virtual;
    function GetNUM_COPIASIsNull: Boolean; virtual;
    procedure SetNUM_COPIASIsNull(const aValue: Boolean); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
    property TABLA: String read GetTABLAValue write SetTABLAValue;
    property TABLAIsNull: Boolean read GetTABLAIsNull write SetTABLAIsNull;
    property ID_TABLA: Integer read GetID_TABLAValue write SetID_TABLAValue;
    property ID_TABLAIsNull: Boolean read GetID_TABLAIsNull write SetID_TABLAIsNull;
    property NUM_COPIAS: Integer read GetNUM_COPIASValue write SetNUM_COPIASValue;
    property NUM_COPIASIsNull: Boolean read GetNUM_COPIASIsNull write SetNUM_COPIASIsNull;

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

  end;

implementation

uses Variants, uROBinaryHelpers;

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

destructor TImpresionesDataTableRules.Destroy;
begin
  inherited;
end;

function TImpresionesDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_ImpresionesID].AsInteger;
end;

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

function TImpresionesDataTableRules.GetIDIsNull: boolean;
begin
  result := DataTable.Fields[idx_ImpresionesID].IsNull;
end;

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

function TImpresionesDataTableRules.GetTABLAValue: String;
begin
  result := DataTable.Fields[idx_ImpresionesTABLA].AsString;
end;

procedure TImpresionesDataTableRules.SetTABLAValue(const aValue: String);
begin
  DataTable.Fields[idx_ImpresionesTABLA].AsString := aValue;
end;

function TImpresionesDataTableRules.GetTABLAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ImpresionesTABLA].IsNull;
end;

procedure TImpresionesDataTableRules.SetTABLAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ImpresionesTABLA].AsVariant := Null;
end;

function TImpresionesDataTableRules.GetID_TABLAValue: Integer;
begin
  result := DataTable.Fields[idx_ImpresionesID_TABLA].AsInteger;
end;

procedure TImpresionesDataTableRules.SetID_TABLAValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ImpresionesID_TABLA].AsInteger := aValue;
end;

function TImpresionesDataTableRules.GetID_TABLAIsNull: boolean;
begin
  result := DataTable.Fields[idx_ImpresionesID_TABLA].IsNull;
end;

procedure TImpresionesDataTableRules.SetID_TABLAIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ImpresionesID_TABLA].AsVariant := Null;
end;

function TImpresionesDataTableRules.GetNUM_COPIASValue: Integer;
begin
  result := DataTable.Fields[idx_ImpresionesNUM_COPIAS].AsInteger;
end;

procedure TImpresionesDataTableRules.SetNUM_COPIASValue(const aValue: Integer);
begin
  DataTable.Fields[idx_ImpresionesNUM_COPIAS].AsInteger := aValue;
end;

function TImpresionesDataTableRules.GetNUM_COPIASIsNull: boolean;
begin
  result := DataTable.Fields[idx_ImpresionesNUM_COPIAS].IsNull;
end;

procedure TImpresionesDataTableRules.SetNUM_COPIASIsNull(const aValue: Boolean);
begin
  if aValue then
    DataTable.Fields[idx_ImpresionesNUM_COPIAS].AsVariant := Null;
end;


initialization
  RegisterDataTableRules(RID_Impresiones, TImpresionesDataTableRules);

end.
