unit schFormasPagoServer_Intf;

interface

uses
  Classes, DB, SysUtils, uROClasses, uDADataTable, uDABusinessProcessor, schFormasPagoClient_Intf;

const
  { Delta 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_FormasPagoDelta = '{D0ECD138-153C-48AE-A90B-3C1CA44928CA}';
  RID_FormasPagoPlazosDelta = '{729F444F-315A-41F5-9BB1-75B36B1F4CA1}';

type
  { IFormasPagoDelta }
  IFormasPagoDelta = interface(IFormasPago)
  ['{D0ECD138-153C-48AE-A90B-3C1CA44928CA}']
    { Property getters and setters }
    function GetOldIDValue : Integer;
    function GetOldREFERENCIAValue : String;
    function GetOldDESCRIPCIONValue : String;
    function GetOldTITULARValue : String;
    function GetOldENTIDADValue : String;
    function GetOldSUCURSALValue : String;
    function GetOldDCValue : String;
    function GetOldCUENTAValue : String;

    { Properties }
    property OldID : Integer read GetOldIDValue;
    property OldREFERENCIA : String read GetOldREFERENCIAValue;
    property OldDESCRIPCION : String read GetOldDESCRIPCIONValue;
    property OldTITULAR : String read GetOldTITULARValue;
    property OldENTIDAD : String read GetOldENTIDADValue;
    property OldSUCURSAL : String read GetOldSUCURSALValue;
    property OldDC : String read GetOldDCValue;
    property OldCUENTA : String read GetOldCUENTAValue;
  end;

  { TFormasPagoBusinessProcessorRules }
  TFormasPagoBusinessProcessorRules = class(TDABusinessProcessorRules, IFormasPago, IFormasPagoDelta)
  private
  protected
    { Property getters and setters }
    function GetIDValue: Integer; virtual;
    function GetOldIDValue: Integer; virtual;
    procedure SetIDValue(const aValue: Integer); virtual;
    function GetREFERENCIAValue: String; virtual;
    function GetOldREFERENCIAValue: String; virtual;
    procedure SetREFERENCIAValue(const aValue: String); virtual;
    function GetDESCRIPCIONValue: String; virtual;
    function GetOldDESCRIPCIONValue: String; virtual;
    procedure SetDESCRIPCIONValue(const aValue: String); virtual;
    function GetTITULARValue: String; virtual;
    function GetOldTITULARValue: String; virtual;
    procedure SetTITULARValue(const aValue: String); virtual;
    function GetENTIDADValue: String; virtual;
    function GetOldENTIDADValue: String; virtual;
    procedure SetENTIDADValue(const aValue: String); virtual;
    function GetSUCURSALValue: String; virtual;
    function GetOldSUCURSALValue: String; virtual;
    procedure SetSUCURSALValue(const aValue: String); virtual;
    function GetDCValue: String; virtual;
    function GetOldDCValue: String; virtual;
    procedure SetDCValue(const aValue: String); virtual;
    function GetCUENTAValue: String; virtual;
    function GetOldCUENTAValue: String; virtual;
    procedure SetCUENTAValue(const aValue: String); virtual;

    { Properties }
    property ID : Integer read GetIDValue write SetIDValue;
    property OldID : Integer read GetOldIDValue;
    property REFERENCIA : String read GetREFERENCIAValue write SetREFERENCIAValue;
    property OldREFERENCIA : String read GetOldREFERENCIAValue;
    property DESCRIPCION : String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
    property OldDESCRIPCION : String read GetOldDESCRIPCIONValue;
    property TITULAR : String read GetTITULARValue write SetTITULARValue;
    property OldTITULAR : String read GetOldTITULARValue;
    property ENTIDAD : String read GetENTIDADValue write SetENTIDADValue;
    property OldENTIDAD : String read GetOldENTIDADValue;
    property SUCURSAL : String read GetSUCURSALValue write SetSUCURSALValue;
    property OldSUCURSAL : String read GetOldSUCURSALValue;
    property DC : String read GetDCValue write SetDCValue;
    property OldDC : String read GetOldDCValue;
    property CUENTA : String read GetCUENTAValue write SetCUENTAValue;
    property OldCUENTA : String read GetOldCUENTAValue;

  public
    constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
    destructor Destroy; override;

  end;

  { IFormasPagoPlazosDelta }
  IFormasPagoPlazosDelta = interface(IFormasPagoPlazos)
  ['{729F444F-315A-41F5-9BB1-75B36B1F4CA1}']
    { Property getters and setters }
    function GetOldIDValue : Integer;
    function GetOldID_FORMA_PAGOValue : Integer;
    function GetOldNUM_DIASValue : Integer;
    function GetOldPORCENTAJEValue : Float;

    { Properties }
    property OldID : Integer read GetOldIDValue;
    property OldID_FORMA_PAGO : Integer read GetOldID_FORMA_PAGOValue;
    property OldNUM_DIAS : Integer read GetOldNUM_DIASValue;
    property OldPORCENTAJE : Float read GetOldPORCENTAJEValue;
  end;

  { TFormasPagoPlazosBusinessProcessorRules }
  TFormasPagoPlazosBusinessProcessorRules = class(TDABusinessProcessorRules, IFormasPagoPlazos, IFormasPagoPlazosDelta)
  private
  protected
    { Property getters and setters }
    function GetIDValue: Integer; virtual;
    function GetOldIDValue: Integer; virtual;
    procedure SetIDValue(const aValue: Integer); virtual;
    function GetID_FORMA_PAGOValue: Integer; virtual;
    function GetOldID_FORMA_PAGOValue: Integer; virtual;
    procedure SetID_FORMA_PAGOValue(const aValue: Integer); virtual;
    function GetNUM_DIASValue: Integer; virtual;
    function GetOldNUM_DIASValue: Integer; virtual;
    procedure SetNUM_DIASValue(const aValue: Integer); virtual;
    function GetPORCENTAJEValue: Float; virtual;
    function GetOldPORCENTAJEValue: Float; virtual;
    procedure SetPORCENTAJEValue(const aValue: Float); virtual;

    { Properties }
    property ID : Integer read GetIDValue write SetIDValue;
    property OldID : Integer read GetOldIDValue;
    property ID_FORMA_PAGO : Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue;
    property OldID_FORMA_PAGO : Integer read GetOldID_FORMA_PAGOValue;
    property NUM_DIAS : Integer read GetNUM_DIASValue write SetNUM_DIASValue;
    property OldNUM_DIAS : Integer read GetOldNUM_DIASValue;
    property PORCENTAJE : Float read GetPORCENTAJEValue write SetPORCENTAJEValue;
    property OldPORCENTAJE : Float read GetOldPORCENTAJEValue;

  public
    constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
    destructor Destroy; override;

  end;

implementation

uses
  Variants, uROBinaryHelpers;

{ TFormasPagoBusinessProcessorRules }
constructor TFormasPagoBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
begin
  inherited;
end;

destructor TFormasPagoBusinessProcessorRules.Destroy;
begin
  inherited;
end;

function TFormasPagoBusinessProcessorRules.GetIDValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_FormasPagoID];
end;

