Beispiel #1
0
        public IDataProvider GetData(string Code)
        {
            DataRow dr = DB.GetFirstRow("select * from StockData where QuoteCode=? or AliasCode=?",
                                        new DbParam[] {
                new DbParam("@QuoteCode", DbType.String, Code),
                new DbParam("@AliasCode", DbType.String, Code),
            });

            CSVDataProvider cdpn = new CSVDataProvider(this);

            if (dr != null)
            {
                byte[] bs = Utils.LoadHisDataFromFile(Code);
                if (DownloadRealTimeQuote)
                {
                    try
                    {
                        DataPackage dp = DataPackage.DownloadFromYahoo(Code);
                        bs = CSVDataProvider.MergeOneQuote(bs, dp);
                    }
                    catch
                    {
                    }
                }

                cdpn.LoadBinary(bs);
                cdpn.SetStringData("Code", Code);
                cdpn.SetStringData("Name", dr["QuoteName"].ToString());
                cdpn.SetStringData("Exchange", dr["Exchange"].ToString());
                return(cdpn);
            }
            throw new Exception("No Data Found");
        }