コード例 #1
0
ファイル: FrebHelper.cs プロジェクト: wizact/FrebParser
        private void FindValues(IEnumerable<XElement> query, FrebLog frebLog)
        {
            //Get /Event/System/Level that are Level 1, 2, or 3
            string[] eventIDsToLoad = new string[] { "1", "2", "3" };
            var filteredEvents = query.Where(e => eventIDsToLoad.Contains(e.Element(_NameSpace + "System").Element(_NameSpace + "Level").Value)).ToList();

            foreach (var item in filteredEvents)
            {

                frebLog.System = new SystemData()
                {
                    Provider = (item.Element(_NameSpace + "System").Element(_NameSpace + "Provider").Attribute("Name").Value),
                    EventID = (item.Element(_NameSpace + "System").Element(_NameSpace + "EventID").RetrieveValue()),
                    Version = (item.Element(_NameSpace + "System").Element(_NameSpace + "Version").RetrieveValue()),
                    Level = (item.Element(_NameSpace + "System").Element(_NameSpace + "Level").RetrieveValue()),
                    OPcode = (item.Element(_NameSpace + "System").Element(_NameSpace + "Opcode").RetrieveValue()),
                    Keywords = (item.Element(_NameSpace + "System").Element(_NameSpace + "Keywords").RetrieveValue()),
                    TimeCreated = (item.Element(_NameSpace + "System").Element(_NameSpace + "TimeCreated").Attribute("SystemTime").Value),
                    Computer = (item.Element(_NameSpace + "System").Element(_NameSpace + "Computer").RetrieveValue())
                };

                EventData eventData = new EventData();
                eventData.ContextID = eventData.RetrieveProperty(item.Element(_EventDataNameSpace + "EventData"), _EventDataNameSpace + "Data", _EventDataNameSpace + "Name", "ContextId");
                eventData.LineNumber = eventData.RetrieveProperty(item.Element(_EventDataNameSpace + "EventData"), _EventDataNameSpace + "Data", _EventDataNameSpace + "Name", "LineNumber");
                eventData.Description = eventData.RetrieveProperty(item.Element(_EventDataNameSpace + "EventData"), _EventDataNameSpace + "Data", _EventDataNameSpace + "Name", "Description");
                eventData.ErrorCode = eventData.RetrieveProperty(item.Element(_EventDataNameSpace + "EventData"), _EventDataNameSpace + "Data", _EventDataNameSpace + "Name", "ErrorCode");

                frebLog.Event = eventData;

                FrebLogDB frebTable = new FrebLogDB();
                frebTable.URL = frebLog.URL;
                frebTable.Filename = frebLog.FrebFileName;

                frebTable.Provider = frebLog.System.Provider;
                frebTable.EventID = frebLog.System.EventID;
                frebTable.Version = frebLog.System.Version;
                frebTable.FLevel = frebLog.System.Level;
                frebTable.OPcode = frebLog.System.OPcode;
                frebTable.Keywords = frebLog.System.Keywords;

                if (!string.IsNullOrEmpty(frebLog.System.TimeCreated))
                {
                    string[] strTimeSplit = frebLog.System.TimeCreated.Split(new string[] { "T" }, StringSplitOptions.RemoveEmptyEntries);
                    if (strTimeSplit.Count() > 1)
                    {
                        frebTable.DateCreated = strTimeSplit[0];
                        frebTable.TimeCreated = strTimeSplit[1];
                    }

                }

                frebTable.Computer = frebLog.System.Computer;

                frebTable.ContextID = frebLog.Event.ContextID;
                frebTable.LineNumber = frebLog.Event.LineNumber;
                frebTable.Description = frebLog.Event.Description;
                frebTable.ErrorCode = frebLog.Event.ErrorCode;

                if ((string.IsNullOrEmpty(frebTable.LineNumber) && string.IsNullOrEmpty(frebTable.Description)))
                    continue;

                PersistLogInfo(frebTable);
                break;

            }
        }
コード例 #2
0
ファイル: Freb.Designer.cs プロジェクト: wizact/FrebParser
 /// <summary>
 /// Deprecated Method for adding a new object to the FrebLogDBs EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
 /// </summary>
 public void AddToFrebLogDBs(FrebLogDB frebLogDB)
 {
     base.AddObject("FrebLogDBs", frebLogDB);
 }
コード例 #3
0
ファイル: FrebHelper.cs プロジェクト: wizact/FrebParser
 private static void PersistLogInfo(FrebLogDB frebTable)
 {
     frebEntities db = new frebEntities();
     db.AddToFrebLogDBs(frebTable);
     db.SaveChanges();
 }
コード例 #4
0
ファイル: Freb.Designer.cs プロジェクト: wizact/FrebParser
 /// <summary>
 /// Create a new FrebLogDB object.
 /// </summary>
 /// <param name="id">Initial value of the ID property.</param>
 public static FrebLogDB CreateFrebLogDB(global::System.Int32 id)
 {
     FrebLogDB frebLogDB = new FrebLogDB();
     frebLogDB.ID = id;
     return frebLogDB;
 }