unit fClientDataModule; interface uses {vcl:} SysUtils, Classes, DB, DBClient, {RemObjects:} uROClient, uROClientIntf, uRORemoteService, uROBinMessage, uROWinInetHTTPChannel, {Data Abstract:} uDADataTable, uDABin2DataStreamer, uDAInterfaces, uDARemoteDataAdapter, uDADataStreamer, uDAScriptingProvider, uDAMemDataTable, uRODynamicRequest, uDADataAdapter, uROClasses; type TClientDataModule = class(TDataModule) Message: TROBinMessage; Channel: TROWinInetHTTPChannel; RemoteService: TRORemoteService; DataStreamer: TDABin2DataStreamer; RemoteDataAdapter: TDARemoteDataAdapter; drLoginRequest: TRODynamicRequest; tbl_BPClients: TDAMemDataTable; ds_BPClients: TDADataSource; tbl_OrderDetails: TDAMemDataTable; ds_OrderDetails: TDADataSource; tbl_Orders: TDAMemDataTable; ds_Orders: TDADataSource; tbl_Groups: TDAMemDataTable; ds_Groups: TDADataSource; tbl_Products: TDAMemDataTable; ds_Products: TDADataSource; tbl_SelectedGroup: TDAMemDataTable; ds_SelectedGroup: TDADataSource; tbl_UnionAddresses: TDAMemDataTable; ds_UnionAddresses: TDADataSource; procedure tbl_SelectedGroupGroupIdChange(Sender: TDACustomField); procedure tbl_BPClientsNewRecord(DataTable: TDADataTable); procedure tbl_ProductsNewRecord(DataTable: TDADataTable); procedure tbl_UnionAddressesNewRecord(DataTable: TDADataTable); private { Private declarations } fOnSelectedGroupChange: TNotifyEvent; public { Public declarations } procedure Login; published property OnSelectedGroupChange: TNotifyEvent read fOnSelectedGroupChange write fOnSelectedGroupChange; end; var ClientDataModule: TClientDataModule; implementation {$R *.dfm} uses DASampleLibrary_Intf; { TClientDataModule } procedure TClientDataModule.Login; begin with drLoginRequest do begin {$IFNDEF FPC} Params[0].Value := PlatformEnum_peWindowsDelphi; {$ELSE} {$IFDEF WINDOWS} Params[0].Value := PlatformEnum_peWindowsFPC; {$ELSE} {$IFDEF LINUX} Params[0].Value := PlatformEnum_peLinuxFPC; {$ELSE} Params[0].Value := PlatformEnum_peUnknown; {$ENDIF} {$ENDIF} {$ENDIF} Params[1].Value := 'Combined DA Sample'; Execute(Params); end; end; procedure TClientDataModule.tbl_BPClientsNewRecord(DataTable: TDADataTable); begin DataTable.FieldByName('Id').AsString := NewGuidAsString(); end; procedure TClientDataModule.tbl_ProductsNewRecord(DataTable: TDADataTable); begin DataTable.FieldByName('ProductId').AsString := NewGuidAsString(); DataTable.FieldByName('ProductGroup').AsInteger := tbl_SelectedGroup.FieldByName('GroupId').AsInteger; end; procedure TClientDataModule.tbl_SelectedGroupGroupIdChange( Sender: TDACustomField); begin if Assigned(fOnSelectedGroupChange) then fOnSelectedGroupChange(Sender); end; procedure TClientDataModule.tbl_UnionAddressesNewRecord( DataTable: TDADataTable); begin DataTable.FieldByName('Id').AsString := NewGuidAsString(); end; end.