internal string GetAuditNoteForEntity(AbstractPostDatabaseOperationEvent @event, IEnumerable<int> propertyIndexesToAudit, IEntityAuditStrategy entityAuditStrategy) { var noteBulder = new StringBuilder(); var persister = @event.Persister as AbstractEntityPersister; foreach (int propertyIndexToAudit in propertyIndexesToAudit) { var propertyType = @event.Persister.PropertyTypes[propertyIndexToAudit]; if (propertyType is CollectionType) { continue; } var componentType = propertyType as ComponentType; string note; if (componentType != null) { note = entityAuditStrategy.GetAuditNoteForComponentProperty(persister, componentType, propertyIndexToAudit); } else { string propertyName = @event.Persister.PropertyNames[propertyIndexToAudit]; if ((@event.Entity is IEntity && EntityPropertyList.Contains(propertyName)) || (@event.Entity is IAuditable && AuditablePropertyList.Contains(propertyName))) { continue; } string columnName = string.Join(",", persister.GetPropertyColumnNames(propertyName)); note = entityAuditStrategy.GetAuditNoteForNonComponentProperty(columnName, propertyIndexToAudit); } if (!string.IsNullOrWhiteSpace(note)) { noteBulder.AppendLine(note); } } string noteResult = noteBulder.ToString().Trim(); return noteResult; }
internal string GetAuditNoteForEntity(AbstractPostDatabaseOperationEvent @event, IEnumerable <int> propertyIndexesToAudit, IEntityAuditStrategy entityAuditStrategy) { var noteBulder = new StringBuilder(); var persister = @event.Persister as AbstractEntityPersister; foreach (int propertyIndexToAudit in propertyIndexesToAudit) { var propertyType = @event.Persister.PropertyTypes[propertyIndexToAudit]; if (propertyType is CollectionType) { continue; } var componentType = propertyType as ComponentType; string note; if (componentType != null) { note = entityAuditStrategy.GetAuditNoteForComponentProperty(persister, componentType, propertyIndexToAudit); } else { string propertyName = @event.Persister.PropertyNames[propertyIndexToAudit]; if ((@event.Entity is IEntity && EntityPropertyList.Contains(propertyName)) || (@event.Entity is IAuditable && AuditablePropertyList.Contains(propertyName))) { continue; } string columnName = string.Join(",", persister.GetPropertyColumnNames(propertyName)); note = entityAuditStrategy.GetAuditNoteForNonComponentProperty(columnName, propertyIndexToAudit); } if (!string.IsNullOrWhiteSpace(note)) { noteBulder.AppendLine(note); } } string noteResult = noteBulder.ToString().Trim(); return(noteResult); }