338 lines
10 KiB
Plaintext
338 lines
10 KiB
Plaintext
|
|
object BusinessRulesScripts_ServerDataModule: TBusinessRulesScripts_ServerDataModule
|
||
|
|
OldCreateOrder = False
|
||
|
|
OnCreate = DataModuleCreate
|
||
|
|
Left = 340
|
||
|
|
Top = 54
|
||
|
|
Height = 399
|
||
|
|
Width = 342
|
||
|
|
object ROServer: TROIndyHTTPServer
|
||
|
|
Dispatchers = <
|
||
|
|
item
|
||
|
|
Name = 'ROMessage'
|
||
|
|
Message = ROMessage
|
||
|
|
Enabled = True
|
||
|
|
PathInfo = 'Bin'
|
||
|
|
end>
|
||
|
|
Port = 8099
|
||
|
|
Left = 32
|
||
|
|
Top = 8
|
||
|
|
end
|
||
|
|
object ROMessage: TROBinMessage
|
||
|
|
Left = 34
|
||
|
|
Top = 56
|
||
|
|
end
|
||
|
|
object ConnectionManager: TDAConnectionManager
|
||
|
|
MaxPoolSize = 10
|
||
|
|
PoolTimeoutSeconds = 60
|
||
|
|
PoolBehaviour = pbWait
|
||
|
|
WaitIntervalSeconds = 1
|
||
|
|
Connections = <
|
||
|
|
item
|
||
|
|
Name = 'ADO'
|
||
|
|
ConnectionString =
|
||
|
|
'ADO?AuxDriver=SQLOLEDB.1;Server=localhost;Database=Northwind;Use' +
|
||
|
|
'rID=sa;Password=;'
|
||
|
|
Default = True
|
||
|
|
Tag = 0
|
||
|
|
end>
|
||
|
|
DriverManager = DriverManager
|
||
|
|
PoolingEnabled = True
|
||
|
|
Left = 136
|
||
|
|
Top = 56
|
||
|
|
end
|
||
|
|
object DriverManager: TDADriverManager
|
||
|
|
DriverDirectory = '%SYSTEM%\'
|
||
|
|
AutoLoad = False
|
||
|
|
TraceActive = False
|
||
|
|
TraceFlags = []
|
||
|
|
Left = 136
|
||
|
|
Top = 10
|
||
|
|
end
|
||
|
|
object Schema: TDASchema
|
||
|
|
ConnectionManager = ConnectionManager
|
||
|
|
DataDictionary = DataDictionary
|
||
|
|
Datasets = <
|
||
|
|
item
|
||
|
|
Params = <>
|
||
|
|
Statements = <
|
||
|
|
item
|
||
|
|
Connection = 'ADO'
|
||
|
|
TargetTable = 'Products'
|
||
|
|
SQL =
|
||
|
|
'SELECT '#10' ProductID, ProductName, SupplierID, CategoryID, Quan' +
|
||
|
|
'tityPerUnit, '#10' UnitPrice, UnitsInStock, UnitsOnOrder, Reorder' +
|
||
|
|
'Level, '#10' Discontinued'#10' FROM'#10' Products'
|
||
|
|
StatementType = stSQL
|
||
|
|
ColumnMappings = <
|
||
|
|
item
|
||
|
|
DatasetField = 'ProductID'
|
||
|
|
TableField = 'ProductID'
|
||
|
|
end
|
||
|
|
item
|
||
|
|
DatasetField = 'ProductName'
|
||
|
|
TableField = 'ProductName'
|
||
|
|
end
|
||
|
|
item
|
||
|
|
DatasetField = 'SupplierID'
|
||
|
|
TableField = 'SupplierID'
|
||
|
|
end
|
||
|
|
item
|
||
|
|
DatasetField = 'CategoryID'
|
||
|
|
TableField = 'CategoryID'
|
||
|
|
end
|
||
|
|
item
|
||
|
|
DatasetField = 'QuantityPerUnit'
|
||
|
|
TableField = 'QuantityPerUnit'
|
||
|
|
end
|
||
|
|
item
|
||
|
|
DatasetField = 'UnitPrice'
|
||
|
|
TableField = 'UnitPrice'
|
||
|
|
end
|
||
|
|
item
|
||
|
|
DatasetField = 'UnitsInStock'
|
||
|
|
TableField = 'UnitsInStock'
|
||
|
|
end
|
||
|
|
item
|
||
|
|
DatasetField = 'UnitsOnOrder'
|
||
|
|
TableField = 'UnitsOnOrder'
|
||
|
|
end
|
||
|
|
item
|
||
|
|
DatasetField = 'ReorderLevel'
|
||
|
|
TableField = 'ReorderLevel'
|
||
|
|
end
|
||
|
|
item
|
||
|
|
DatasetField = 'Discontinued'
|
||
|
|
TableField = 'Discontinued'
|
||
|
|
end>
|
||
|
|
end>
|
||
|
|
Name = 'Products'
|
||
|
|
Fields = <
|
||
|
|
item
|
||
|
|
Name = 'ProductID'
|
||
|
|
DataType = datInteger
|
||
|
|
BlobType = dabtUnknown
|
||
|
|
DisplayWidth = 0
|
||
|
|
Alignment = taLeftJustify
|
||
|
|
InPrimaryKey = True
|
||
|
|
Calculated = False
|
||
|
|
Lookup = False
|
||
|
|
LookupCache = False
|
||
|
|
end
|
||
|
|
item
|
||
|
|
Name = 'ProductName'
|
||
|
|
DataType = datWideString
|
||
|
|
Size = 40
|
||
|
|
BlobType = dabtUnknown
|
||
|
|
DisplayWidth = 0
|
||
|
|
Alignment = taLeftJustify
|
||
|
|
InPrimaryKey = False
|
||
|
|
Calculated = False
|
||
|
|
Lookup = False
|
||
|
|
LookupCache = False
|
||
|
|
end
|
||
|
|
item
|
||
|
|
Name = 'SupplierID'
|
||
|
|
DataType = datInteger
|
||
|
|
BlobType = dabtUnknown
|
||
|
|
DisplayWidth = 0
|
||
|
|
Alignment = taLeftJustify
|
||
|
|
InPrimaryKey = False
|
||
|
|
Calculated = False
|
||
|
|
Lookup = False
|
||
|
|
LookupCache = False
|
||
|
|
end
|
||
|
|
item
|
||
|
|
Name = 'CategoryID'
|
||
|
|
DataType = datInteger
|
||
|
|
BlobType = dabtUnknown
|
||
|
|
DisplayWidth = 0
|
||
|
|
Alignment = taLeftJustify
|
||
|
|
InPrimaryKey = False
|
||
|
|
Calculated = False
|
||
|
|
Lookup = False
|
||
|
|
LookupCache = False
|
||
|
|
end
|
||
|
|
item
|
||
|
|
Name = 'QuantityPerUnit'
|
||
|
|
DataType = datWideString
|
||
|
|
Size = 20
|
||
|
|
BlobType = dabtUnknown
|
||
|
|
DisplayWidth = 0
|
||
|
|
Alignment = taLeftJustify
|
||
|
|
InPrimaryKey = False
|
||
|
|
Calculated = False
|
||
|
|
Lookup = False
|
||
|
|
LookupCache = False
|
||
|
|
end
|
||
|
|
item
|
||
|
|
Name = 'UnitPrice'
|
||
|
|
DataType = datFloat
|
||
|
|
BlobType = dabtUnknown
|
||
|
|
DisplayWidth = 0
|
||
|
|
Alignment = taLeftJustify
|
||
|
|
InPrimaryKey = False
|
||
|
|
Calculated = False
|
||
|
|
Lookup = False
|
||
|
|
LookupCache = False
|
||
|
|
end
|
||
|
|
item
|
||
|
|
Name = 'UnitsInStock'
|
||
|
|
DataType = datInteger
|
||
|
|
BlobType = dabtUnknown
|
||
|
|
DisplayWidth = 0
|
||
|
|
Alignment = taLeftJustify
|
||
|
|
InPrimaryKey = False
|
||
|
|
Calculated = False
|
||
|
|
Lookup = False
|
||
|
|
LookupCache = False
|
||
|
|
end
|
||
|
|
item
|
||
|
|
Name = 'UnitsOnOrder'
|
||
|
|
DataType = datInteger
|
||
|
|
BlobType = dabtUnknown
|
||
|
|
DisplayWidth = 0
|
||
|
|
Alignment = taLeftJustify
|
||
|
|
InPrimaryKey = False
|
||
|
|
Calculated = False
|
||
|
|
Lookup = False
|
||
|
|
LookupCache = False
|
||
|
|
end
|
||
|
|
item
|
||
|
|
Name = 'ReorderLevel'
|
||
|
|
DataType = datInteger
|
||
|
|
BlobType = dabtUnknown
|
||
|
|
DisplayWidth = 0
|
||
|
|
Alignment = taLeftJustify
|
||
|
|
InPrimaryKey = False
|
||
|
|
Calculated = False
|
||
|
|
Lookup = False
|
||
|
|
LookupCache = False
|
||
|
|
end
|
||
|
|
item
|
||
|
|
Name = 'Discontinued'
|
||
|
|
DataType = datBoolean
|
||
|
|
BlobType = dabtUnknown
|
||
|
|
DisplayWidth = 0
|
||
|
|
Alignment = taLeftJustify
|
||
|
|
InPrimaryKey = False
|
||
|
|
Calculated = False
|
||
|
|
Lookup = False
|
||
|
|
LookupCache = False
|
||
|
|
end>
|
||
|
|
BusinessRulesClient.ScriptLanguage = rslPascalScript
|
||
|
|
BusinessRulesServer.ScriptLanguage = rslPascalScript
|
||
|
|
end
|
||
|
|
item
|
||
|
|
Params = <>
|
||
|
|
Statements = <
|
||
|
|
item
|
||
|
|
Connection = 'ADO'
|
||
|
|
TargetTable = 'OrderDetails'
|
||
|
|
SQL =
|
||
|
|
'SELECT '#10' OrderID, ProductID, UnitPrice, Quantity, Discount'#10' ' +
|
||
|
|
'FROM'#10' [Order Details]'
|
||
|
|
StatementType = stSQL
|
||
|
|
ColumnMappings = <
|
||
|
|
item
|
||
|
|
DatasetField = 'OrderID'
|
||
|
|
TableField = 'OrderID'
|
||
|
|
end
|
||
|
|
item
|
||
|
|
DatasetField = 'ProductID'
|
||
|
|
TableField = 'ProductID'
|
||
|
|
end
|
||
|
|
item
|
||
|
|
DatasetField = 'UnitPrice'
|
||
|
|
TableField = 'UnitPrice'
|
||
|
|
end
|
||
|
|
item
|
||
|
|
DatasetField = 'Quantity'
|
||
|
|
TableField = 'Quantity'
|
||
|
|
end
|
||
|
|
item
|
||
|
|
DatasetField = 'Discount'
|
||
|
|
TableField = 'Discount'
|
||
|
|
end>
|
||
|
|
end>
|
||
|
|
Name = 'OrderDetails'
|
||
|
|
Fields = <
|
||
|
|
item
|
||
|
|
Name = 'OrderID'
|
||
|
|
DataType = datInteger
|
||
|
|
BlobType = dabtUnknown
|
||
|
|
DisplayWidth = 0
|
||
|
|
Alignment = taLeftJustify
|
||
|
|
InPrimaryKey = True
|
||
|
|
Calculated = False
|
||
|
|
Lookup = False
|
||
|
|
LookupCache = False
|
||
|
|
end
|
||
|
|
item
|
||
|
|
Name = 'ProductID'
|
||
|
|
DataType = datInteger
|
||
|
|
BlobType = dabtUnknown
|
||
|
|
DisplayWidth = 0
|
||
|
|
Alignment = taLeftJustify
|
||
|
|
InPrimaryKey = True
|
||
|
|
Calculated = False
|
||
|
|
Lookup = False
|
||
|
|
LookupCache = False
|
||
|
|
end
|
||
|
|
item
|
||
|
|
Name = 'UnitPrice'
|
||
|
|
DataType = datFloat
|
||
|
|
BlobType = dabtUnknown
|
||
|
|
DisplayWidth = 0
|
||
|
|
Alignment = taLeftJustify
|
||
|
|
InPrimaryKey = False
|
||
|
|
Calculated = False
|
||
|
|
Lookup = False
|
||
|
|
LookupCache = False
|
||
|
|
end
|
||
|
|
item
|
||
|
|
Name = 'Quantity'
|
||
|
|
DataType = datInteger
|
||
|
|
BlobType = dabtUnknown
|
||
|
|
DisplayWidth = 0
|
||
|
|
Alignment = taLeftJustify
|
||
|
|
InPrimaryKey = False
|
||
|
|
Calculated = False
|
||
|
|
Lookup = False
|
||
|
|
LookupCache = False
|
||
|
|
end
|
||
|
|
item
|
||
|
|
Name = 'Discount'
|
||
|
|
DataType = datFloat
|
||
|
|
BlobType = dabtUnknown
|
||
|
|
DisplayWidth = 0
|
||
|
|
Alignment = taLeftJustify
|
||
|
|
InPrimaryKey = False
|
||
|
|
Calculated = False
|
||
|
|
Lookup = False
|
||
|
|
LookupCache = False
|
||
|
|
end>
|
||
|
|
BusinessRulesClient.Script =
|
||
|
|
'procedure BeforeDelete;'#10'begin'#10' if Gain > 50 then'#10' RaiseError' +
|
||
|
|
'('#39'Cannot delete orders that make us more then 50$'#39');'#10'end;'#10#10'pro' +
|
||
|
|
'cedure BeforePost;'#10'begin'#10' if VarIsNull(ProductID) then'#10' Rais' +
|
||
|
|
'eError('#39'Please specify a name.'#39');'#10' '#10' if Quantity < 1 then'#10' ' +
|
||
|
|
' RaiseError('#39'Quantity can not be less 1 !'#39');'#10#10' if UnitPrice < ' +
|
||
|
|
'10 then'#10' Quantity := 10;'#10'end;'#10#10'procedure OnCalcFields;'#10'begin'#10 +
|
||
|
|
' Gain := UnitPrice*Quantity*(1-Discount);'#10'end;'#10#10'procedure OnNew' +
|
||
|
|
'Record;'#10'begin'#10' Quantity := 1;'#10'end;'
|
||
|
|
BusinessRulesClient.ScriptLanguage = rslPascalScript
|
||
|
|
BusinessRulesServer.ScriptLanguage = rslPascalScript
|
||
|
|
end>
|
||
|
|
Commands = <>
|
||
|
|
RelationShips = <>
|
||
|
|
UpdateRules = <>
|
||
|
|
Left = 43
|
||
|
|
Top = 150
|
||
|
|
end
|
||
|
|
object DataDictionary: TDADataDictionary
|
||
|
|
Fields = <>
|
||
|
|
Left = 40
|
||
|
|
Top = 200
|
||
|
|
end
|
||
|
|
end
|