public string GenerateGetAllStockInfoData() { using (var db = new Entities()) { db.Configuration.AutoDetectChangesEnabled = false; var lines = db.Companies.Select(item => item.StockID).ToArray(); return Stock.StockTrade.CombinStockInfoDataFormatString<int>(lines); } }
public void Save(List<Stock.StockTradeInfo> tradeInfoList) { using (var db = new Entities()) { db.Configuration.AutoDetectChangesEnabled = false; db.Configuration.ValidateOnSaveEnabled = false; db.BulkInsert<TradeDetails>(GetTradeList(tradeInfoList)); db.BulkInsert<UnOrders>(GetBestTradeList(tradeInfoList)); _lastSavedTime = DateTime.Now; } }
/// <summary> /// 產生每日的明細 /// </summary> /// <param name="CurDateTime">指定特定時間重建(只抓年/月/日)</param> public static void GenDailyQuotes(DateTime? CurDate) { DateTime curDate = new DateTime(); if (CurDate.HasValue) curDate = CurDate.Value.Date; else curDate = DateTime.Now.Date; using (Entities db = new Entities()) { //db.Configuration.AutoDetectChangesEnabled = false; //db.Configuration.ValidateOnSaveEnabled = false; var tradeList = from trade in db.TradeDetails where trade.TradeTime.Year == curDate.Year && trade.TradeTime.Month == curDate.Month && trade.TradeTime.Day == curDate.Day select trade; db.DailyQuotes.AddRange(CreateDailyQuotes(tradeList, curDate)); db.SaveChanges(); } }
/// <summary> /// 計算昨日收盤 /// </summary> /// <returns></returns> private static float CalPrevClosePrice(int StockID, DateTime CurDate) { using (Entities db = new Entities()) { db.Configuration.AutoDetectChangesEnabled = false; db.Configuration.ValidateOnSaveEnabled = false; var TradePrevClosePrice = (from item in db.TradeDetails where item.TradeTime.Year == CurDate.Year && item.TradeTime.Month == CurDate.Month && item.TradeTime.Day == CurDate.Day && item.StockID == StockID select new { TradeTime =item.TradeTime, LatestTradePrice = item.LatestTradePrice }).ToList(); if (TradePrevClosePrice.Any()) { return TradePrevClosePrice.First(p => p.TradeTime == TradePrevClosePrice.Select(tradeTime => tradeTime.TradeTime).Max()).LatestTradePrice; } else return 0f; } }