/// <summary>
 /// Log actions in the store asynchronously.
 /// </summary>
 /// <param name="action">Identifies the action being performed (such as add, modift, or delete).</param>
 /// <param name="applicationId">The id of the application performing the action.</param>
 /// <param name="userIdentifier">Identifying properties of the user.</param>
 /// <param name="itemsInfo">A dictionary that contains information about the items to be audited.</param>
 /// <param name="items">The items to be audited.</param>
 /// <param name="notes">Additional information for the action being audited.</param>
 public void QueueLogAuditAction(AppAuditAction action, int applicationId, ItemIdentifier userIdentifier, IDictionary <Type, AppAuditItemInfo> itemsInfo, IEnumerable <object> items, string notes)
 {
     QueueBackgroundAction(() => AuditLogger.LogActions(action, applicationId, userIdentifier, itemsInfo, items, notes));
 }
 /// <summary>
 /// Log multiple actions in the store.
 /// </summary>
 /// <param name="action">Identifies the action being performed (such as add, modift, or delete).</param>
 /// <param name="applicationId">The id of the application performing the action.</param>
 /// <param name="userIdentifier">Identifying properties of the user.</param>
 /// <param name="itemsInfo">A dictionary that contains information about the items to be audited.</param>
 /// <param name="items">The items to be audited.</param>
 /// <param name="notes">Additional information for the action being audited.</param>
 public void LogActions(AppAuditAction action, int applicationId, ItemIdentifier userIdentifier, IDictionary <Type, AppAuditItemInfo> itemsInfo, IEnumerable <object> items, string notes)
 {
     LogActions((short)action, applicationId, userIdentifier, itemsInfo, items, notes);
 }
 /// <summary>
 /// Log an action in the store asynchronously.
 /// </summary>
 /// <param name="action">Identifies the action being performed (such as add, modift, or delete).</param>
 /// <param name="applicationId">The id of the application performing the action.</param>
 /// <param name="userId">Integer id, if any, of the user performing the action.</param>
 /// <param name="userGuid">Guid id, if any, of the user performing the action.</param>
 /// <param name="userInfo">App defined id info (such as compound database primary key) identifying the user performing the action.</param>
 /// <param name="itemType">App defined id for the table or set of information being audited.</param>
 /// <param name="itemId">Integer id, if any, of the item being audited.</param>
 /// <param name="itemGuid">Guid id, if any, of the item being audited.</param>
 /// <param name="itemInfo">App defined id info (such as compound database primary key) identifying the item being audited.</param>
 /// <param name="notes">Additional information for the action being audited.</param>
 public void QueueLogAuditAction(AppAuditAction action, int applicationId, int?userId, Guid?userGuid, string userInfo, int?itemType, int?itemId, Guid?itemGuid, string itemInfo, string notes)
 {
     QueueBackgroundAction(() => AuditLogger.LogAction(action, applicationId, userId, userGuid, userInfo, itemType, itemId, itemGuid, itemInfo, notes));
 }
 /// <summary>
 /// Log an action in the store.
 /// </summary>
 /// <param name="action">Identifies the action being performed (such as add, modift, or delete).</param>
 /// <param name="applicationId">The id of the application performing the action.</param>
 /// <param name="userId">Integer id, if any, of the user performing the action.</param>
 /// <param name="userGuid">Guid id, if any, of the user performing the action.</param>
 /// <param name="userInfo">App defined id info (such as compound database primary key) identifying the user performing the action.</param>
 /// <param name="itemType">App defined id for the table or set of information being audited.</param>
 /// <param name="itemId">Integer id, if any, of the item being audited.</param>
 /// <param name="itemGuid">Guid id, if any, of the item being audited.</param>
 /// <param name="itemInfo">App defined id info (such as compound database primary key) identifying the item being audited.</param>
 /// <param name="notes">Additional information for the action being audited.</param>
 public void LogAction(AppAuditAction action, int applicationId, int?userId, Guid?userGuid, string userInfo, int?itemType, int?itemId, Guid?itemGuid, string itemInfo, string notes)
 {
     LogAction((short)action, applicationId, userId, userGuid, userInfo, itemType, itemId, itemGuid, itemInfo, notes);
 }