예제 #1
0
 /// <summary>
 /// Add a custom field to the event.
 /// </summary>
 public void SetCustomField <TC>(string fieldName, TC value)
 {
     if (value == null)
     {
         return;
     }
     _event.CustomFields[fieldName] = _dataProvider.Serialize(value);
 }
예제 #2
0
 /// <summary>
 /// Replaces the target object getter whose old/new value will be stored on the AuditEvent.Target property
 /// </summary>
 /// <param name="targetGetter">A function that returns the target</param>
 public void SetTargetGetter(Func <object> targetGetter)
 {
     _targetGetter = targetGetter;
     if (_targetGetter != null)
     {
         var targetValue = targetGetter.Invoke();
         _event.Target = new AuditTarget
         {
             SerializedOld = _dataProvider.Serialize(targetValue),
             Type          = targetValue?.GetType().GetFullTypeName() ?? "Object"
         };
     }
     else
     {
         _event.Target = null;
     }
 }
예제 #3
0
 /// <summary>
 /// Adds a custom field to the event
 /// </summary>
 /// <typeparam name="TC">The type of the value.</typeparam>
 /// <param name="fieldName">Name of the field.</param>
 /// <param name="value">The value object.</param>
 /// <param name="serialize">if set to <c>true</c> the field is serialized immediately.</param>
 public void SetCustomField <TC>(string fieldName, TC value, bool serialize = false)
 {
     _event.CustomFields[fieldName] = serialize ? _dataProvider.Serialize(value) : value;
 }