Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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}");
            }
        }