示例#1
0
        private static bool GetDetailRow(DataRow r, AuditLogIdentity changeId)
        {
            DateTime d = DateTime.MinValue;

            if (r["RunDate"] != DBNull.Value)
            {
                d = (DateTime)r["RunDate"];
            }
            return(d == DateTime.ParseExact(changeId.StartDate, "yyyy/MM/dd HH:mm:ss", CultureInfo.InvariantCulture) && r["ObjectModified"].ToStringWithNull() == changeId.ObjectId && r["CmdletName"].ToStringWithNull() == changeId.Cmdlet);
        }
示例#2
0
        public static void PreGetObjectAction(DataRow inputrow, DataTable dataTable, DataObjectStore store)
        {
            AuditLogIdentity auditLogIdentity = new AuditLogIdentity((Identity)inputrow["Identity"]);

            inputrow["StartDate"] = auditLogIdentity.StartDate;
            inputrow["EndDate"]   = auditLogIdentity.EndDate;
            inputrow["Cmdlets"]   = auditLogIdentity.Cmdlet;
            inputrow["ObjectIds"] = auditLogIdentity.ObjectId;
            store.SetModifiedColumns(new List <string>(new string[]
            {
                "StartDate",
                "EndDate",
                "Cmdlets",
                "ObjectIds"
            }));
        }
示例#3
0
        public static void PostGetObjectAction(DataRow inputrow, DataTable dataTable, DataObjectStore store)
        {
            if (dataTable.Rows.Count == 0)
            {
                return;
            }
            DataRow dataRow;

            if (dataTable.Rows.Count > 1)
            {
                AuditLogIdentity changeId = new AuditLogIdentity((Identity)inputrow["Identity"]);
                List <DataRow>   list     = new List <DataRow>();
                foreach (object obj in dataTable.Rows)
                {
                    DataRow item = (DataRow)obj;
                    list.Add(item);
                }
                dataRow = list.FirstOrDefault((DataRow r) => AuditingLog.GetDetailRow(r, changeId));
                Array.ForEach <DataRow>(list.Except(new DataRow[]
                {
                    dataRow
                }).ToArray <DataRow>(), delegate(DataRow r)
                {
                    dataTable.Rows.Remove(r);
                });
            }
            else
            {
                dataRow = dataTable.Rows[0];
            }
            if (DBNull.Value != dataRow["CmdletParameters"])
            {
                MultiValuedProperty <AdminAuditLogCmdletParameter> source = (MultiValuedProperty <AdminAuditLogCmdletParameter>)dataRow["CmdletParameters"];
                dataRow["ParameterValues"] = string.Join(", ", (from p in source
                                                                select string.Format("{0}: {1}", p.Name, p.Value)).ToArray <string>());
                store.SetModifiedColumns(new List <string>(new string[]
                {
                    "ParameterValues"
                }));
            }
        }