unit uBizDetallesPresupuestoCliente; interface uses uDADataTable, schPresupuestosClienteClient_Intf; const BIZ_CLIENT_PROPIEDADES = 'Client.Propiedades'; BIZ_CLIENT_VALORES = 'Client.Valores'; BIZ_CLIENT_CAPITULOS = 'Client.Capitulos'; BIZ_CLIENT_DETALLES_PRESUPUESTO_CLIENTE = 'Client.PresupuestoCliente.Detalles'; TIPO_CAPITULO_AF = 'AF'; //FRENTE DE ARMARIO TIPO_CAPITULO_AI = 'AI'; //INTERIOR DE ARMARIO TIPO_CAPITULO_B = 'B'; //BAÑO TIPO_CAPITULO_C = 'C'; //COCINA TIPO_CAPITULO_E = 'E'; //ELECTRODOMÉSTICOS TIPO_CAPITULO_V = 'V'; //VARIOS TIPO_CAPITULO_C_VACIO = 'CV'; //COCINAVACIO type IBizValores = interface(IValores) ['{24C5CEDF-9A20-447B-9291-C42967D52748}'] end; IBizPropiedades = interface(IPropiedades) ['{A3EAE8BB-A19C-45B4-AB62-6C40962D2E80}'] function GetValores: IBizValores; procedure SetValores(Value: IBizValores); property Valores: IBizValores read GetValores write SetValores; end; IBizCapitulo = interface(ICapitulosPresupuesto) ['{FE35D755-7781-441F-960C-98F847A5039E}'] end; IBizDetallesPresupuestoCliente = interface(IPresupuestosCliente_Detalles) ['{2D7781DC-AD16-4857-9567-5C1620319781}'] end; TBizValores = class(TValoresDataTableRules, IBizValores) end; TBizPropiedades = class(TPropiedadesDataTableRules, IBizPropiedades) protected FValores : IBizValores; FValoresLink : TDADataSource; function GetValores: IBizValores; procedure SetValores(Value: IBizValores); public property Valores: IBizValores read GetValores write SetValores; constructor Create(aDataTable: TDADataTable); override; destructor Destroy; override; end; TBizCapitulo = class(TCapitulosPresupuestoDataTableRules, IBizCapitulo) end; TBizDetallesPresupuestoCliente = class(TPresupuestosCliente_DetallesDataTableRules, IBizDetallesPresupuestoCliente) protected procedure OnNewRecord(Sender: TDADataTable); override; procedure BeforeInsert(Sender: TDADataTable); override; end; implementation { TBizDetallesPresupuestoCliente } uses Dialogs, DB, uDataTableUtils, SysUtils, JclStrings; procedure TBizDetallesPresupuestoCliente.BeforeInsert(Sender: TDADataTable); var AMasterTable : TDADataTable; begin inherited; AMasterTable := DataTable.GetMasterDataTable; if Assigned(AMasterTable) and (AMasterTable.State = dsInsert) then AMasterTable.Post; end; procedure TBizDetallesPresupuestoCliente.OnNewRecord(Sender: TDADataTable); begin inherited; VISIBLE := 1; end; { TBizPropiedades } constructor TBizPropiedades.Create(aDataTable: TDADataTable); begin inherited; FValoresLink := TDADataSource.Create(NIL); FValoresLink.DataTable := aDataTable; end; destructor TBizPropiedades.Destroy; begin FValores := NIL; FValoresLink.Free; inherited; end; function TBizPropiedades.GetValores: IBizValores; begin Result := FValores; end; procedure TBizPropiedades.SetValores(Value: IBizValores); begin FValores := Value; EnlazarMaestroDetalle(FValoresLink, FValores); end; initialization RegisterDataTableRules(BIZ_CLIENT_DETALLES_PRESUPUESTO_CLIENTE, TBizDetallesPresupuestoCliente); RegisterDataTableRules(BIZ_CLIENT_PROPIEDADES, TBizPropiedades); RegisterDataTableRules(BIZ_CLIENT_VALORES, TBizValores); RegisterDataTableRules(BIZ_CLIENT_CAPITULOS, TBizCapitulo); end.