unit uBizDetallesPedidoCliente; interface uses uDADataTable, schPedidosClienteClient_Intf, uBizDetalleColoresPedidoCliente; const BIZ_CLIENT_DETALLES_PEDIDO_CLIENTE = 'Client.PedidoCliente.Detalles'; BIZ_CLIENT_ARTICULOS_PEND_PEDIDO_CLIENTE = 'Client.PedidoCliente.ArticulosPendientes'; BIZ_CLIENT_ARTCOLORES_PEND_PEDIDO_CLIENTE = 'Client.PedidoCliente.ArtColoresPendientes'; type IBizDetallesPedidoCliente = interface(IPedidosCliente_Detalles) ['{2D7781DC-AD16-4857-9567-5C1620319781}'] function GetDetalleColores: IBizDetalleColoresPedidoCliente; procedure SetDetalleColores(Value: IBizDetalleColoresPedidoCliente); property DetalleColores: IBizDetalleColoresPedidoCliente read GetDetalleColores write SetDetalleColores; end; IBizPedidoClienteArticulosPend = interface(IPedidoCliente_Articulos_Pendientes) ['{DD245879-DD80-4E96-995A-6D3A09D72544}'] end; IBizPedidoClienteArtColoresPend = interface(IPedidoCliente_Art_Colores_Pendientes) ['{8E4E1C52-0160-4EBF-AD20-10EBEE8B4266}'] end; TBizDetallesPedidoCliente = class(TPedidosCliente_DetallesDataTableRules, IBizDetallesPedidoCliente) protected FDetalleColores : IBizDetalleColoresPedidoCliente; FDetalleColoresLink : TDADataSource; function GetDetalleColores: IBizDetalleColoresPedidoCliente; procedure SetDetalleColores(Value: IBizDetalleColoresPedidoCliente); procedure OnNewRecord(Sender: TDADataTable); override; procedure BeforeInsert(Sender: TDADataTable); override; public property DetalleColores: IBizDetalleColoresPedidoCliente read GetDetalleColores write SetDetalleColores; constructor Create(aDataTable: TDADataTable); override; destructor Destroy; override; end; TBizPedidoClienteArticulosPend = class(TPedidoCliente_Articulos_PendientesDataTableRules, IBizPedidoClienteArticulosPend) end; TBizPedidoClienteArColoresPend = class(TPedidoCliente_Art_Colores_PendientesDataTableRules, IBizPedidoClienteArtColoresPend) end; implementation { TBizDetallesPedidoCliente } uses uDataTableUtils, DB; procedure TBizDetallesPedidoCliente.BeforeInsert(Sender: TDADataTable); var AMasterTable : TDADataTable; begin inherited; AMasterTable := DataTable.GetMasterDataTable; if Assigned(AMasterTable) and (AMasterTable.State = dsInsert) then AMasterTable.Post; end; constructor TBizDetallesPedidoCliente.Create(aDataTable: TDADataTable); begin inherited; FDetalleColoresLink := TDADataSource.Create(NIL); FDetalleColoresLink.DataTable := aDataTable; end; destructor TBizDetallesPedidoCliente.Destroy; begin FDetalleColores := NIL; FDetalleColoresLink.Free; inherited; end; function TBizDetallesPedidoCliente.GetDetalleColores: IBizDetalleColoresPedidoCliente; begin Result := FDetalleColores; end; procedure TBizDetallesPedidoCliente.OnNewRecord(Sender: TDADataTable); begin inherited; VISIBLE := 1; end; procedure TBizDetallesPedidoCliente.SetDetalleColores(Value: IBizDetalleColoresPedidoCliente); begin FDetalleColores := Value; EnlazarMaestroDetalle(FDetalleColoresLink, FDetalleColores); end; initialization RegisterDataTableRules(BIZ_CLIENT_DETALLES_PEDIDO_CLIENTE, TBizDetallesPedidoCliente); RegisterDataTableRules(BIZ_CLIENT_ARTICULOS_PEND_PEDIDO_CLIENTE, TBizPedidoClienteArticulosPend); RegisterDataTableRules(BIZ_CLIENT_ARTCOLORES_PEND_PEDIDO_CLIENTE, TBizPedidoClienteArColoresPend); end.