예제 #1
0
            public AuditEntry CreateAuditEntry(string auditUserName, string auditIP)
            {
                if (this.fieldChanges.Count == 0)
                {
                    return(null);
                }

                AuditEntry          newAuditEntry = new AuditEntry();
                ImplementationGuide ig            = this.entity as ImplementationGuide;
                Template            template      = this.entity as Template;
                TemplateConstraint  constraint    = this.entity as TemplateConstraint;

                if (this.changeState != EntityState.Deleted)
                {
                    this.SetIds();
                }

                string note = string.Format("{0}: {1} ({2})",
                                            this.changeState,
                                            this.GetUniqueId(this.entity),
                                            String.Join(", ", this.fieldChanges));

                newAuditEntry.ImplementationGuideId = this.implementationGuideId;
                newAuditEntry.TemplateId            = this.templateId;
                newAuditEntry.TemplateConstraintId  = this.constraintId;
                newAuditEntry.Note      = note;
                newAuditEntry.IP        = auditIP;
                newAuditEntry.Username  = auditUserName;
                newAuditEntry.AuditDate = DateTime.Now;
                newAuditEntry.Type      = this.entity.GetType().Name;

                return(newAuditEntry);
            }
예제 #2
0
        private bool AddAudits()
        {
            bool savedAudits = false;

            foreach (TempAuditEntry tempAuditEntry in this.auditRecords)
            {
                AuditEntry newAuditEntry = tempAuditEntry.CreateAuditEntry(this.auditUserName, this.auditIP);

                if (newAuditEntry != null)
                {
                    this.AuditEntries.AddObject(newAuditEntry);
                    savedAudits = true;
                }
            }

            this.auditRecords.Clear();

            return(savedAudits);
        }
예제 #3
0
        private bool AddAudits()
        {
            bool savedAudits     = false;
            var  changedEntities = this.ChangeTracker.Entries().Where(y =>
                                                                      y.State == EntityState.Added ||
                                                                      y.State == EntityState.Modified ||
                                                                      y.State == EntityState.Deleted)
                                   .ToList();

            foreach (var changedEntity in changedEntities)
            {
                if (!AuditEntry.IsAuditable(changedEntity.Entity))
                {
                    continue;
                }

                this.AuditEntries.Add(new AuditEntry(changedEntity.Entity, changedEntity.CurrentValues, changedEntity.OriginalValues));

                savedAudits = true;
            }

            return(savedAudits);
        }