[Quantproject-developers] QuantProject/b3_Data/DataTables TickerDataTable.cs,1.1,1.2
Brought to you by:
glauco_1
|
From: Marco M. <mi...@us...> - 2004-06-27 19:20:39
|
Update of /cvsroot/quantproject/QuantProject/b3_Data/DataTables In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21315/b3_Data/DataTables Modified Files: TickerDataTable.cs Log Message: Changed ITickerSelector interface and consequently modified classes that implement it. Method GetTableOfSelectedTickers now has to return a DataTable (not an upper class derived from a DataTable) Index: TickerDataTable.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b3_Data/DataTables/TickerDataTable.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** TickerDataTable.cs 25 Apr 2004 17:28:46 -0000 1.1 --- TickerDataTable.cs 27 Jun 2004 19:20:31 -0000 1.2 *************** *** 23,26 **** --- 23,27 ---- using System; using System.Data; + using QuantProject.ADT; using QuantProject.DataAccess.Tables; *************** *** 29,39 **** /// <summary> /// The DataTable where to store tickers. - /// It has the same structure of DB's table /// </summary> public class TickerDataTable : DataTable { ! private static TickerDataTable clipboard; ! public static TickerDataTable Clipboard { get{ return TickerDataTable.clipboard; } --- 30,39 ---- /// <summary> /// The DataTable where to store tickers. /// </summary> public class TickerDataTable : DataTable { ! private static DataTable clipboard; ! public static DataTable Clipboard { get{ return TickerDataTable.clipboard; } *************** *** 41,84 **** } - - public TickerDataTable() { ! this.setStructure(); } ! private void setStructure() { ! DataColumn ticker = new DataColumn(Tickers.Ticker, System.Type.GetType("System.String")); ! ticker.Unique = true; ! ticker.AllowDBNull = false; ! DataColumn companyName = new DataColumn(Tickers.CompanyName, System.Type.GetType("System.String")); ! this.Columns.Add(ticker); ! this.Columns.Add(companyName); } ! ! public static TickerDataTable ConvertToTickerDataTable(DataTable dataTableToConvert) { ! TickerDataTable tickerDataTable = new TickerDataTable(); ! DataRow rowToAdd; try { ! foreach(DataRow row in dataTableToConvert.Rows) { ! rowToAdd = tickerDataTable.NewRow(); ! rowToAdd[Tickers.Ticker] = row[Tickers.Ticker]; ! rowToAdd[Tickers.CompanyName] = row[Tickers.CompanyName]; ! tickerDataTable.Rows.Add(rowToAdd); } ! } catch(Exception ex) { ! string notUsed = ex.ToString(); } ! return tickerDataTable; } } } --- 41,95 ---- } public TickerDataTable() { ! } ! public static void AddColumnsOfTickerTable(DataTable table) { ! try ! { ! table.Columns.Add("tiTicker", System.Type.GetType("System.String")); ! table.Columns.Add("tiCompanyName", System.Type.GetType("System.String")); ! } ! catch(Exception ex) ! { ! string notUsed = ex.ToString(); ! } } ! ! public static DataTable GetBestPerformingTickers(string groupID, ! DateTime firstQuoteDate, ! DateTime lastQuoteDate, ! long maxNumOfReturnedTickers) { ! DataTable groupOfTicker = Tickers_tickerGroups.GetTickers(groupID); ! //TO DO change to a structure compatible with TickerDataTable ! groupOfTicker.Columns.Add("SimpleReturn", System.Type.GetType("System.Double")); try { ! double firstQuote, lastQuote; ! foreach(DataRow row in groupOfTicker.Rows) { ! firstQuote = QuantProject.DataAccess.Tables.Quotes.GetAdjustedClose((string)row[0], ! firstQuoteDate); ! lastQuote = QuantProject.DataAccess.Tables.Quotes.GetAdjustedClose((string)row[0], ! lastQuoteDate); ! row["SimpleReturn"] = (lastQuote - firstQuote) / firstQuote; } ! } catch(Exception ex) { ! System.Windows.Forms.MessageBox.Show(ex.ToString()); } ! ExtendedDataTable.Sort(groupOfTicker, "SimpleReturn"); ! ExtendedDataTable.DeleteRows(groupOfTicker, maxNumOfReturnedTickers); ! return groupOfTicker; } + + } } |