/// <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); }
/// <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; } }
/// <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; }