public class EntityStock
{
[PrimaryKey, AutoIncrement]
public int Id { get; set; }
[MaxLength( 8 )]
public string Symbol { get; set; }
public override string ToString( ) {return Symbol; }
}
public class EntityValuation
{
[PrimaryKey, AutoIncrement]
public int Id { get; set; }
[Indexed]
public int StockId { get; set; }
public DateTime Time { get; set; }
public double Price { get; set; }
public override string ToString( )
{
return string.Format( "{0:yyyy-MM-dd} {1:C}", Time, Price );
}
}
private void GetStock( string stockSymbol )
{
var stock = _db.QueryStock( stockSymbol );
foreach ( var v in _db.QueryValuations( stock ) )
{
lbx.Items.Add( " " + v.ToString( ) );
}
}
public IEnumerable<EntityValuation> QueryValuations( EntityStock stock )
{
return Table<EntityValuation>( ).Where( x => x.StockId == stock.Id );
}
public IEnumerator<T> GetEnumerator( )
{
return GenerateCommand( ).ExecuteQuery<T>( ).GetEnumerator( );
}
public List<T> ExecuteQuery<T>( ) where T : new( )
{
return ExecuteQuery<T>( _conn.GetMapping( typeof( T ) ) );
}
public List<T> ExecuteQuery<T>( TableMapping map ) { }