unit schFormasPagoClient_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_FormasPago = '{75A0F4CB-C9F1-4725-BB8F-6B95A8B79BFF}';
  RID_FormasPagoPlazos = '{F15326B8-E938-4226-9647-954628B5A863}';

  { Data table names }
  nme_FormasPago = 'FormasPago';
  nme_FormasPagoPlazos = 'FormasPagoPlazos';

  { FormasPago fields }
  fld_FormasPagoID = 'ID';
  fld_FormasPagoREFERENCIA = 'REFERENCIA';
  fld_FormasPagoDESCRIPCION = 'DESCRIPCION';
  fld_FormasPagoTITULAR = 'TITULAR';
  fld_FormasPagoENTIDAD = 'ENTIDAD';
  fld_FormasPagoSUCURSAL = 'SUCURSAL';
  fld_FormasPagoDC = 'DC';
  fld_FormasPagoCUENTA = 'CUENTA';

  { FormasPago field indexes }
  idx_FormasPagoID = 0;
  idx_FormasPagoREFERENCIA = 1;
  idx_FormasPagoDESCRIPCION = 2;
  idx_FormasPagoTITULAR = 3;
  idx_FormasPagoENTIDAD = 4;
  idx_FormasPagoSUCURSAL = 5;
  idx_FormasPagoDC = 6;
  idx_FormasPagoCUENTA = 7;

  { FormasPagoPlazos fields }
  fld_FormasPagoPlazosID = 'ID';
  fld_FormasPagoPlazosID_FORMA_PAGO = 'ID_FORMA_PAGO';
  fld_FormasPagoPlazosNUM_DIAS = 'NUM_DIAS';
  fld_FormasPagoPlazosPORCENTAJE = 'PORCENTAJE';

  { FormasPagoPlazos field indexes }
  idx_FormasPagoPlazosID = 0;
  idx_FormasPagoPlazosID_FORMA_PAGO = 1;
  idx_FormasPagoPlazosNUM_DIAS = 2;
  idx_FormasPagoPlazosPORCENTAJE = 3;

type
  { IFormasPago }
  IFormasPago = interface(IDAStronglyTypedDataTable)
  ['{D4A90295-67F2-441C-B84F-F17F80B1B8B3}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetREFERENCIAValue: String;
    procedure SetREFERENCIAValue(const aValue: String);
    function GetDESCRIPCIONValue: String;
    procedure SetDESCRIPCIONValue(const aValue: String);
    function GetTITULARValue: String;
    procedure SetTITULARValue(const aValue: String);
    function GetENTIDADValue: String;
    procedure SetENTIDADValue(const aValue: String);
    function GetSUCURSALValue: String;
    procedure SetSUCURSALValue(const aValue: String);
    function GetDCValue: String;
    procedure SetDCValue(const aValue: String);
    function GetCUENTAValue: String;
    procedure SetCUENTAValue(const aValue: String);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
    property TITULAR: String read GetTITULARValue write SetTITULARValue;
    property ENTIDAD: String read GetENTIDADValue write SetENTIDADValue;
    property SUCURSAL: String read GetSUCURSALValue write SetSUCURSALValue;
    property DC: String read GetDCValue write SetDCValue;
    property CUENTA: String read GetCUENTAValue write SetCUENTAValue;
  end;

  { TFormasPagoDataTableRules }
  TFormasPagoDataTableRules = class(TDADataTableRules, IFormasPago)
  private
  protected
    { Property getters and setters }
    function GetIDValue: Integer; virtual;
    procedure SetIDValue(const aValue: Integer); virtual;
    function GetREFERENCIAValue: String; virtual;
    procedure SetREFERENCIAValue(const aValue: String); virtual;
    function GetDESCRIPCIONValue: String; virtual;
    procedure SetDESCRIPCIONValue(const aValue: String); virtual;
    function GetTITULARValue: String; virtual;
    procedure SetTITULARValue(const aValue: String); virtual;
    function GetENTIDADValue: String; virtual;
    procedure SetENTIDADValue(const aValue: String); virtual;
    function GetSUCURSALValue: String; virtual;
    procedure SetSUCURSALValue(const aValue: String); virtual;
    function GetDCValue: String; virtual;
    procedure SetDCValue(const aValue: String); virtual;
    function GetCUENTAValue: String; virtual;
    procedure SetCUENTAValue(const aValue: String); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
    property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
    property TITULAR: String read GetTITULARValue write SetTITULARValue;
    property ENTIDAD: String read GetENTIDADValue write SetENTIDADValue;
    property SUCURSAL: String read GetSUCURSALValue write SetSUCURSALValue;
    property DC: String read GetDCValue write SetDCValue;
    property CUENTA: String read GetCUENTAValue write SetCUENTAValue;

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

  end;

  { IFormasPagoPlazos }
  IFormasPagoPlazos = interface(IDAStronglyTypedDataTable)
  ['{4E56EE2D-C4D1-41A3-BFA7-9CF1185C257A}']
    { Property getters and setters }
    function GetIDValue: Integer;
    procedure SetIDValue(const aValue: Integer);
    function GetID_FORMA_PAGOValue: Integer;
    procedure SetID_FORMA_PAGOValue(const aValue: Integer);
    function GetNUM_DIASValue: Integer;
    procedure SetNUM_DIASValue(const aValue: Integer);
    function GetPORCENTAJEValue: Float;
    procedure SetPORCENTAJEValue(const aValue: Float);


    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue;
    property NUM_DIAS: Integer read GetNUM_DIASValue write SetNUM_DIASValue;
    property PORCENTAJE: Float read GetPORCENTAJEValue write SetPORCENTAJEValue;
  end;

  { TFormasPagoPlazosDataTableRules }
  TFormasPagoPlazosDataTableRules = class(TDADataTableRules, IFormasPagoPlazos)
  private
  protected
    { Property getters and setters }
    function GetIDValue: Integer; virtual;
    procedure SetIDValue(const aValue: Integer); virtual;
    function GetID_FORMA_PAGOValue: Integer; virtual;
    procedure SetID_FORMA_PAGOValue(const aValue: Integer); virtual;
    function GetNUM_DIASValue: Integer; virtual;
    procedure SetNUM_DIASValue(const aValue: Integer); virtual;
    function GetPORCENTAJEValue: Float; virtual;
    procedure SetPORCENTAJEValue(const aValue: Float); virtual;

    { Properties }
    property ID: Integer read GetIDValue write SetIDValue;
    property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue;
    property NUM_DIAS: Integer read GetNUM_DIASValue write SetNUM_DIASValue;
    property PORCENTAJE: Float read GetPORCENTAJEValue write SetPORCENTAJEValue;

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

  end;

implementation

uses Variants;

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

destructor TFormasPagoDataTableRules.Destroy;
begin
  inherited;
end;

function TFormasPagoDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_FormasPagoID].AsInteger;
end;

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

