public EventLogHelper(EventFilters eventFilters) { lstErrors = new List<string>(); Validate(eventFilters); this.eventFilters = eventFilters; }
public Result Post(EventFilters eventFilter) { EventLogHelper helper=new EventLogHelper(eventFilter); helper.GenerateEventLog(); return helper.GetResult(); }
private void Validate(EventFilters eventFilters) { if (String.IsNullOrEmpty(eventFilters.IP)) { eventFilters.MachineName = System.Environment.MachineName; } else { try { if (PingHost(eventFilters.IP)) { try { IPHostEntry entry = Dns.GetHostEntry(eventFilters.IP); eventFilters.MachineName = entry.HostName; } catch (Exception) { lstErrors.Add(string.Format("Unable to get Host Name for {0} ", eventFilters.IP)); } } else { lstErrors.Add(string.Format("Unable to ping host {0} ", eventFilters.IP)); } } catch (Exception e) { Debug.Print(e.Message); lstErrors.Add("An error occured while validating"); } } if (eventFilters.fromDate != null && eventFilters.toDate != null) { if (eventFilters.fromDate.Value > eventFilters.toDate.Value) { lstErrors.Add("from Date cant be greater than To date"); } } }
private static string GetQueryString(EventFilters eventFilters) { string xPathQuery = string.Empty; bool connector = false; //if (eventFilters.BeforeTimeStamp > eventFilters.AfterTimeStamp) //{ // return string.Empty; //} xPathQuery = "*[System["; if (eventFilters.Level != LogLevel.Nothing) { xPathQuery = xPathQuery + "(Level = " + ((int)eventFilters.Level).ToString() + ')'; connector = true; } if (eventFilters.eventID > 0) { if (connector == true) { xPathQuery = xPathQuery + " and "; } xPathQuery = xPathQuery + "(EventID = " + (eventFilters.eventID).ToString() + ')'; connector = true; } if (eventFilters.fromDate != null) { if (connector == true) { xPathQuery = xPathQuery + " and "; } xPathQuery = xPathQuery + "(TimeCreated[(@SystemTime >= '" + eventFilters.fromDate.Value.ToUniversalTime().ToString("o") + "')])"; connector = true; } if (eventFilters.toDate != null) { if (eventFilters.fromDate != null && eventFilters.fromDate.Value != eventFilters.toDate.Value) { if (connector == true) { xPathQuery = xPathQuery + " and "; } xPathQuery = xPathQuery + "(TimeCreated[(@SystemTime <= '" + eventFilters.toDate.Value.ToUniversalTime().ToString("o") + "')])"; connector = true; } } xPathQuery = xPathQuery + "]]"; return xPathQuery; }