Tecsitel_FactuGES2/Source/Modulos/Formas de pago/Model/uBizFormasPago.pas

96 lines
2.1 KiB
ObjectPascal

unit uBizFormasPago;
interface
uses
uDAInterfaces, uDADataTable, schFormasPagoClient_Intf,
uBizFormasPagoPlazos;
const
BIZ_CLIENT_FORMAPAGO = 'Client.FormaPago';
type
IBizFormaPago = interface(IFormasPago)
['{F79E3238-1E0D-4FB6-9AF7-E5703619B067}']
function EsNuevo : Boolean;
function GetPlazos: IBizFormaPagoPlazos;
procedure SetPlazos(const Value: IBizFormaPagoPlazos);
property Plazos : IBizFormaPagoPlazos read GetPlazos
write SetPlazos;
end;
TBizFormaPago = class(TFormasPagoDataTableRules, IBizFormaPago)
protected
FPlazos : IBizFormaPagoPlazos;
FPlazosLink : TDADataSource;
procedure OnNewRecord(Sender: TDADataTable); override;
function GetPlazos: IBizFormaPagoPlazos;
procedure SetPlazos(const Value: IBizFormaPagoPlazos);
public
procedure IniciarValoresFormaPagoNueva;
function EsNuevo : Boolean;
constructor Create(aDataTable: TDADataTable); override;
destructor Destroy; override;
property Plazos : IBizFormaPagoPlazos read GetPlazos
write SetPlazos;
end;
implementation
{ TBizFormaPago }
uses
SysUtils, uDataTableUtils;
constructor TBizFormaPago.Create(aDataTable: TDADataTable);
begin
inherited;
FPlazos := NIL;
FPlazosLink := TDADataSource.Create(NIL);
FPlazosLink.DataTable := aDataTable;
end;
destructor TBizFormaPago.Destroy;
begin
FPlazos := NIL;
FreeAndNIL(FPlazosLink);
inherited;
end;
function TBizFormaPago.EsNuevo: Boolean;
begin
Result := (ID < 0);
end;
function TBizFormaPago.GetPlazos: IBizFormaPagoPlazos;
begin
Result := FPlazos;
end;
procedure TBizFormaPago.IniciarValoresFormaPagoNueva;
begin
//
end;
procedure TBizFormaPago.OnNewRecord(Sender: TDADataTable);
begin
inherited;
// Eliminar ID := GetRecNo; // -1, -2, -3...
IniciarValoresFormaPagoNueva;
end;
procedure TBizFormaPago.SetPlazos(const Value: IBizFormaPagoPlazos);
begin
FPlazos := Value;
EnlazarMaestroDetalle(FPlazosLink, FPlazos);
end;
initialization
RegisterDataTableRules(BIZ_CLIENT_FORMAPAGO, TBizFormaPago);
finalization
end.