public DbCommand SelectSnapshot(string persistenceId, long maxSequenceNr, DateTime maxTimestamp)
{
var sqlCommand = new SQLiteCommand();
sqlCommand.Parameters.Add(new SQLiteParameter { Value = persistenceId });
var sb = new StringBuilder(_selectSql);
if (maxSequenceNr > 0 && maxSequenceNr < long.MaxValue)
{
sb.Append(" AND sequence_nr <= ").Append(maxSequenceNr);
}
if (maxTimestamp > DateTime.MinValue && maxTimestamp < DateTime.MaxValue)
{
sb.AppendFormat(" AND created_at <= {0} ", maxTimestamp.Ticks);
}
sb.Append(" ORDER BY sequence_nr DESC");
sqlCommand.CommandText = sb.ToString();
return sqlCommand;
}
}