/// <summary> /// Sets the user data to flowed user. /// </summary> /// <param name="auditEvent">The audit event.</param> /// <exception cref="InvalidOperationException">No 'UserId' data item found in flowed data.</exception> internal static void SetUserDataToFlowedUser(AuditEvent auditEvent) { Contract.Requires(auditEvent != null); Guard.AgainstNullArgument(nameof(auditEvent), auditEvent); Contract.EndContractBlock(); var userId = AuditContext.GetPersistentDataOrDefault("UserId") as string; if (string.IsNullOrWhiteSpace(userId)) { throw new InvalidOperationException("No 'UserId' data item found in flowed data."); } auditEvent.UserId = userId; auditEvent.UserName = AuditContext.GetPersistentDataOrDefault("UserName") as string; auditEvent.UserEmail = AuditContext.GetPersistentDataOrDefault("UserEmail") as string; auditEvent.UserIdentity = AuditContext.GetPersistentDataOrDefault("UserIdentity") as string; }