Method QER.Customizer.CreateObjectDelegate is not available in ver 9

Hi all,

 Got a problem with the method QER.Customizer.CreateObjectDelegate which is defined in QER.Customizer.dll

In One Identity ver 8.1.5 we have a script that uses this method for some reason. And we plan to upgrade to One Identity ver. 9.

During the upgrade we have got that error that the mentioned script cannot be compiled because of unavailability of the method QER.Customizer.CreateObjectDelegate

Do you people have any ideas on that? Is the method no longer supported? Is there any replacement method?

P.S. sorry for my bad English.. I wrote "gays" instead of  "guys". That was just a typo. Very sorry

  • Do you gays have any ideas on that? Thanks for the name calling Sargay!

  • I would like to hear the use case for the usage of these. They have been removed in version 8.2 because the usage of this method didn't work well in combination with the application server and the new iEntity interface.

    There are new implementations for the following method (as far as I know taking Func<IEntity, IEntity, bool> instead of a CreateObjectDelegate.

    • Person.OrderShoppingCart
    • Person.LoadShoppingCartPattern
    • AttestationPolicy.CreateAttestations

    I hope that helps.

  • Hi Markus,

    we have a script which we inherited from the previous team, and the script should be refactored for sure.

    The script creates new AttestationCase records by calling method "CreateAttestations" on an AttestationPolicy record.  When calling, it passes a handler as the parameter, and the handler is a QER.Customizer.CreateObjectDelegate object that has a method to fill-in the created AttestationCase records with additional values to ObjectKey1, ObjectKey2, ObjectKey3 columns

  • Understood. This definitely needs to be refactored to use the new methods mentioned above.

  • Thank you very much for your help. Very appreciated,
    Last question: Where can we find the info about the method or even examples of the method usage?

  • In the installation zip you have the folder modules\qbm\documentation\en-US with the compiled HTML file for the object layer. I never found it of any use, you get more mileage out of installing dotPeek (www.jetbrains.com) and check where in the code base the relevant methods are called.

  • For everyone, finally we managed to solve the problem.

    In ver 8.1.5 we used a script to create new attestation cases (from attestation policies) and used code to fill-in the newly created attestation policies with additional data

    
    
    Dim attestationPolicy As ISingleDbObject = Connection.CreateSingle("AttestationPolicy", uidAttestationPolicy)
    Dim helper As CCC_HelperClass = New CCC_HelperClass(param1, param2, param3)
    Dim callback As QER.Customizer.CreateObjectDelegate = QER.Customizer.CreateObjectDelegate(AddressOf helper.HelperMethod)
    attestationPolicy.Custom.CallMethod("CreateAttestations", whereClause, callback)

    In ver 9.0 we had to re-design the script as following

    Dim attestationPolicy As ISingleDbObject = Connection.CreateSingle("AttestationPolicy", uidAttestationPolicy)
    Dim callback As Func(Of IEntity, IEntity, Boolean) = Function(attestationCase As IEntity, attestingObject As IEntity) HelperFunction(attestationCase, attestingObject, param1, param2, param3)
    attestationPolicy.Custom.CallMethod("CreateAttestations", whereClause, callback)