Codeblock Onlinehilfe

TBeAlternativeUserBusinessController

TBeAlternativeUserBusinessController

Die Klasse TBeAlternativeUserBusinessController kapselt alle Funktionalitäten die zum Anlegen von Einträgen in den alternativen Logins benötigt werden.

Eigenschaften

Eigenschaft

Beschreibung

CbDataModule:O

Datenmodul auf dem der BusinessController arbeitet.

Name:C


Tag:N


Methoden

Methode

Beschreibung

CbInsert_AlternativeUser(aAlternativeUserBO:O)

Erstelle den im übergebenen BO einen neuen alternativen Login und verbleibt im Bearbeitungs-Modus

CbEdit_AlternativeUser(aAlternativeUserBO:O)

Bearbeiten eines existierenden im übergebenen BO positionierten alternativen Login.

CbDelete_AlternativeUser(aAlternativeUserBO:O, aPermissionSubjectBO:O, aPermissionRoleBO:O, aPermissionRoleAssignmentBO:O)

Entfernt den im übergebenen BO positionierten alternativen Login

CbPost_AlternativeUser(aAlternativeUserBO:O, aPermissionSubjectBO:O, aPermissionRoleBO:O, aPermissionRoleAssignmentBO:O)

Speichern den alternativen Login im übergebenen und im Neuanlage-/Bearbeitungsmodus befindlichen BO.

CbCancel_AlternativeUser(aAlternativeUserBO:O)

Neuanlage/Bearbeitung eines alternativen Logins abbrechen.

Beispiel

| nAlternativeID |

nAlternativeID := -1, // Benutzer im negativen Bereich sollten nicht existieren

//******************************************************************************
function AddAlternativeLogin(cLoginName, cPassword, cType, nAssociation, cUserNo)
| oBO, oBC, oDM, oBSC, oPRO, oPAO |

   oBO  := CreateObject('TBeAlternativeUserBO'),
   oBC  := CreateObject('TBeAlternativeUserBusinessController'),
   oDM  := CreateObject('TBeDBGet'),
   oBSC := CreateObject('TBePermissionSubjectBO'),
   oPRO := CreateObject('TBePermissionRoleBO'),
   oPAO := CreateObject('TBePermissionRoleAssignmentBO'),

   startseq
      oBC.CbDataModule := oDM,
      DBStartTrans(oDM.ADSConnection),

      oBC.CbInsert_AlternativeUser(oBO),
      // Name und Password sind Case-Sensitive
      oBO.CbLogonName := cLoginName,
      oBO.CbUserNoStr := cUserNo,
      // Es ist nur möglich sich diesem Hash verfahren einzuloggen (WEB-Tech)
      oBO.CbPasswordEncrypted := GeneratePasswordHash(cPassword, ccmHex, hfSHA512),
      oBO.CbLoginType := cType,
      oBO.CbCustomerNo := nAssociation,

      oBC.CbPost_AlternativeUser(oBO, oBSC, oPRO, oPAO),
      DBCommit(oDM.ADSConnection),
      nAlternativeID := oBO.CbID,
      writeln(nAlternativeID),
   always
      if DBInTrans(oDM.ADSConnection) then
         DBRollback(oDM.ADSConnection),
      endif,

      DestroyObject(oPAO),
      DestroyObject(oPRO),
      DestroyObject(oBSC),
      DestroyObject(oDM),
      DestroyObject(oBC),
      DestroyObject(oBO),
   stopseq,
end,

function EditAlternativeLogin(nId, cPassword)
| oBO, oBC, oDM, oBSC, oPRO, oPAO |

   oBO  := CreateObject('TBeAlternativeUserBO'),
   oBC  := CreateObject('TBeAlternativeUserBusinessController'),
   oDM  := CreateObject('TBeDBGet'),
   oBSC := CreateObject('TBePermissionSubjectBO'),
   oPRO := CreateObject('TBePermissionRoleBO'),
   oPAO := CreateObject('TBePermissionRoleAssignmentBO'),

   startseq
      oBC.CbDataModule := oDM,
      DBStartTrans(oDM.ADSConnection),
      oBO.CbGoToId(nId),

      oBC.CbEdit_AlternativeUser(oBO),

      // Es ist nur möglich sich diesem Hash verfahren einzuloggen (WEB-Tech)
      oBO.CbPasswordEncrypted := GeneratePasswordHash(cPassword, ccmHex, hfSHA512),
      oBC.CbPost_AlternativeUser(oBO, oBSC, oPRO, oPAO),
      DBCommit(oDM.ADSConnection),
   always
      if DBInTrans(oDM.ADSConnection) then
         DBRollback(oDM.ADSConnection),
      endif,

      DestroyObject(oPAO),
      DestroyObject(oPRO),
      DestroyObject(oBSC),
      DestroyObject(oDM),
      DestroyObject(oBC),
      DestroyObject(oBO),
   stopseq,
end,

//******************************************************************************
function DeleteAlternativeLogin(nId)
| oBO, oBC, oDM, oBSC, oPRO, oPAO |

   oBO  := CreateObject('TBeAlternativeUserBO'),
   oBC  := CreateObject('TBeAlternativeUserBusinessController'),
   oDM  := CreateObject('TBeDBGet'),
   oBSC := CreateObject('TBePermissionSubjectBO'),
   oPRO := CreateObject('TBePermissionRoleBO'),
   oPAO := CreateObject('TBePermissionRoleAssignmentBO'),

   startseq
      oBC.CbDataModule := oDM,
      DBStartTrans(oDM.ADSConnection),
      oBO.CbGoToId(nId),

      oBC.CbDelete_AlternativeUser(oBO, oBSC, oPRO, oPAO),

      //oBC.CbPost_AlternativeUser(oBO),
      DBCommit(oDM.ADSConnection),
   always
      if DBInTrans(oDM.ADSConnection) then
         DBRollback(oDM.ADSConnection),
      endif,

      DestroyObject(oPAO),
      DestroyObject(oPRO),
      DestroyObject(oBSC),
      DestroyObject(oDM),
      DestroyObject(oBC),
      DestroyObject(oBO),
   stopseq,
end,

// Create an alternative login for Customer 10000001
AddAlternativeLogin('ALD_USER1', 'be32', '30', 10000001, '65'),

// Updates with a new password
EditAlternativeLogin(nAlternativeID, 'be64'),

DeleteAlternativeLogin(nAlternativeID),

Weitere Verknüpfungen