// GET: api/StocksApi public IEnumerable <string> Get() { if (DateTime.UtcNow.Hour >= 13 && DateTime.UtcNow.Hour <= 21 && (DateTime.UtcNow.DayOfWeek != DayOfWeek.Saturday && DateTime.UtcNow.DayOfWeek != DayOfWeek.Sunday)) { StockRealTime sr = new StockRealTime(); sr.RefreshDataAll(); } //logger.Info("#StocksApi Get"); return(new string[] { "value1", "value2" }); }
public ActionResult Index() { var claims = ClaimsPrincipal.Current.Identity; string name = ClaimsPrincipal.Current.FindFirst("name")?.Value; string user_id = ClaimsPrincipal.Current.FindFirst("user_id")?.Value; StockRealTime sr = new StockRealTime(); var result = sr.GetDataPerUser(); return(View(result)); //return View(db.StockMarkets.ToList().OrderBy(s => s.Symbol)); }
public ActionResult Edit([Bind(Include = "Id,BuyTarget,LastPrice,SellTarget,Quantity")] StockMarket stockMarket) { if (ModelState.IsValid) { StockRealTime sr = new StockRealTime(); //sr.RefreshDataPerSymbol(stockMarket); db.StockMarkets.Attach(stockMarket); db.Entry(stockMarket).Property(p => p.BuyTarget).IsModified = true; db.Entry(stockMarket).Property(p => p.SellTarget).IsModified = true; db.Entry(stockMarket).Property(p => p.Quantity).IsModified = true; //db.Entry(stockMarket).Property(p => p.SellDecision).IsModified = true; //db.Entry(stockMarket).Property(p => p.BuyDecision).IsModified = true; //db.Entry(stockMarket).Property(p => p.CurrentValue).IsModified = true; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(stockMarket)); }
// GET: api/StocksApi/5 public string Get(int id) { try { StockRealTime sr = new StockRealTime(); StocksData sd = new StocksData(); switch (id) { case 1234: sr.NotifyBuyOrSell(); break; case 2345: sr.RefreshDataAll(); break; case 3456: sd.GetDataAll(); break; case 999: sd.AddStockCorrels(); sd.ProcessCorrelation(); break; case 6789: sr.CacheSimulator(); break; case 102: //sr.NewMailSendTester(); sr.NotifyUser(); break; } } catch (Exception ex) { //logger.Error("#" + ex.Message); } return("value"); }
private StockRealTime GetDataFromSource(string strData) { StockRealTime data = new StockRealTime(); strData = strData.Remove(0, 11); string market = strData.Substring(0, 2); if(market == "sh") { data.Market = Market.XSHG; } else if(market == "sz") { data.Market = Market.XSHE; } else { data.Market = Market.Unknown; } strData = strData.Remove(0, 2); data.Code = strData.Substring(0, 6); int startIndex = strData.IndexOf("\"") + 1; int length = strData.LastIndexOf("\"") - startIndex; strData = strData.Substring(startIndex, length); // 没有获取到数据 if(string.IsNullOrEmpty(strData) || string.IsNullOrWhiteSpace(strData)) { return null; } string[] fields = strData.Split(','); data.ShortName = fields[0]; data.TodayOpen = Convert.ToDouble(fields[1]); data.YesterdayClose = Convert.ToDouble(fields[2]); data.Current = Convert.ToDouble(fields[3]); data.High = Convert.ToDouble(fields[4]); data.Low = Convert.ToDouble(fields[5]); data.Volume = Convert.ToDouble(fields[8]); data.Amount = Convert.ToDouble(fields[9]); data.Buy1Volume = Convert.ToDouble(fields[10]); data.Buy1Price = Convert.ToDouble(fields[11]); data.Buy2Volume = Convert.ToDouble(fields[12]); data.Buy2Price = Convert.ToDouble(fields[13]); data.Buy3Volume = Convert.ToDouble(fields[14]); data.Buy3Price = Convert.ToDouble(fields[15]); data.Buy4Volume = Convert.ToDouble(fields[16]); data.Buy4Price = Convert.ToDouble(fields[17]); data.Buy5Volume = Convert.ToDouble(fields[18]); data.Buy5Price = Convert.ToDouble(fields[19]); data.Sell1Volume = Convert.ToDouble(fields[20]); data.Sell1Price = Convert.ToDouble(fields[21]); data.Sell2Volume = Convert.ToDouble(fields[22]); data.Sell2Price = Convert.ToDouble(fields[23]); data.Sell3Volume = Convert.ToDouble(fields[24]); data.Sell3Price = Convert.ToDouble(fields[25]); data.Sell4Volume = Convert.ToDouble(fields[26]); data.Sell4Price = Convert.ToDouble(fields[27]); data.Sell5Volume = Convert.ToDouble(fields[28]); data.Sell5Price = Convert.ToDouble(fields[29]); data.Time = Convert.ToDateTime(fields[30] + " " + fields[31]); return data; }
public async Task <ViewResult> Index(string symbolName) { //ApplicationUser currentUser = await UserManager.FindByIdAsync(User.Identity.GetUserId()); ViewBag.AbsolutePathHostName = AppHelper.AbsolutePathHostName; #region danh muc co phieu dang follow var postNumber = await db.Posts.CountAsync(s => s.StockPrimary.Contains(symbolName)); // so luong bai viet cua cổ phiếu này var stockFollowNumber = await db.FollowStocks.CountAsync(sf => sf.StockFollowed == symbolName); // bao nhieu nguoi da theo doi co phieu nay ViewBag.PostNumber = postNumber; ViewBag.StockFollowNumber = stockFollowNumber; // function follow stock if (User.Identity.IsAuthenticated) { ApplicationUser currentUser = await UserManager.FindByIdAsync(User.Identity.GetUserId()); var countStockFollowr = await db.FollowStocks.CountAsync(f => f.UserId == currentUser.UserExtentLogin.Id && f.StockFollowed == symbolName); if (countStockFollowr == 1) // kiem tra user nay co follow ma nay khong { ViewBag.CheckStockExist = "Y"; } else { ViewBag.CheckStockExist = "N"; } // so luong tin nhan var numberMessegeNew = await db.NotificationMesseges.Where(nm => nm.UserReciver == currentUser.UserExtentLogin.Id && nm.NumNoti > 0).SumAsync(mn => mn.NumNoti); ViewBag.NewMessege = numberMessegeNew; } #endregion #region Thong tin menu ben trai if (User.Identity.IsAuthenticated) // thong tin user dang nhap { ApplicationUser currentUser = await UserManager.FindByIdAsync(User.Identity.GetUserId()); ViewBag.AvataEmage = string.IsNullOrEmpty(currentUser.UserExtentLogin.AvataImage) == true ? AppHelper.ImageURLAvataDefault : AppHelper.ImageURLAvata + currentUser.UserExtentLogin.AvataImage; ViewBag.CureentUserId = currentUser.UserExtentLogin.Id; ViewBag.UserName = currentUser.UserName; ViewBag.CharacterLimit = currentUser.UserExtentLogin.CharacterLimit; } else { ViewBag.AvataEmage = AppHelper.ImageURLAvataDefault; } // End thong tin menu ben trai #endregion #region thong tin co phieu var company = new StockCode(); company = await db.StockCodes.FirstOrDefaultAsync(m => m.Code.ToUpper() == symbolName.ToUpper()); ViewBag.StockCode = company == null?StatusSymbol.NF.ToString() : symbolName.ToUpper(); ViewBag.StockName = company == null?StatusSymbol.NF.ToString() : company.ShortName; ViewBag.LongName = company == null?StatusSymbol.NF.ToString() : company.LongName; ViewBag.MarketName = company == null?StatusSymbol.NF.ToString() : company.IndexName; ViewBag.ImgEx = ".png"; #endregion #region gia co phieu StockRealTime stockprice = new StockRealTime(); stockprice = _stockRealtime.GetStocksByTicker(symbolName).Result; if (stockprice == null) { stockprice = new StockRealTime(); stockprice.CompanyID = symbolName; } var listIndex = new List <string>(); listIndex.Add("VNINDEX"); listIndex.Add("HNXINDEX"); ViewBag.ListIndex = _stockRealtime.GetAllStocksList(listIndex).Result; #endregion #region Set Info of hot stock ViewBag.ListStockHot = AppHelper.GetListHotStock(); #endregion return(View(stockprice)); }
public static List <StockRealTime> GetALLTwoMarket() { List <StockRealTime> listItem = new List <StockRealTime>(); #region Get stock of HOSE try { Database database = DatabaseFactory.CreateDatabase("DatabasePriceHSX"); DbCommand dbCommand = database.GetStoredProcCommand("VFS_HSX_GETALLStockRealTime_IncludeIndex"); //Parameter if have using (IDataReader reader = database.ExecuteReader(dbCommand)) { while (reader.Read()) { StockRealTime item = CreateShareTypeFromReader(reader); listItem.Add(item); } reader.Close(); } //totalRecords = (int)database.GetParameterValue(dbCommand, "@TotalRecords"); } catch (Exception ex) { // log this exception log4net.Util.LogLog.Error(ex.Message, ex); // wrap it and rethrow throw; } #endregion #region get stock of HNX // get HNX try { Database database2 = DatabaseFactory.CreateDatabase("DatabasePriceHNX"); DbCommand dbCommand2 = database2.GetStoredProcCommand("VFS_HNX_GETALLStockRealTime_IncludeIndex"); //Parameter if have using (IDataReader reader = database2.ExecuteReader(dbCommand2)) { while (reader.Read()) { StockRealTime item = CreateShareTypeFromReader(reader); listItem.Add(item); } reader.Close(); } //totalRecords = (int)database.GetParameterValue(dbCommand, "@TotalRecords"); } catch (Exception ex) { // log this exception log4net.Util.LogLog.Error(ex.Message, ex); // wrap it and rethrow throw; } #region region get stock of UPCOM try { Database database2 = DatabaseFactory.CreateDatabase("DatabasePriceHNX"); DbCommand dbCommand2 = database2.GetStoredProcCommand("VFS_UPcom_GETALLStockRealTime_IncludeIndex"); //Parameter if have using (IDataReader reader = database2.ExecuteReader(dbCommand2)) { while (reader.Read()) { StockRealTime item = CreateShareTypeFromReader(reader); listItem.Add(item); } reader.Close(); } //totalRecords = (int)database.GetParameterValue(dbCommand, "@TotalRecords"); } catch (Exception ex) { // log this exception log4net.Util.LogLog.Error(ex.Message, ex); // wrap it and rethrow throw; } #endregion #endregion return(listItem); }