function TFormasPagoBusinessProcessorRules.GetOldIDValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_FormasPagoID];
end;

procedure TFormasPagoBusinessProcessorRules.SetIDValue(const aValue: Integer);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_FormasPagoID] := aValue;
end;

function TFormasPagoBusinessProcessorRules.GetREFERENCIAValue: String;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_FormasPagoREFERENCIA];
end;

function TFormasPagoBusinessProcessorRules.GetOldREFERENCIAValue: String;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_FormasPagoREFERENCIA];
end;

procedure TFormasPagoBusinessProcessorRules.SetREFERENCIAValue(const aValue: String);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_FormasPagoREFERENCIA] := aValue;
end;

function TFormasPagoBusinessProcessorRules.GetDESCRIPCIONValue: String;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_FormasPagoDESCRIPCION];
end;

function TFormasPagoBusinessProcessorRules.GetOldDESCRIPCIONValue: String;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_FormasPagoDESCRIPCION];
end;

procedure TFormasPagoBusinessProcessorRules.SetDESCRIPCIONValue(const aValue: String);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_FormasPagoDESCRIPCION] := aValue;
end;

function TFormasPagoBusinessProcessorRules.GetTITULARValue: String;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_FormasPagoTITULAR];
end;

function TFormasPagoBusinessProcessorRules.GetOldTITULARValue: String;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_FormasPagoTITULAR];
end;

procedure TFormasPagoBusinessProcessorRules.SetTITULARValue(const aValue: String);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_FormasPagoTITULAR] := aValue;
end;

