FactuGES2/Source/ApplicationBase/Empresas/Model/uBizEmpresas.pas

125 lines
3.1 KiB
ObjectPascal
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

unit uBizEmpresas;
interface
uses
uDAInterfaces, uDADataTable, schEmpresasClient_Intf,
uBizEmpresasDatosBancarios, uBizEmpresasTiendas;
const
BIZ_CLIENT_EMPRESA = 'Client.Empresa';
type
IBizEmpresa = interface (IEmpresas)
['{1DB69F36-969C-4078-B862-6D697670BCFD}']
procedure SetDatosBancarios(AValue : IBizEmpresasDatosBancarios);
function GetDatosBancarios : IBizEmpresasDatosBancarios;
property DatosBancarios : IBizEmpresasDatosBancarios read GetDatosBancarios write SetDatosBancarios;
procedure SetTiendas(AValue : IBizEmpresasTiendas);
function GetTiendas : IBizEmpresasTiendas;
property Tiendas : IBizEmpresasTiendas read GetTiendas write SetTiendas;
function EsNuevo : Boolean;
end;
TBizEmpresa = class(TEmpresasDataTableRules, IBizEmpresa)
protected
FDatosBancarios : IBizEmpresasDatosBancarios;
FDatosBancariosLink : TDADataSource;
FTiendas : IBizEmpresasTiendas;
FTiendasLink : TDADataSource;
procedure OnNewRecord(Sender: TDADataTable); override;
procedure SetDatosBancarios(AValue : IBizEmpresasDatosBancarios);
function GetDatosBancarios : IBizEmpresasDatosBancarios;
procedure SetTiendas(AValue : IBizEmpresasTiendas);
function GetTiendas : IBizEmpresasTiendas;
public
function EsNuevo : Boolean;
procedure IniciarValoresEmpresaNueva;
constructor Create(aDataTable: TDADataTable); override;
destructor Destroy; override;
property DatosBancarios : IBizEmpresasDatosBancarios read GetDatosBancarios write SetDatosBancarios;
property Tiendas : IBizEmpresasTiendas read GetTiendas write SetTiendas;
end;
implementation
uses
uDataTableUtils, Classes, DateUtils, SysUtils, Dialogs,
uFactuGES_App;
{ TBizEmpresa }
constructor TBizEmpresa.Create(aDataTable: TDADataTable);
begin
inherited;
FDatosBancariosLink := TDADataSource.Create(NIL);
FDatosBancariosLink.DataTable := aDataTable;
FTiendasLink := TDADataSource.Create(NIL);
FTiendasLink.DataTable := aDataTable;
end;
destructor TBizEmpresa.Destroy;
begin
FDatosBancarios := NIL;
FDatosBancariosLink.Free;
FTiendas := NIL;
FTiendasLink.Free;
inherited;
end;
function TBizEmpresa.EsNuevo: Boolean;
begin
Result := (ID < 0);
end;
function TBizEmpresa.GetDatosBancarios: IBizEmpresasDatosBancarios;
begin
Result := FDatosBancarios;
end;
function TBizEmpresa.GetTiendas: IBizEmpresasTiendas;
begin
Result := FTiendas;
end;
procedure TBizEmpresa.IniciarValoresEmpresaNueva;
begin
USUARIO := AppFactuGES.UsuarioActivo.UserName;
end;
procedure TBizEmpresa.OnNewRecord(Sender: TDADataTable);
begin
inherited;
IniciarValoresEmpresaNueva;
end;
procedure TBizEmpresa.SetDatosBancarios(AValue: IBizEmpresasDatosBancarios);
begin
FDatosBancarios := AValue;
EnlazarMaestroDetalle(FDatosBancariosLink, FDatosBancarios);
end;
procedure TBizEmpresa.SetTiendas(AValue: IBizEmpresasTiendas);
begin
FTiendas := AValue;
EnlazarMaestroDetalle(FTiendasLink, FTiendas);
end;
initialization
RegisterDataTableRules(BIZ_CLIENT_EMPRESA, TBizEmpresa);
finalization
end.