Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Unit BPeaValueHolderUnit;
- {$mode objfpc}{$H+}
- Interface
- Uses
- sysutils, Classes, BCommonUnit, BListsUnit, BObjectUnit, BQueryUnit, BSQLUnit
- //@UsesStart
- , BPeaValueUnit
- //@UsesStop
- ;
- Type BPeaValueHolderClass = Class;
- Type BPeaValueHolderList = Specialize BList<BPeaValueHolderClass>;
- Type BPeaValueHolderThreadList = Specialize BThreadList<BPeaValueHolderClass>;
- Type
- { BPeaValueHolderClass }
- BPeaValueHolderClass = Class
- Private
- bInitialized: Boolean;
- bID: Integer;
- bClassID: Integer;
- bPeaValue: BPeaValueClass;
- //@PropertiesPrivateStart
- bSomeCaption: String;
- bSomeInt: Integer;
- //@PropertiesPrivateStop
- //@PluralSavesDeclareStart
- //@PluralSavesDeclareStop
- Procedure Load(Const aObject: BPeaValueHolderClass);
- Procedure InitializeObjects;
- Public
- Property ID: Integer Read bID;
- Property PeaValue: BPeaValueClass Read bPeaValue;
- Property Initialized: Boolean Read bInitialized;
- //@PropertiesPublicStart
- Property SomeCaption: String Read bSomeCaption Write bSomeCaption;
- Property SomeInt: Integer Read bSomeInt Write bSomeInt;
- //@PropertiesPublicStop
- //@LoadPluralDeclareStart
- //@LoadPluralDeclareStop
- //@AddGetRemovePluralDeclareStart
- //@AddGetRemovePluralDeclareStop
- Procedure Validate(Const aCommit: Boolean = FALSE);
- Function Save(Const aOwnerID: Integer; Const aOwnerTable,
- aOwnerName: String; Const aQuery: BQueryClass): Boolean;
- Procedure Load(Const aOwnerID: Integer; Const aOwnerTable,
- aOwnerName: String; Const aQuery: BQueryClass);
- Function Clone: BPeaValueHolderClass;
- //@InitializeDeclareStart
- Procedure Initialize(Const aSomeCaption: String; Const
- aSomeInt: Integer);
- //@InitializeDeclareStop
- Constructor Build(Const aPeaValue: BPeaValueClass);
- Destructor Burn;
- End;
- Implementation
- Const
- SQL_ID = 'ID';
- SQL_PRIOR = 'PRIOR';
- SQL_NEXT = 'NEXT';
- SQL_DELETED = 'DELETED';
- SQL_DELETED_NOT = 'DELETED = 0';
- SQL_ID_MATCH = 'ID = :ID';
- //@ConstStart
- SQL_NAME_MATCH = 'PEAVALUEHOLDER = :PEAVALUEHOLDER';
- SQL_NAME = 'PEAVALUEHOLDER';
- SQL_HOLDING_NAME = 'PEAVALUE';
- SQL_SOME_CAPTION = 'SOME_CAPTION';
- SQL_SOME_INT = 'SOME_INT';
- //@ConstStop
- { BPeaValueHolderClass }
- Procedure BPeaValueHolderClass.Load(Const aObject: BPeaValueHolderClass);
- Begin
- //@LoadStart
- Initialize( aObject.SomeCaption, aObject.SomeInt);
- //@LoadStop
- End;
- Procedure BPeaValueHolderClass.InitializeObjects;
- Begin
- If Not(bInitialized) Then
- Begin
- //@InitializeObjectsStart
- bClassID := 105;
- //@InitializeObjectsStop
- bInitialized := TRUE;
- End;
- End;
- //@LoadPluralStart
- //@LoadPluralStop
- //@AddGetRemovePluralStart
- //@AddGetRemovePluralStop
- Procedure BPeaValueHolderClass.Validate(Const aCommit: Boolean);
- Begin
- Raise BExceptionClass.Build(1, 'Not specific validation terms');
- End;
- //@PluralSavesStart
- //@PluralSavesStop
- Function BPeaValueHolderClass.Save(Const aOwnerID: Integer; Const aOwnerTable,
- aOwnerName: String; Const aQuery: BQueryClass): Boolean;
- Var
- i: Integer;
- aSQL: BSQLClass;
- Begin
- Validate(TRUE);
- aSQL := BSQLClass.Build;
- Try
- //@SaveStart
- aSQL := BSQLClass.Build;
- aSQL.Builder.Insert(aOwnerTable).AddParam(aOwnerName).AddParam(
- SQL_HOLDING_NAME).AddParam(SQL_SOME_CAPTION).AddParam(SQL_SOME_INT);
- aSQL.AddParam(aOwnerName, aOwnerID);
- aSQL.AddParam(SQL_HOLDING_NAME, PeaValue.ID);
- Result := aQuery.Post(aSQL);
- //@SaveStop
- Finally
- aSQL.Burn;
- End;
- End;
- Procedure BPeaValueHolderClass.Load(Const aOwnerID: Integer; Const aOwnerTable,
- aOwnerName: String; Const aQuery: BQueryClass);
- Var
- i: Integer;
- aSQL: BSQLClass;
- Begin
- aSQL := BSQLClass.Build;
- Try
- //@LoadHolderStart
- //@LoadHolderStop
- Finally
- aSQL.Burn;
- End;
- End;
- Function BPeaValueHolderClass.Clone: BPeaValueHolderClass;
- Begin
- Result := BPeaValueHolderClass(PeaValue);
- //@CloneStart
- //@CloneStop
- End;
- //@InitializeStart
- Procedure BPeaValueHolderClass.Initialize(Const aSomeCaption: String;
- Const aSomeInt: Integer);
- Begin
- InitializeObjects;
- bSomeCaption := aSomeCaption;
- bSomeInt := aSomeInt;
- Validate;
- End;
- //@InitializeStop
- Constructor BPeaValueHolderClass.Build(Const aPeaValue: BPeaValueClass);
- Begin
- bPeaValue := aPeaValue;
- bID := PeaValue.ID;
- bInitialized := FALSE;
- bClassID := -1;
- End;
- Destructor BPeaValueHolderClass.Burn;
- Begin
- //@BurnStart
- //@BurnStop
- End;
- End.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement