Example #1
0
        private AuditRecordField GetEntryValueInString(ObjectStateEntry entry, bool isOrginal)
        {
            var auditTrailDetail = new AuditRecordField();
            //entry.CurrentValues
            //entry.OriginalValues.
            var rt = entry.GetModifiedProperties();

            if (entry.Entity is EntityObject)
            {
                foreach (string propName in entry.GetModifiedProperties())
                {
                }
            }
            return(auditTrailDetail);
        }
Example #2
0
        private AuditRecord LoadEntiyProperty(ObjectStateEntry entry, AuditRecord auditTrail)
        {
            //  var auditTrailDetail = new AuditTrailDetail();

            if (entry.State == EntityState.Added)
            {
                //entry is Added
                // continue and get property list
                var currentValues = entry.CurrentValues;
                for (var i = 0; i < currentValues.FieldCount; i++)
                {
                    IsCoreType(currentValues[i].GetType());
                    {
                        var auditTrailDetail = new AuditRecordField();
                        auditTrailDetail.MemberName = currentValues.DataRecordInfo.FieldMetadata[i].FieldType.Name;
                        auditTrailDetail.NewValue   = (currentValues[i].ToString());
                        auditTrail.AuditRecordFields.Add(auditTrailDetail);
                    }
                }
                auditTrail.Action = ChangeAction.Insert.ToString();
            }

            if (entry.State == EntityState.Modified)
            {
                //entry is deleted
                var currentValues = entry.CurrentValues;
                var editedvalues  = entry.OriginalValues;
                for (var i = 0; i < currentValues.FieldCount; i++)
                {
                    var auditTrailDetail = new AuditRecordField();
                    IsCoreType(currentValues[i].GetType());
                    {
                        auditTrailDetail.MemberName = currentValues.DataRecordInfo.FieldMetadata[i].FieldType.Name;
                        auditTrailDetail.NewValue   = (currentValues[i].ToString());
                        //auditTrail.AuditTrailDetails.Add(auditTrailDetail);
                    }
                    IsCoreType(editedvalues[i].GetType());
                    {
                        auditTrailDetail.OldValue = (editedvalues[i].ToString());
                    }
                    auditTrail.AuditRecordFields.Add(auditTrailDetail);
                }



                auditTrail.Action = ChangeAction.Update.ToString();
            }

            if (entry.State == EntityState.Deleted)
            {
                //entry is modified
                var deletedvalues = entry.OriginalValues;
                for (var i = 0; i < deletedvalues.FieldCount; i++)
                {
                    IsCoreType(deletedvalues[i].GetType());
                    {
                        var auditTrailDetail = new AuditRecordField();
                        auditTrailDetail.MemberName = deletedvalues.GetName(i);//.FieldMetadata[i].FieldType.Name;
                        auditTrailDetail.OldValue   = deletedvalues.GetValue(i).ToString();
                        auditTrail.AuditRecordFields.Add(auditTrailDetail);
                    }
                }

                auditTrail.Action = ChangeAction.Delete.ToString();
            }
            //auditTrail.AuditTrailDetails.Add(auditTrailDetail);
            return(auditTrail);
            //}
        }