private static Dictionary<string, object> RecordToDictionary(DbDataRecord record) { var dictionary = new Dictionary<string, object>(); for (var i = 0; i < record.FieldCount; i++) dictionary.Add(record.GetName(i), record[i]); return dictionary; }
public static void AuditEntityDeleted(AuditEntry entry, DbDataRecord record, string prefix = "") { for (var i = 0; i < record.FieldCount; i++) { var name = record.GetName(i); var value = record.GetValue(i); var valueRecord = value as DbDataRecord; if (valueRecord != null) { // Complex Type AuditEntityDeleted(entry, valueRecord, string.Concat(prefix, name, ".")); } else { entry.Properties.Add(new AuditEntryProperty(string.Concat(prefix, name), value, null)); } } }
public static void AuditEntityModified(Audit audit, AuditEntry entry, DbDataRecord orginalRecord, DbUpdatableDataRecord currentRecord, string prefix = "") { for (var i = 0; i < orginalRecord.FieldCount; i++) { var name = orginalRecord.GetName(i); var originalValue = orginalRecord.GetValue(i); var currentValue = currentRecord.GetValue(i); var valueRecord = originalValue as DbDataRecord; if (valueRecord != null) { // Complex Type AuditEntityModified(audit, entry, valueRecord, currentValue as DbUpdatableDataRecord, string.Concat(prefix, name, ".")); } else { if (audit.Configuration.IncludePropertyUnchanged || !Equals(currentValue, originalValue)) { entry.Properties.Add(new AuditEntryProperty(string.Concat(prefix, name), originalValue, currentValue)); } } } }
private static IEnumerable<string> GetColumnNames(DbDataRecord record) { // Get all of the column names for this query for (int i = 0; i < record.FieldCount; i++) { yield return record.GetName(i); } }