public static void SyncTradeData() { var stockList = StockDAL.GetStockList(); var tradeList = SinaBiz.GetTradeList(); if (tradeList.IsNullOrEmpty()) { return; } var dbTradeList = DailyDAL.GetDailyList(tradeList.First().InDate.Value); if (dbTradeList.IsNullOrEmpty()) { DailyDAL.Insert(tradeList); } var newStockList = tradeList.Where(trade => !stockList.Any(stock => stock.StockCode.IsEqual(trade.StockCode))) .Select(stock => { stock.IsNew = "1"; return(stock); }) .ToList(); if (!newStockList.IsNullOrEmpty()) { StockDAL.InsertStock(newStockList); } }
public static void SyncHistoryData(DateTime?from, DateTime?to) { if (!to.HasValue) { to = DateTime.Now.AddDays(1); } var tradeList = SinaBiz.GetTradeList(); if (tradeList.IsNullOrEmpty()) { return; } var stocklist = tradeList; for (int i = 0; i < stocklist.Count; i++) { var fromDate = DailyDAL.GetMaxDaily(stocklist[i].StockCode); var list = WYStockBiz.HistoryTradeList(stocklist[i].StockCode , fromDate.GetValueOrDefault(DateTime.Now.AddYears(-10)).AddDays(1) , to.Value); if (list.Count > 0) { ThreadPool.QueueUserWorkItem(state => { DailyDAL.Insert(list); }); } LogFactory.Instance.Write($"{i}/{stocklist.Count}"); } }
//public static void SyncTaogula() //{ // var articleList = TaogulaBiz.GetArticleList().OrderByDescending(item=>item.InDate).ToList(); // var stockList = StockDAL.GetStockList(); // foreach(var article in articleList) // { // var articleStocks = ArticleDAL.GetByUrl(article.Url); // //if(articleStocks.IsNullOrEmpty()) // //{ // // var content = TaogulaBiz.GetArticle(article.Url); // // articleStocks = ArticleBiz // // .ParseArticle(content, stockList) // // .Select(stock => new ArticleDTO() { // // Url = article.Url, // // StockCode = stock.StockCode, // // Title = article.Title, // // StockName = stock.StockName, // // InDate = article.InDate.Value.Date}) // // .ToList() ; // // if(articleStocks.IsNullOrEmpty()) // // { // // articleStocks.Add(article); // // } // // ArticleDAL.Insert(articleStocks); // //} // } //} public static void SyncLimitSell() { var list = SinaBiz.GetLimitSellList(DateTime.Now.AddYears(-1), DateTime.Now.AddYears(2)); DailyDAL.InsertLimitSell(list); }