Класс «HotelBDCore»

Рис.10
Является невизуальным компонентом.
AbtAppBldrPart subclass: #HotelBDCore
instanceVariableNames: 'bd '
classVariableNames: ''
poolDictionaries: ''
Access
init
bd:=OrderedCollection new.
bd
^bd
bd: anObject
bd := anObject.
self signalEvent: #bd with: anObject.
Main
newUser: user
bd add:user.
self signalEvent: #bdChanged with: bd;
signalEvent: #justAdded with: (Array with:user)
addRoom: room toUser: user
room isNil ifFalse:[
user do:[:h|h addRoom:room].
self signalEvent: #bdChanged with: bd;
signalEvent: #justAdded with: user asArray.]
removeSelected: selecteditems
selecteditems do:[:el| bd remove:el].
self signalEvent: #bdChanged with: bd.
findFSName: FNameSet with: SNameSet
|str|
(FNameSet notNil)&(SNameSet notNil)
ifTrue:[^(bd select:[:user| (user FName = FNameSet)&(user SName = SNameSet)]) asArray].
(FNameSet notNil)&(SNameSet isNil)
ifTrue:[^(bd select:[:user| user FName = FNameSet]) asArray].
(FNameSet isNil)&(SNameSet notNil)
ifTrue:[^(bd select:[:user| user SName = SNameSet]) asArray].
(FNameSet isNil)&(SNameSet isNil)
ifTrue:[^(str:=(`Неверные параметры поиска')) asArray].
findSex: sexSet
|str|
(sexSet notNil)
ifTrue:[^(bd select:[:user| (user sex = sexSet)]) asArray];
ifFalse:[^(str:=( `Неверные параметры поиска')) asArray].
findType: typeSet
|str|
(typeSet notNil)
ifTrue:[^(bd select:[:user| ((user haveRoom: typeSet) = true)]) asArray];
ifFalse:[^(str:=(` Неверные параметры поиска')) asArray].
findFSNameSexType: FNameSet with: SNameSet with: sexSet with: typeSet
|str|
(FNameSet notNil)&(SNameSet notNil) &(sexSet notNil)& (typeSet notNil)
ifTrue:[^(bd select:[:user| (user FName = FNameSet)&(user SName = SNameSet)&(user sex = sexSet)&((user haveRoom: typeSet) = true)]) asArray].
ifFalse:[^(str:=( `Неверные параметры поиска')) asArray].