Advertisement
Guest User

Untitled

a guest
Jun 14th, 2012
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 4.64 KB | None | 0 0
  1. Unit BPeaValueHolderUnit;
  2.  
  3. {$mode objfpc}{$H+}
  4.  
  5. Interface
  6.  
  7. Uses
  8.   sysutils, Classes, BCommonUnit, BListsUnit, BObjectUnit, BQueryUnit, BSQLUnit
  9. //@UsesStart
  10.   , BPeaValueUnit
  11. //@UsesStop
  12. ;
  13.  
  14. Type BPeaValueHolderClass = Class;
  15.  
  16. Type BPeaValueHolderList = Specialize BList<BPeaValueHolderClass>;
  17. Type BPeaValueHolderThreadList = Specialize BThreadList<BPeaValueHolderClass>;
  18.  
  19. Type
  20.  
  21.   { BPeaValueHolderClass }
  22.  
  23.   BPeaValueHolderClass = Class
  24.     Private
  25.       bInitialized: Boolean;
  26.       bID: Integer;
  27.       bClassID: Integer;
  28.       bPeaValue: BPeaValueClass;
  29.       //@PropertiesPrivateStart
  30.       bSomeCaption: String;
  31.       bSomeInt: Integer;
  32.       //@PropertiesPrivateStop
  33.       //@PluralSavesDeclareStart
  34.       //@PluralSavesDeclareStop
  35.       Procedure Load(Const aObject: BPeaValueHolderClass);
  36.       Procedure InitializeObjects;
  37.     Public
  38.       Property ID: Integer Read bID;
  39.       Property PeaValue: BPeaValueClass Read bPeaValue;
  40.       Property Initialized: Boolean Read bInitialized;
  41.       //@PropertiesPublicStart
  42.       Property SomeCaption: String Read bSomeCaption Write bSomeCaption;
  43.       Property SomeInt: Integer Read bSomeInt Write bSomeInt;
  44.       //@PropertiesPublicStop
  45.  
  46.       //@LoadPluralDeclareStart
  47.       //@LoadPluralDeclareStop
  48.  
  49.       //@AddGetRemovePluralDeclareStart
  50.       //@AddGetRemovePluralDeclareStop
  51.      
  52.       Procedure Validate(Const aCommit: Boolean = FALSE);
  53.       Function Save(Const aOwnerID: Integer; Const aOwnerTable,
  54.         aOwnerName: String; Const aQuery: BQueryClass): Boolean;
  55.       Procedure Load(Const aOwnerID: Integer; Const aOwnerTable,
  56.         aOwnerName: String; Const aQuery: BQueryClass);
  57.       Function Clone: BPeaValueHolderClass;
  58.       //@InitializeDeclareStart
  59.       Procedure Initialize(Const aSomeCaption: String; Const
  60.         aSomeInt: Integer);
  61.       //@InitializeDeclareStop
  62.       Constructor Build(Const aPeaValue: BPeaValueClass);
  63.       Destructor Burn;
  64. End;
  65.  
  66. Implementation
  67.  
  68. Const
  69.   SQL_ID = 'ID';
  70.   SQL_PRIOR = 'PRIOR';
  71.   SQL_NEXT = 'NEXT';
  72.   SQL_DELETED = 'DELETED';
  73.   SQL_DELETED_NOT = 'DELETED = 0';
  74.   SQL_ID_MATCH = 'ID = :ID';
  75.   //@ConstStart
  76.   SQL_NAME_MATCH = 'PEAVALUEHOLDER = :PEAVALUEHOLDER';
  77.   SQL_NAME = 'PEAVALUEHOLDER';
  78.   SQL_HOLDING_NAME = 'PEAVALUE';
  79.   SQL_SOME_CAPTION = 'SOME_CAPTION';
  80.   SQL_SOME_INT = 'SOME_INT';
  81.   //@ConstStop
  82.  
  83.  { BPeaValueHolderClass }
  84.  
  85. Procedure BPeaValueHolderClass.Load(Const aObject: BPeaValueHolderClass);
  86. Begin
  87.   //@LoadStart
  88.   Initialize( aObject.SomeCaption, aObject.SomeInt);
  89.   //@LoadStop
  90. End;
  91.  
  92. Procedure BPeaValueHolderClass.InitializeObjects;
  93. Begin
  94.   If Not(bInitialized) Then
  95.     Begin
  96.       //@InitializeObjectsStart
  97.       bClassID := 105;
  98.       //@InitializeObjectsStop
  99.       bInitialized := TRUE;
  100.     End;
  101. End;
  102.  
  103. //@LoadPluralStart
  104. //@LoadPluralStop
  105.  
  106. //@AddGetRemovePluralStart
  107. //@AddGetRemovePluralStop      
  108.  
  109. Procedure BPeaValueHolderClass.Validate(Const aCommit: Boolean);
  110. Begin
  111.   Raise BExceptionClass.Build(1, 'Not specific validation terms');
  112. End;
  113.  
  114. //@PluralSavesStart
  115. //@PluralSavesStop
  116.  
  117. Function BPeaValueHolderClass.Save(Const aOwnerID: Integer; Const aOwnerTable,
  118.   aOwnerName: String; Const aQuery: BQueryClass): Boolean;
  119. Var
  120.   i: Integer;
  121.   aSQL: BSQLClass;
  122. Begin
  123.   Validate(TRUE);
  124.   aSQL := BSQLClass.Build;
  125.   Try
  126.     //@SaveStart
  127.  
  128.     aSQL := BSQLClass.Build;
  129.     aSQL.Builder.Insert(aOwnerTable).AddParam(aOwnerName).AddParam(
  130.       SQL_HOLDING_NAME).AddParam(SQL_SOME_CAPTION).AddParam(SQL_SOME_INT);
  131.     aSQL.AddParam(aOwnerName, aOwnerID);
  132.     aSQL.AddParam(SQL_HOLDING_NAME, PeaValue.ID);
  133.     Result := aQuery.Post(aSQL);
  134.     //@SaveStop
  135.   Finally
  136.     aSQL.Burn;
  137.   End;
  138. End;
  139.  
  140. Procedure BPeaValueHolderClass.Load(Const aOwnerID: Integer; Const aOwnerTable,
  141.   aOwnerName: String; Const aQuery: BQueryClass);
  142. Var
  143.   i: Integer;
  144.   aSQL: BSQLClass;
  145. Begin
  146.   aSQL := BSQLClass.Build;
  147.   Try
  148.     //@LoadHolderStart
  149.     //@LoadHolderStop
  150.   Finally
  151.     aSQL.Burn;
  152.   End;    
  153. End;
  154.  
  155. Function BPeaValueHolderClass.Clone: BPeaValueHolderClass;
  156. Begin
  157.   Result := BPeaValueHolderClass(PeaValue);
  158.   //@CloneStart
  159.   //@CloneStop
  160. End;
  161.  
  162. //@InitializeStart
  163. Procedure BPeaValueHolderClass.Initialize(Const aSomeCaption: String;
  164.   Const aSomeInt: Integer);
  165. Begin
  166.   InitializeObjects;
  167.   bSomeCaption := aSomeCaption;
  168.   bSomeInt := aSomeInt;
  169.   Validate;
  170. End;
  171. //@InitializeStop
  172.  
  173. Constructor BPeaValueHolderClass.Build(Const aPeaValue: BPeaValueClass);
  174. Begin
  175.   bPeaValue := aPeaValue;
  176.   bID := PeaValue.ID;
  177.   bInitialized := FALSE;
  178.   bClassID := -1;
  179. End;
  180.  
  181. Destructor BPeaValueHolderClass.Burn;
  182. Begin
  183.   //@BurnStart
  184.   //@BurnStop
  185. End;
  186.  
  187. End.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement