private ChangeInfo GetChangeInfoForEntry(DbEntityEntry entry) { var changeInfo = new ChangeInfo { EntityName = ObjectContext.GetObjectType(entry.Entity.GetType()).Name, ProperyChangeInfo = new Dictionary <string, ChangePair>(), TargetId = ((IAuditEntity)entry.Entity).Id }; List <string> propertyNames = new List <string>(); if (entry.State == EntityState.Deleted) { propertyNames.AddRange(entry.OriginalValues.PropertyNames); } else { propertyNames.AddRange(entry.CurrentValues.PropertyNames); } foreach (var pn in propertyNames) { if (!IsAuditRequired(entry, pn)) { continue; } var changePair = new ChangePair(); switch (entry.State) { case EntityState.Added: changePair.NewValue = entry.CurrentValues[pn].ToString(); break; case EntityState.Modified: changePair.OldValue = entry.OriginalValues[pn].ToString(); changePair.NewValue = entry.CurrentValues[pn].ToString(); if (changePair.OldValue == changePair.NewValue) { continue; } break; case EntityState.Deleted: changePair.OldValue = entry.OriginalValues[pn].ToString(); break; default: throw new ApplicationException("Invalid internal model state."); } changeInfo.ProperyChangeInfo.Add(pn, changePair); } return(changeInfo); }
public static ChangePair CreateFullMarkerReplacement(string fromMarkerNoSlash, string toMarkerNoSlash) { string from = @"\" + fromMarkerNoSlash + " "; string to = @"\" + toMarkerNoSlash + " "; ChangePair p = new ChangePair(Method.Replace, from, to); return(p); }
/// <summary> /// /// </summary> /// <exception cref="ArgumentException">if the regex doesn't parse</exception> public static ChangePair CreateReplacementFromTweak(string from, string to) { ChangePair p = new ChangePair(from, to); return p; }
public static ChangePair CreateFullMarkerReplacement(string fromMarkerNoSlash, string toMarkerNoSlash) { string from = @"\\" + fromMarkerNoSlash + @"\s+"; string to = @"\" + toMarkerNoSlash + " "; ChangePair p = new ChangePair(from, to); return p; }
/// <summary> /// /// </summary> /// <exception cref="ArgumentException">if the regex doesn't parse</exception> public static ChangePair CreateReplacementFromTweak(string from, string to) { ChangePair p = new ChangePair(Method.Regex, from, to); return(p); }