Audit Result interface

Modified on Tue, 20 Feb 2024 at 09:57 PM

This is a detailed topic in our support portal in the Using Hopp series and assumes that you have some prior knowledge or experience using Hopp.


The previous article went through how to implement an Auditor to collect audit data from the results of either the Source Engine or the Target Engine when it has processes a Business Entity. These auditors hand back the collected audit data to the Runtime that will store it next to the Business Entity it self. The Runtime will take care of all the necessary housekeeping toi keep things consistent - even when the migration of the Business Entities are iterated as a natural part of the migration progress, 


So far so good. This article deals with how to get the audit data unloaded from the Runtime so it can take part in your over all reconciliation.


The Audit unload is initiated on request from the Administration / Manage panel in the Portal Operations:


 

 When the Audit Unload job is submitted, it will retrieve the collected audit data for all Business Entities and hand to an extension class that derives from the public abstract interface class AuditResult:


[ExtensionType(ExtensionType.AuditResult)]
public abstract class AuditResult : ExtensionBase<IAuditResultContext>
{
  public abstract void Enumerate(IEnumerable<IAuditResultItem> items);
}

When inplementing an AuditResult extension class, you must override the abstract Enumerate method. This method receives an IEnumerable of IAuditResultItem, one for each Business Entity:


public interface IAuditResultItem
{
  long ItemId { get; }
  Guid EntityID { get; }
  string Name { get; }
  Guid BusinessEntityID { get; }
  string BusinessEntityName { get; }
  string PartitionValue { get; }
  string SourceKey { get; }
  string MigrationKey { get; }
  bool ExportSucceeded { get; }
  bool ImportSucceeded { get; }
  string SourceAuditData { get; }
  string TargetAuditData { get; }
}
ItemIdThe numeric id of the Business Entity instance in the Hopp migration
EntityIDThe Guid of the Business Entity in the Source Map
NameThe name of the Business Entity in the Source Map - or null if the entity was not named
BusinessEntityIDThe Guid of the Business Entity in the Target Map
BusinessEntityNameThe name of the Business Entity in the Target Map 
PartitionValueThe PartitionValue this Business Entity instance belongs to
SourceKeyThe source key of the Business Entity instance. This is the Discriminator fields of the extraction map 
MigrationKeyThe migration key of the Business Entity instance. This is the Interface Fields marked as keys in the Target Map
ExportSucceeded
False if the Source Engine discarded the instance
ImportSucceeded
False if the Target Engine discarded the iinstance
SourceAuditDataThe string data returned by the Source Auditor for the instance - or null if no data returned
TargetAuditDataThe string data returned by the Target Auditor for the instance - or null if no data returned






  

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select atleast one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article