public IdentitySecurityLog(IGuidGenerator guidGenerator, SecurityLogInfo securityLogInfo) : base(guidGenerator.Create()) { TenantId = securityLogInfo.TenantId; TenantName = securityLogInfo.TenantName.Truncate(IdentitySecurityLogConsts.MaxTenantNameLength); ApplicationName = securityLogInfo.ApplicationName.Truncate(IdentitySecurityLogConsts.MaxApplicationNameLength); Identity = securityLogInfo.Identity.Truncate(IdentitySecurityLogConsts.MaxIdentityLength); Action = securityLogInfo.Action.Truncate(IdentitySecurityLogConsts.MaxActionLength); UserId = securityLogInfo.UserId; UserName = securityLogInfo.UserName.Truncate(IdentitySecurityLogConsts.MaxUserNameLength); CreationTime = securityLogInfo.CreationTime; ClientIpAddress = securityLogInfo.ClientIpAddress.Truncate(IdentitySecurityLogConsts.MaxClientIpAddressLength); ClientId = securityLogInfo.ClientId.Truncate(IdentitySecurityLogConsts.MaxClientIdLength); CorrelationId = securityLogInfo.CorrelationId.Truncate(IdentitySecurityLogConsts.MaxCorrelationIdLength); BrowserInfo = securityLogInfo.BrowserInfo.Truncate(IdentitySecurityLogConsts.MaxBrowserInfoLength); foreach (var property in securityLogInfo.ExtraProperties) { ExtraProperties.Add(property.Key, property.Value); } }