Exemple #1
0
 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;
     }
 }
Exemple #3
0
 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;
 }
Exemple #4
0
 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);
 }
Exemple #5
0
 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);
 }
Exemple #6
0
        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);
        }
Exemple #7
0
 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
     });
 }
Exemple #8
0
        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();
 }