using Abp.Dependency; using Abp.Extensions; namespace Abp.Auditing { /// /// Default implementation of . /// public class DefaultAuditInfoProvider : IAuditInfoProvider, ITransientDependency { public IClientInfoProvider ClientInfoProvider { get; set; } public DefaultAuditInfoProvider() { ClientInfoProvider = NullClientInfoProvider.Instance; } public virtual void Fill(AuditInfo auditInfo) { if (auditInfo.ClientIpAddress.IsNullOrEmpty()) { auditInfo.ClientIpAddress = ClientInfoProvider.ClientIpAddress; } if (auditInfo.BrowserInfo.IsNullOrEmpty()) { auditInfo.BrowserInfo = ClientInfoProvider.BrowserInfo; } if (auditInfo.ClientName.IsNullOrEmpty()) { auditInfo.ClientName = ClientInfoProvider.ComputerName; } } } }