ReciprocalRoleName (Instance)

De Wiki1000
(Différences entre les versions)
m
m
Ligne 15 : Ligne 15 :
 
<source lang='delphi'>
 
<source lang='delphi'>
 
//Function _CreateCursorObjetsSession(aSession:TSessionImportation):TCursor;
 
//Function _CreateCursorObjetsSession(aSession:TSessionImportation):TCursor;
 +
//Création d'un curseur afin de retourner tous les objets de la session quelque
 +
//soit le type de la session et des objets de la session.
 
var
 
var
 
   vClassName : String;
 
   vClassName : String;
Ligne 25 : Ligne 27 :
 
   vCursor := ClassManager.CreateCursor(vCursorClass);
 
   vCursor := ClassManager.CreateCursor(vCursorClass);
 
   //En déduire l'attribut du rôle réciproque, dans notre cas oidSessionImportation
 
   //En déduire l'attribut du rôle réciproque, dans notre cas oidSessionImportation
   vCursor.Where := 'oid%' + aSession.ReciprocalRoleName(aRoleListName) +'=%1';
+
  //car nous avons un rôle liste ImportDonneeList et le rôle réciproque référençant le parent SessionImportation.
 +
   vCursor.Where := 'oid%' + aSession.ReciprocalRoleName('ImportDonneeList') +'=%1';
 
   vCursor.ArgCount := 1;
 
   vCursor.ArgCount := 1;
 
   vCursor.Args[1] := aSession.instanceoid;
 
   vCursor.Args[1] := aSession.instanceoid;

Version du 23 décembre 2011 à 15:21

function ReciprocalRoleName(const iRoleListName:string):string;

Cette fonction retourne le nom du rôle réciproque en fonction du nom du rôle liste

Result Le nom du rôle réciproque de la classe référencée par le rôle.
iRoleListName Un nom de rôle liste.

Exemple

//Function _CreateCursorObjetsSession(aSession:TSessionImportation):TCursor;
//Création d'un curseur afin de retourner tous les objets de la session quelque
//soit le type de la session et des objets de la session.
var
  vClassName : String;
  vCursor    : TCursor;
begin
  //Recherche du nom de la classe enfant
  vClassName := aSession.RoleClassName('ImportDonneeList');
 
  //Créer le curseur
  vCursor := ClassManager.CreateCursor(vCursorClass);
  //En déduire l'attribut du rôle réciproque, dans notre cas oidSessionImportation
  //car nous avons un rôle liste ImportDonneeList et le rôle réciproque référençant le parent SessionImportation.
  vCursor.Where := 'oid%' + aSession.ReciprocalRoleName('ImportDonneeList') +'=%1';
  vCursor.ArgCount := 1;
  vCursor.Args[1] := aSession.instanceoid;
  vCursor.Nolock := True;
  vCursor.Descendants := True;
 
  result := vCursor;   
end;

Voir aussi


Objets métiers (tech)Développement DSM

Outils personnels