private async Task GetNormalStockList(string g) { var searchStockList = await(from sc in db.StockCodes orderby sc.Code where sc.Code.StartsWith(g) && (sc.MarketType == 0 || sc.MarketType == 1) select new StockCodeColunn { CompanyName = sc.LongName, MarketName = sc.IndexName, StockCode = sc.Code, }).ToListAsync(); foreach (var item in searchStockList) { StockRealTime stp = _stockRealtime.GetStocksByTicker(item.StockCode).Result; if (stp != null) { item.FinishPrice = stp.FinishPrice; item.Diff = stp.Diff; item.DiffRate = stp.DiffRate; } else { item.FinishPrice = 0; item.Diff = 0; item.DiffRate = 0; } } ViewBag.listStockGroup = searchStockList; }
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)); }