private void SaveTechState(IndexDefinitionInfo define, IndexState result) { using (StockManDBEntities entity = new StockManDBEntities()) { var cate = (int)this.ObjectType + ""; var code = cate + "_" + this.ObjectCode + "_" + define.code; var objectState = entity.objectstate.FirstOrDefault(p => p.code == code); if (objectState == null) { var temp = new objectstate() { code = code, category_code = cate, object_code = this.ObjectCode, index_code = define.code, date = DateTime.Now }; switch (this.Cycle) { case TechCycle.day: temp.day = (int)result; break; case TechCycle.week: temp.week = (int)result; break; default: temp.month = (int)result; break; } entity.objectstate.Add(temp); } else { switch (this.Cycle) { case TechCycle.day: objectState.last_day = objectState.day; objectState.day = (int)result; break; case TechCycle.week: objectState.last_week = objectState.week; objectState.week = (int)result; break; default: objectState.last_month = objectState.month; objectState.month = (int)result; break; } objectState.date = DateTime.Now; } entity.SaveChanges(); } }
private void Calculate(IndexDefinitionInfo define, TechCycle cycle) { IIndex indexGener = new Dma();// CodeHelper.GetIEvaluator(define.server_algorithm_code); IList <stockcategory> cateList = cateService.GetCategoryList("tencent"); int tatol = 0; foreach (var category in cateList) { IList <stock> stockList = stockService.GetStockByCategory(category.code); foreach (stock stock in stockList) { IList <PriceInfo> list = stockService.GetStockPriceDayInfo(stock); IList <IndexData> listIndexData = GetLastIndexData(stock, define); var result = indexGener.GetState(listIndexData); this.Log().Info(stock.name + "_" + result); using (StockManDBEntities entity = new StockManDBEntities()) { var cate = "1"; var code = cate + "_" + stock.code + "_" + define.code; var objectState = entity.objectstate.FirstOrDefault(p => p.code == code); if (objectState == null) { var temp = new objectstate() { code = code, category_code = cate, object_code = stock.code, index_code = define.code, date = DateTime.Now }; switch (cycle) { case TechCycle.day: temp.day = (int)result; break; case TechCycle.week: temp.week = (int)result; break; default: temp.month = (int)result; break; } entity.objectstate.Add(temp); } else { switch (cycle) { case TechCycle.day: objectState.last_day = objectState.day; objectState.day = (int)result; break; case TechCycle.week: objectState.last_week = objectState.week; objectState.week = (int)result; break; default: objectState.last_month = objectState.month; objectState.month = (int)result; break; } } entity.SaveChanges(); } if (++tatol > 3) { break; } } if (tatol > 3) { break; } } }