Beispiel #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);
            }
        }
Beispiel #2
0
        private static void SyncLonghu(DateTime from, DateTime to)
        {
            var date = from.Date;

            while (date < to)
            {
                var list = SinaBiz.GetLonghuList(date);
                if (!list.IsNullOrEmpty())
                {
                    for (var index = list.Count() - 1; index > 0; index--)
                    {
                        for (var j = 0; j < index; j++)
                        {
                            if (list[index].IsEqual(list[j]))
                            {
                                list.RemoveAt(index);
                                break;
                            }
                        }
                    }

                    var dbList = LonghuDAL.GetLonghu(list.First().InDate.Value.AddDays(-5));
                    list.RemoveAll(item => dbList.Exists(dbitem => dbitem.IsEqual(item)));
                }
                if (!list.IsNullOrEmpty())
                {
                    LonghuDAL.Insert(list);
                }

                date = date.AddDays(1);
            }
        }
Beispiel #3
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}");
            }
        }
Beispiel #4
0
        public static ZhubiDTO GetZhubiDTO(string code, DateTime date)
        {
            var dto = ZhubiDAL.GetZhubi(code, date);

            if (dto == null)
            {
                var xls = SinaBiz.GetZhubi(code, date);
                if (!string.IsNullOrEmpty(xls))
                {
                    dto = new ZhubiDTO
                    {
                        StockCode = StockHelper.GetShortCode(code)
                        ,
                        InDate = date.Date
                        ,
                        Xls = xls
                    };
                    ZhubiDAL.Insert(dto);
                }
            }
            return(dto);
        }
Beispiel #5
0
        //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);
        }