예제 #1
0
파일: JobBiz.cs 프로젝트: dennynewegg/item
        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);
            }
        }
예제 #2
0
파일: JobBiz.cs 프로젝트: dennynewegg/item
        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}");
            }
        }
예제 #3
0
파일: JobBiz.cs 프로젝트: dennynewegg/item
        //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);
        }