function TFormasPagoDataTableRules.GetREFERENCIAValue: String;
begin
  result := DataTable.Fields[idx_FormasPagoREFERENCIA].AsString;
end;

procedure TFormasPagoDataTableRules.SetREFERENCIAValue(const aValue: String);
begin
  DataTable.Fields[idx_FormasPagoREFERENCIA].AsString := aValue;
end;

function TFormasPagoDataTableRules.GetDESCRIPCIONValue: String;
begin
  result := DataTable.Fields[idx_FormasPagoDESCRIPCION].AsString;
end;

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

function TFormasPagoDataTableRules.GetTITULARValue: String;
begin
  result := DataTable.Fields[idx_FormasPagoTITULAR].AsString;
end;

procedure TFormasPagoDataTableRules.SetTITULARValue(const aValue: String);
begin
  DataTable.Fields[idx_FormasPagoTITULAR].AsString := aValue;
end;

function TFormasPagoDataTableRules.GetENTIDADValue: String;
begin
  result := DataTable.Fields[idx_FormasPagoENTIDAD].AsString;
end;

procedure TFormasPagoDataTableRules.SetENTIDADValue(const aValue: String);
begin
  DataTable.Fields[idx_FormasPagoENTIDAD].AsString := aValue;
end;

function TFormasPagoDataTableRules.GetSUCURSALValue: String;
begin
  result := DataTable.Fields[idx_FormasPagoSUCURSAL].AsString;
end;

procedure TFormasPagoDataTableRules.SetSUCURSALValue(const aValue: String);
begin
  DataTable.Fields[idx_FormasPagoSUCURSAL].AsString := aValue;
end;

function TFormasPagoDataTableRules.GetDCValue: String;
begin
  result := DataTable.Fields[idx_FormasPagoDC].AsString;
end;

procedure TFormasPagoDataTableRules.SetDCValue(const aValue: String);
begin
  DataTable.Fields[idx_FormasPagoDC].AsString := aValue;
end;

function TFormasPagoDataTableRules.GetCUENTAValue: String;
begin
  result := DataTable.Fields[idx_FormasPagoCUENTA].AsString;
end;

procedure TFormasPagoDataTableRules.SetCUENTAValue(const aValue: String);
begin
  DataTable.Fields[idx_FormasPagoCUENTA].AsString := aValue;
end;


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

destructor TFormasPagoPlazosDataTableRules.Destroy;
begin
  inherited;
end;

function TFormasPagoPlazosDataTableRules.GetIDValue: Integer;
begin
  result := DataTable.Fields[idx_FormasPagoPlazosID].AsInteger;
end;

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

function TFormasPagoPlazosDataTableRules.GetID_FORMA_PAGOValue: Integer;
begin
  result := DataTable.Fields[idx_FormasPagoPlazosID_FORMA_PAGO].AsInteger;
end;

procedure TFormasPagoPlazosDataTableRules.SetID_FORMA_PAGOValue(const aValue: Integer);
begin
  DataTable.Fields[idx_FormasPagoPlazosID_FORMA_PAGO].AsInteger := aValue;
end;

function TFormasPagoPlazosDataTableRules.GetNUM_DIASValue: Integer;
begin
  result := DataTable.Fields[idx_FormasPagoPlazosNUM_DIAS].AsInteger;
end;

procedure TFormasPagoPlazosDataTableRules.SetNUM_DIASValue(const aValue: Integer);
begin
  DataTable.Fields[idx_FormasPagoPlazosNUM_DIAS].AsInteger := aValue;
end;

function TFormasPagoPlazosDataTableRules.GetPORCENTAJEValue: Float;
begin
  result := DataTable.Fields[idx_FormasPagoPlazosPORCENTAJE].AsFloat;
end;

procedure TFormasPagoPlazosDataTableRules.SetPORCENTAJEValue(const aValue: Float);
begin
  DataTable.Fields[idx_FormasPagoPlazosPORCENTAJE].AsFloat := aValue;
end;


initialization
  RegisterDataTableRules(RID_FormasPago, TFormasPagoDataTableRules);
  RegisterDataTableRules(RID_FormasPagoPlazos, TFormasPagoPlazosDataTableRules);

end.
