AbetoDesign_FactuGES2/Source/ApplicationBase/Ejercicios/Model/uBizEjercicios.pas

79 lines
1.8 KiB
ObjectPascal

unit uBizEjercicios;
interface
uses
uDAInterfaces, uDADataTable, uDBSelectionListUtils, schEjerciciosClient_Intf;
const
BIZ_CLIENT_Ejercicio = 'Client.Ejercicio';
CTE_ABIERTO = 'ABIERTO';
CTE_CERRADO = 'CERRADO';
type
IBizEjercicio = interface(IEjercicios)
['{328DA20D-75E5-47D5-A0D6-C7036E2A038F}']
function EsNuevo : Boolean;
end;
TBizEjercicio = class(TEjerciciosDataTableRules, IBizEjercicio, ISeleccionable)
protected
FSeleccionableInterface: ISeleccionable;
procedure OnNewRecord(Sender: TDADataTable); override;
public
property SeleccionableInterface : ISeleccionable read FSeleccionableInterface write FSeleccionableInterface implements ISeleccionable;
constructor Create(aDataTable: TDADataTable); override;
destructor Destroy; override;
procedure IniciarValoresEjercicioNueva;
function EsNuevo : Boolean;
end;
implementation
{ TBizEjercicio }
uses
SysUtils, uDataTableUtils, uDateUtils, uFactuGES_App;
constructor TBizEjercicio.Create(aDataTable: TDADataTable);
begin
inherited;
FSeleccionableInterface := TSeleccionable.Create(aDataTable);
end;
destructor TBizEjercicio.Destroy;
begin
FSeleccionableInterface := NIL;
inherited;
end;
function TBizEjercicio.EsNuevo: Boolean;
begin
Result := (ID < 0);
end;
procedure TBizEjercicio.IniciarValoresEjercicioNueva;
begin
ID_EMPRESA := AppFactuGES.EmpresaActiva.ID;
ACTIVO := 1;
ESTADO := CTE_ABIERTO;
NOMBRE := 'Ejercicio ...';
FECHA_INICIO := DarInicioAno(date);
FECHA_FIN := DarFinAno(date);
end;
procedure TBizEjercicio.OnNewRecord(Sender: TDADataTable);
begin
inherited;
IniciarValoresEjercicioNueva;
end;
initialization
RegisterDataTableRules(BIZ_CLIENT_Ejercicio, TBizEjercicio);
finalization
end.