public static LogEventCollection Where(WhereDelegate <LogEventColumns> where, OrderBy <LogEventColumns> orderBy = null, Database database = null) { database = database ?? Db.For <LogEvent>(); var results = new LogEventCollection(database, database.GetQuery <LogEventColumns, LogEvent>(where, orderBy), true); return(results); }
/// <summary> /// Return every record in the LogEvent table. /// </summary> /// <param name="database"> /// The database to load from or null /// </param> public static LogEventCollection LoadAll(Database database = null) { SqlStringBuilder sql = new SqlStringBuilder(); sql.Select <LogEvent>(); Database db = database ?? Db.For <LogEvent>(); var results = new LogEventCollection(sql.GetDataTable(db)); results.Database = db; return(results); }
private static LogEvent OneOrThrow(LogEventCollection c) { if (c.Count == 1) { return(c[0]); } else if (c.Count > 1) { throw new MultipleEntriesFoundException(); } return(null); }
public override List <LogEntry> GetLogEntries(DateTime from, DateTime to) { Args.ThrowIfNull(Logger, "Logger"); Data.LogEventCollection data = Data.LogEvent.Where(c => c.Time > from && c.Time < to, DaoLogger.Database); List <LogEntry> results = new List <LogEntry>(); foreach (Data.LogEvent eventData in data) { LogEntry entry = eventData.CopyAs <LogEntry>(); Enum.TryParse <Severity>(eventData.Severity, out Severity s); entry.Severity = s; entry.MessageVariableValues = eventData.MessageVariableValues.DelimitSplit(",", ";"); results.Add(entry); } return(results); }
/// <summary> /// This method is intended to respond to client side Qi queries. /// Use of this method from .Net should be avoided in favor of /// one of the methods that take a delegate of type /// WhereDelegate<LogEventColumns>. /// </summary> /// <param name="where"></param> /// <param name="database"></param> public static LogEventCollection Where(QiQuery where, Database database = null) { var results = new LogEventCollection(database, Select <LogEventColumns> .From <LogEvent>().Where(where, database)); return(results); }