예제 #1
0
        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;
        }
예제 #2
0
        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));
        }