public void SaveCurrentState() { if (IsSaveCurrentState) { return; } else { OldValues.Clear(); IsSaveCurrentState = true; } foreach (var item in Items) { if (item is IResettable r && !ResetExeclusions.Contains(r)) { r.SaveCurrentState(); } } foreach (var item in InternalDictionary) { if (!PropertyResetExeclusions.Contains(item.Key) && item.Value.Value is IResettable ro && !ResetExeclusions.Contains(ro)) { ro.SaveCurrentState(); } } IsSaveCurrentState = false; }
/// <summary> /// Loads the old values. /// </summary> private void loadOldValues() { if (isInLoad) { return; } isInLoad = true; try { OldValues.Clear(); var session = ((ISessionProvider)TargetObject).Session; var classInfo = session.GetClassInfo(TargetObject); foreach (var member in classInfo.Members) { if (!(member is ServiceField) && !member.IsCollection && !TrackedObjectBag.SessionData.Collector.IsNotForProtocol(classInfo.ClassType) && !TrackedObjectBag.SessionData.Collector.IsNotForProtocol(classInfo.ClassType, member.Name) && !member.Owner.ClassType.IsAssignableFrom(typeof(XPBaseObject))) { OldValues.Add(member.Name, member.GetValue(TargetObject)); } } } finally { isInLoad = false; } }
public void Reset() { if (IsReset) { return; } else { foreach (var item in OldValues) { if (item.Key == nameof(Count)) { continue; } SetPropertyValue(item.Value, item.Key); } OldValues.Clear(); IsReset = true; } foreach (var item in Items) { if (item is IResettable r && !ResetExeclusions.Contains(r)) { r.Reset(); } } foreach (var item in InternalDictionary) { if (!PropertyResetExeclusions.Contains(item.Key) && item.Value.Value is IResettable ro && !ResetExeclusions.Contains(ro)) { ro.Reset(); } } IsReset = false; }
private void ResettableValueCollection_PropertyChanging(object sender, System.ComponentModel.PropertyChangingEventArgs e) { if (OldValues.ContainsKey(e.PropertyName) || PropertyResetExeclusions.Contains(e.PropertyName)) { return; } OldValues[e.PropertyName] = GetPropertyValue(e.PropertyName); }
private void ResettableObject_PropertyChanging(object sender, PropertyChangingEventArgs e) { if (OldValues.ContainsKey(e.PropertyName) || PropertyResetExeclusions.Contains(e.PropertyName)) { return; } //store old value in OldValues OldValues[e.PropertyName] = GetPropertyValue(e.PropertyName); }
protected override void ExecuteTask() { this.OldValuesArray = (OldValue != null) ? new[] { OldValue } : OldValues.Split(','); this.NewValuesArray = (NewValue != null) ? new[] { NewValue } : NewValues.Split(','); if (OldValuesArray.Length != NewValuesArray.Length) { throw new ArgumentException("OldValues.Length != NewValues.Length"); } var dirInfo = new DirectoryInfo(this.BaseDir); WalkDirectory(dirInfo); }
public AuditLog AsAuditLog() { return(new AuditLog() { Id = Guid.NewGuid().ToString("N"), TableName = TableName, CreatedBy = string.Empty, CreatedDate = DateTime.Now, NewValues = NewValues.Any() ? JsonConvert.SerializeObject(NewValues) : null, OldValues = OldValues.Any() ? JsonConvert.SerializeObject(OldValues) : null, ExtraData = ExtraData.Any() ? JsonConvert.SerializeObject(ExtraData) : null, OperationType = (int)OperationType }); }
public Audit ToAudit(IUserService userService, ReflmgContext refContext) { var audit = new Audit(); audit.TableName = TableName; audit.OperationType = OperationType; audit.OperationDate = DateTime.UtcNow; var userLogin = userService?.GetCurrentDbUser(); Contributeur user = refContext.Contributeur.FirstOrDefault(p => p.Login == userLogin); if (user == null) { audit.UserName = userLogin; } else { audit.UserName = user.Prenom + " " + user.Nom; } audit.RecordKey = int.Parse(KeyValues.First().Value.ToString()); audit.RecordName = RecordName; List <AuditEntryDetail> detail = new List <AuditEntryDetail>(); OldValues.Keys.Union(NewValues.Keys).Distinct().ToList() .ForEach(key => detail.Add(new AuditEntryDetail() { Field = key })); foreach (var item in detail) { item.NewValue = NewValues.ContainsKey(item.Field) ? NewValues[item.Field] : null; item.OldValue = OldValues.ContainsKey(item.Field) ? OldValues[item.Field] : null; AuditDetail auditDetail = new AuditDetail(); auditDetail.Field = item.Field; auditDetail.NewValue = item.NewValue?.ToString(); auditDetail.OldValue = item.OldValue?.ToString(); audit.AuditDetail.Add(auditDetail); } return(audit); }
/// <summary> /// Closes this instance. /// </summary> public void Close() { unSubscribeFromCollectionChanges(); OldValues.Clear(); }