function TFormasPagoBusinessProcessorRules.GetENTIDADValue: String;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_FormasPagoENTIDAD];
end;

function TFormasPagoBusinessProcessorRules.GetOldENTIDADValue: String;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_FormasPagoENTIDAD];
end;

procedure TFormasPagoBusinessProcessorRules.SetENTIDADValue(const aValue: String);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_FormasPagoENTIDAD] := aValue;
end;

function TFormasPagoBusinessProcessorRules.GetSUCURSALValue: String;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_FormasPagoSUCURSAL];
end;

function TFormasPagoBusinessProcessorRules.GetOldSUCURSALValue: String;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_FormasPagoSUCURSAL];
end;

procedure TFormasPagoBusinessProcessorRules.SetSUCURSALValue(const aValue: String);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_FormasPagoSUCURSAL] := aValue;
end;

function TFormasPagoBusinessProcessorRules.GetDCValue: String;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_FormasPagoDC];
end;

function TFormasPagoBusinessProcessorRules.GetOldDCValue: String;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_FormasPagoDC];
end;

procedure TFormasPagoBusinessProcessorRules.SetDCValue(const aValue: String);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_FormasPagoDC] := aValue;
end;

function TFormasPagoBusinessProcessorRules.GetCUENTAValue: String;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_FormasPagoCUENTA];
end;

function TFormasPagoBusinessProcessorRules.GetOldCUENTAValue: String;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_FormasPagoCUENTA];
end;

procedure TFormasPagoBusinessProcessorRules.SetCUENTAValue(const aValue: String);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_FormasPagoCUENTA] := aValue;
end;


{ TFormasPagoPlazosBusinessProcessorRules }
constructor TFormasPagoPlazosBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
begin
  inherited;
end;

destructor TFormasPagoPlazosBusinessProcessorRules.Destroy;
begin
  inherited;
end;

function TFormasPagoPlazosBusinessProcessorRules.GetIDValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_FormasPagoPlazosID];
end;

function TFormasPagoPlazosBusinessProcessorRules.GetOldIDValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_FormasPagoPlazosID];
end;

procedure TFormasPagoPlazosBusinessProcessorRules.SetIDValue(const aValue: Integer);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_FormasPagoPlazosID] := aValue;
end;

function TFormasPagoPlazosBusinessProcessorRules.GetID_FORMA_PAGOValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_FormasPagoPlazosID_FORMA_PAGO];
end;

function TFormasPagoPlazosBusinessProcessorRules.GetOldID_FORMA_PAGOValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_FormasPagoPlazosID_FORMA_PAGO];
end;

procedure TFormasPagoPlazosBusinessProcessorRules.SetID_FORMA_PAGOValue(const aValue: Integer);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_FormasPagoPlazosID_FORMA_PAGO] := aValue;
end;

function TFormasPagoPlazosBusinessProcessorRules.GetNUM_DIASValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_FormasPagoPlazosNUM_DIAS];
end;

function TFormasPagoPlazosBusinessProcessorRules.GetOldNUM_DIASValue: Integer;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_FormasPagoPlazosNUM_DIAS];
end;

procedure TFormasPagoPlazosBusinessProcessorRules.SetNUM_DIASValue(const aValue: Integer);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_FormasPagoPlazosNUM_DIAS] := aValue;
end;

function TFormasPagoPlazosBusinessProcessorRules.GetPORCENTAJEValue: Float;
begin
  result := BusinessProcessor.CurrentChange.NewValueByName[fld_FormasPagoPlazosPORCENTAJE];
end;

function TFormasPagoPlazosBusinessProcessorRules.GetOldPORCENTAJEValue: Float;
begin
  result := BusinessProcessor.CurrentChange.OldValueByName[fld_FormasPagoPlazosPORCENTAJE];
end;

procedure TFormasPagoPlazosBusinessProcessorRules.SetPORCENTAJEValue(const aValue: Float);
begin
  BusinessProcessor.CurrentChange.NewValueByName[fld_FormasPagoPlazosPORCENTAJE] := aValue;
end;


initialization
  RegisterBusinessProcessorRules(RID_FormasPagoDelta, TFormasPagoBusinessProcessorRules);
  RegisterBusinessProcessorRules(RID_FormasPagoPlazosDelta, TFormasPagoPlazosBusinessProcessorRules);

end.
