Exemplo n.º 1
0
        private List <StockCode> GetStockCodes()
        {
            try
            {
                if (_stockCodes.Count > 0)
                {
                    return(_stockCodes.Values.ToList <StockCode>());
                }

                DataServantPrx prx = GetDataServant();
                if (prx != null)
                {
                    DSIceStockCode[] arr;
                    var re = prx.GetStockCodes(out arr);
                    Program.logger.LogRunning("DataServerClient:获取全市场股票代码成功,股票总数:{0}", arr.Length);

                    foreach (var item in arr)
                    {
                        var stockCodeItem = new StockCode(item);

                        _stockCodes.Add(stockCodeItem.Code, stockCodeItem);
                    }

                    return(_stockCodes.Values.ToList());
                }
            }
            catch (Exception ex)
            {
                Program.logger.LogRunning("DataServerClient:GetStockCodes调用失败\r\n  Message:{0}.\r\n  StackTrace:{1}", ex.Message, ex.StackTrace);
            }
            return(new List <StockCode>());
        }
Exemplo n.º 2
0
        public List <StockCode> GetStockCodes()
        {
            try
            {
                if (_stockCodes.Count > 0)
                {
                    return(_stockCodes.Values.ToList <StockCode>());
                }

                DataServantPrx prx = GetDataServant();
                if (prx != null)
                {
                    DSIceStockCode[] codes;
                    int retval = prx.GetStockCodes(out codes);
                    if (retval > 0 && codes != null)
                    {
                        foreach (DSIceStockCode code in codes)
                        {
                            StockCode sc = new StockCode(code);
                            if (_stockCodes.ContainsKey(sc.Code) == false)
                            {
                                _stockCodes.Add(sc.Code, sc);
                            }
                        }
                    }

                    return(_stockCodes.Values.ToList <StockCode>());
                }
            }
            catch (Exception ex)
            {
                AASClient.Program.logger.LogRunning("DataServerClient:GetStockCodes调用失败\n{0}", ex.Message);
            }
            return(new List <StockCode>());
        }
Exemplo n.º 3
0
        public static StockCode GetStockCode(string stockStockCode)
        {
            StockCode stockCode = new StockCode();

            int iIndex = stockStockCode.IndexOf('[');

            stockCode.StockName   = stockStockCode.Substring(0, iIndex);
            stockCode.StockSymbol = stockStockCode.Substring(iIndex + 1, (stockStockCode.Length - 1) - (iIndex + 1));

            return(stockCode);
        }
Exemplo n.º 4
0
        public int insertStockCode(StockCode stockInfo)
        {
            if (string.IsNullOrWhiteSpace(stockInfo.stockCode) || string.IsNullOrWhiteSpace(stockInfo.stockName))
            {
                return(-1);
            }

            string query = Properties.Resources.insertStockCode;

            query = string.Format(query, stockInfo.stockCode, stockInfo.stockName);
            return(Execute(query));
        }
Exemplo n.º 5
0
        private List <StockCode> getETFStocks(DateTime date, string index)
        {
            var rawData = windReader.GetDataSetTable("etfconstituent", string.Format("date={0};windcode={1};field=wind_code,sec_name", date.Date, index));
            List <StockCode> codeList = new List <StockCode>();

            foreach (DataRow dr in rawData.Rows)
            {
                StockCode stock = new StockCode();
                stock.code = Convert.ToString(dr[0]);
                stock.name = Convert.ToString(dr[1]);
                codeList.Add(stock);
            }
            return(codeList);
        }
Exemplo n.º 6
0
        public string transmitData(string query) // convert to json
        {
            User              user      = new User();
            StockCode         stockCode = new StockCode();
            List <Database>   stockList = user.readDatabase();
            List <String>     list      = new List <String>();
            OrderedDictionary dict      = new OrderedDictionary();

            // Remove Whitespaces and double entries
            for (int id = 0; id < stockList.Count; id++)
            {
                string name    = stockList[id].Name.ToLower();
                string trimmed = String.Concat(
                    name.Where(c => !Char.IsWhiteSpace(c))
                    //.Where(c => !Char.IsLetter('-') || !Char.IsLetter('&'))
                    );
                // Console.WriteLine(trimmed);
                if (trimmed.Contains(query))
                {
                    if (!list.Contains(name))
                    {
                        list.Add(name);
                        dict.Add(id, name);
                    }
                }
            }
            // Add to the array
            int    pointer = 0;
            string res     = "";

            string[] arr = new string[dict.Count];

            foreach (DictionaryEntry de in dict)
            {
                res += ((int)de.Key).ToString(); // StockCode
                res += ",";
                res += (string)de.Value;         // Id

                arr[pointer] = res;
                res          = "";
                pointer++;
            }

            // Return JSON
            stockCode.stockCode = arr;
            string data = JsonSerializer.Serialize(stockCode);

            return(data);
        }
Exemplo n.º 7
0
        public StockCode 종목정보조회(StockCode stockInfo)
        {
            //string query = Properties.Resources.getStockCode;
            //query = string.Format(query, stockInfo.stockCode, stockInfo.stockName);
            //return QuerySingle<StockCode>(query);

            DynamicParameters p = new DynamicParameters();

            p.Add("@sCode", stockInfo.stockCode);
            p.Add("@sName", stockInfo.stockName);

            StockCode result = QuerySingle <StockCode>("SP_종목정보조회", p);

            return(result);
        }
Exemplo n.º 8
0
        /// <summary>
        /// 검색버튼 클릭
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSearch_Click(object sender, EventArgs e)
        {
            // 자료 조회
            // 조회URL: stockcode/?search=검색어
            HttpRestClient client = new HttpRestClient("stockcode");

            // 조회조건
            if (txtSearch.Text.Length > 0)
            {
                client.QueryString.Add("search", txtSearch.Text);
            }

            if (!client.doWorkDialog())
            {
                client.showErrorDialog();
                return;
            }

            // 응답 데이터 처리
            StockCode data = JsonConvert.DeserializeObject <StockCode>(client.getString());

            // 리스트뷰 뷰 타입
            listView1.View = View.Details;
            // 데이터를 갱신하기 전에 UI쓰레드를 멈춘다.
            listView1.BeginUpdate();

            // 컬럼헤더 Clear
            listView1.Columns.Clear();

            listView1.Columns.Add("stockCode", "종목코드", 5 * 15);
            listView1.Columns.Add("stockName", "종목명", 9 * 15);
            listView1.Columns.Add("stockCate", "소속업종", 9 * 15);

            // 종목코드 찾음, 없을경우 새 row에 등록
            listView1.Items.Clear();
            foreach (StockCodeItem item in data.dataList)
            {
                ListViewItem listItem = new ListViewItem(item.stockCode);
                listItem.Name = item.stockCode;
                listItem.SubItems.Add(item.stockName);
                listItem.SubItems.Add(item.cateName);

                listView1.Items.Add(listItem);
            }

            // UI 쓰레드 재개
            listView1.EndUpdate();
        }
 public void AddOrUpdateStockPriceInExchange(EquitySymbolQuote stockPrice)
 {
     // do data consistency checks
     if (StockCode.CompareTo(stockPrice.StockCode) != 0)
     {
         throw new Exception("Equity StockPrice info's stock code doesnt match the holding StockInfo");
     }
     if (StockPrice.ContainsKey(stockPrice.Exchange))
     {
         StockPrice[stockPrice.Exchange] = stockPrice;
     }
     else
     {
         EquitySymbolQuote tmpStockPrice = stockPrice;
         StockPrice.Add(stockPrice.Exchange, stockPrice);
     }
 }
Exemplo n.º 10
0
        public static StockCode GetStockCode( string stockStockCode )
        {
            StockCode stockCode = new StockCode();

            int iIndex = stockStockCode.IndexOf( '[' );
            stockCode.StockName = stockStockCode.Substring( 0, iIndex );
            stockCode.StockSymbol = stockStockCode.Substring( iIndex + 1, ( stockStockCode.Length - 1 ) - ( iIndex + 1 ) );

            return stockCode;
        }
Exemplo n.º 11
0
        private void axKHOpenAPI1_OnEventConnect(object sender, AxKHOpenAPILib._DKHOpenAPIEvents_OnEventConnectEvent e)
        {
            try
            {
                if (e.nErrCode == 0)
                {
                    string   accountlist = axKHOpenAPI1.GetLoginInfo("ACCLIST");
                    string[] account     = accountlist.Split(';');
                    for (int i = 0; i < account.Length; i++)
                    {
                        comboBox1.Items.Add(account[i]);
                    }

                    if (account.Length > 0)
                    {
                        comboBox1.SelectedIndex = 0;
                    }

                    string userId          = axKHOpenAPI1.GetLoginInfo("USER_ID");
                    string userName        = axKHOpenAPI1.GetLoginInfo("USER_NAME");
                    string connectedServer = axKHOpenAPI1.GetLoginInfo("GetServerGubun");
                    lblUserID.Text   = userId;
                    lblUserName.Text = userName;
                    lblServerNo.Text = connectedServer;

                    string   stockCode      = axKHOpenAPI1.GetCodeListByMarket("0");
                    string[] stockCodeArray = stockCode.Split(';');

                    lblCountOfStocks.Text = stockCodeArray.Length.ToString();

                    for (int i = 0; i < stockCodeArray.Length; i++)
                    {
                        StockCode code = new StockCode();
                        code.stockCode = stockCodeArray[i];
                        code.stockName = axKHOpenAPI1.GetMasterCodeName(stockCodeArray[i]);

                        biz.stockList.Add(code);
                    }

                    Biz.AccountNo = comboBox1.SelectedItem.ToString();

                    if (string.IsNullOrEmpty(Biz.AccountNo))
                    {
                        MessageBox.Show("계좌가 존재하지 않음!!!");
                        return;
                    }

                    if ("Auto".Equals(ExecuteMode))
                    {
                        button3_Click(null, null);

                        this.backgroundWorker1.RunWorkerAsync(10000);
                    }
                    else if ("SetTarget".Equals(ExecuteMode))
                    {
                        trBiz.당일거래량상위요청("1", "3");
                    }
                }
                else
                {
                    MessageBox.Show("연결오류");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Exemplo n.º 12
0
 public StockMovement(DateTime withdrawDate, decimal price, StockCode stockCode, decimal volume)
     : base(withdrawDate, price, volume)
 {
     _stockCode = stockCode;
 }
Exemplo n.º 13
0
        /// <summary>
        /// 读取证券代码表
        /// </summary>
        /// <returns></returns>
        public DataTable GetStockCode()
        {
            //代码表文件的完整路径
            string filePath = DataPath + Market + "\\STKINFO70.DAT";

            //判断文件是否存在
            this.CheckFile(filePath);
            if (message == filePath + "文件不存在")
            {
                return(null);
            }

            //建立存放代码表的Datatable
            DataTable dtCode = new DataTable();

            dtCode.Columns.Add("证券代码", typeof(string));
            dtCode.Columns.Add("证券名称", typeof(string));
            dtCode.Columns.Add("速记码", typeof(string));

            //打开数据文件,建立文件流
            FileStream   fs = null;
            BinaryReader br = null;

            try
            {
                fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
                br = new BinaryReader(fs);
            }
            catch
            {
                message = "读取文件" + filePath + "失败";
                return(null);
            }
            finally
            {
                message = "读取文件" + filePath + "成功";
            }

            //存放代码的开始位置
            int startAddress = 0x44A6;

            //每个代码块的大小
            int recordSize = 320;

            //从起始位置开始读,12开始的4个字节为代码表总数
            fs.Position = 0xC;// 12;

            //文件中证券总数
            int stockCount = br.ReadInt32();

            for (int i = 0; i < stockCount; i++)
            {
                //实例化一个证券代码
                StockCode sc = new StockCode();

                //文件流的位置,开始位置+第几块*每块大小
                fs.Position = startAddress + i * recordSize;

                //证券代码,10个字节,后面是\0,去掉
                sc.code =
                    this.Market + System.Text.Encoding.Default.GetString(br.ReadBytes(10)).Replace("\0", "");
                if (string.IsNullOrEmpty(sc.code))
                {
                    break;
                }

                //以下代码有点冗余,有空再改

                //判断该代码是否是需要的编码开头的代码
                foreach (string s in this.SegularCode.Split(new string[] { "," }, StringSplitOptions.None))
                {
                    if (sc.code.Substring(0, s.Length) == s)
                    {
                        //证券名称,32个字节
                        sc.name = System.Text.Encoding.Default.GetString(br.ReadBytes(32)).Replace("\0", "");

                        //速记码
                        sc.sjm = ChinesePinYin.GetChineseSpell(sc.name);

                        //将代码信息保存到表中
                        DataRow dRow = dtCode.NewRow();
                        dRow["证券代码"] = sc.code;
                        dRow["证券名称"] = sc.name;
                        dRow["速记码"]  = sc.sjm;
                        dtCode.Rows.Add(dRow);
                    }
                }

                //判断该代码是否是指定的代码,如指数
                foreach (string s in this.SegularCode.Split(new string[] { "," }, StringSplitOptions.None))
                {
                    if (sc.code == s)
                    {
                        //证券名称,32个字节
                        sc.name = System.Text.Encoding.Default.GetString(br.ReadBytes(32)).Replace("\0", "");

                        //将代码信息保存到表中
                        DataRow dRow = dtCode.NewRow();
                        dRow["证券代码"] = sc.code;
                        dRow["证券名称"] = sc.name;
                        dRow["速记码"]  = ChinesePinYin.GetChineseSpell(sc.name);
                        dtCode.Rows.Add(dRow);
                    }
                }
            }
            br.Close();
            fs.Close();
            fs.Dispose();
            return(dtCode);
        }
Exemplo n.º 14
0
        public async Task <ActionResult> Index()
        {
            #region get user info
            ViewBag.AbsolutePathHostName = AppHelper.AbsolutePathHostName;
            var company = new StockCode();
            //ApplicationUser currentUser = await UserManager.FindByIdAsync(User.Identity.GetUserId());
            UserLoginDTO currentUser = await(from userlog in db.UserLogins
                                             where userlog.UserNameCopy == User.Identity.Name
                                             select new UserLoginDTO
            {
                Id             = userlog.Id,
                CharacterLimit = userlog.CharacterLimit,
                FullName       = userlog.FullName,
                AvataImage     = userlog.AvataImage,
                AvataCover     = userlog.AvataCover,
                BrokerVIP      = userlog.BrokerVIP
            }).FirstOrDefaultAsync();
            #endregion
            #region Thong tin menu ben trai
            //Thong tin menu ben trai
            var post = await db.Posts.CountAsync(p => p.PostedBy == currentUser.Id);

            var follow = await db.FollowUsers.CountAsync(f => f.UserId == currentUser.Id);

            var follower = await db.FollowUsers.CountAsync(f => f.UserIdFollowed == currentUser.Id);

            ViewBag.TotalPost = post;
            ViewBag.Follow    = follow;
            ViewBag.Follower  = follower;

            ViewBag.CureentUserId  = currentUser.Id;
            ViewBag.CharacterLimit = currentUser.CharacterLimit;
            ViewBag.UserName       = User.Identity.Name;
            ViewBag.FullName       = currentUser.FullName;
            ViewBag.AvataEmage     = string.IsNullOrEmpty(currentUser.AvataImage) == true ? AppHelper.ImageURLAvataDefault : AppHelper.ImageURLAvata + currentUser.AvataImage;
            ViewBag.CoverImage     = string.IsNullOrEmpty(currentUser.AvataCover) == true ? AppHelper.ImageURLCoverDefault : AppHelper.ImageURLCover + currentUser.AvataCover;


            // cac post duoc loc tu danh muc nguoi theo doi => dc load o duoi client san
            var listPersonFollow = await(from userFollow in db.FollowUsers
                                         where userFollow.UserId == currentUser.Id
                                         select userFollow.UserIdFollowed
                                         ).ToArrayAsync();

            ViewBag.ListFollow = listPersonFollow as int[]; //client

            // cac post dc loc tu danh muc dau tu => dc load o duoc client san
            var listStock = await(from followStock in db.FollowStocks
                                  orderby followStock.StockFollowed ascending
                                  where followStock.UserId == currentUser.Id
                                  select followStock.StockFollowed).ToListAsync();

            ViewBag.listStockFollow = listStock as List <string>; // load o cliet
            // End thong tin menu ben trai
            //so luong tin cua User
            var numberMessegeNew = db.NotificationMesseges.Where(nm => nm.UserReciver == currentUser.Id && nm.NumNoti > 0).Sum(mn => mn.NumNoti);
            ViewBag.NewMessege = numberMessegeNew;


            #endregion
            #region danh muc co phieu dang follow
            ViewBag.listStockPriceFollow = _stockRealtime.GetAllStocksList(listStock as List <string>).Result;
            #endregion

            #region gia chi so index va hnxindex
            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(currentUser));
        }
Exemplo n.º 15
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));
        }
Exemplo n.º 16
0
        public async Task <ViewResult> Index(string symbolName)
        {
            using (db = new testEntities())
            {
                var             company     = new StockCode();
                ApplicationUser currentUser = await UserManager.FindByIdAsync(User.Identity.GetUserId());

                #region danh muc co phieu dang follow


                #endregion

                #region Thong tin menu ben trai
                // Thong tin menu ben trai
                var post = await db.Posts.CountAsync(p => p.PostedBy == currentUser.UserExtentLogin.Id);

                var follow = await db.FollowUsers.CountAsync(f => f.UserId == currentUser.UserExtentLogin.Id);

                var follower = await db.FollowUsers.CountAsync(f => f.UserIdFollowed == currentUser.UserExtentLogin.Id);

                var countStockFollowr = await db.FollowStocks.CountAsync(f => f.UserId == currentUser.UserExtentLogin.Id && f.StockFollowed == symbolName);

                if (countStockFollowr == 1)
                {
                    ViewBag.CheckStockExist = "Y";
                }
                else
                {
                    ViewBag.CheckStockExist = "N";
                }
                ViewBag.TotalPost = post;
                ViewBag.Follow    = follow;
                ViewBag.Follower  = follower;

                ViewBag.CoverImage = string.IsNullOrEmpty(currentUser.UserExtentLogin.AvataCover) == true ? ImageURLCoverDefault : ImageURLCover + currentUser.UserExtentLogin.AvataCover;
                ViewBag.AvataEmage = string.IsNullOrEmpty(currentUser.UserExtentLogin.AvataImage) == true ? ImageURLAvataDefault : ImageURLAvata + currentUser.UserExtentLogin.AvataImage;

                // End thong tin menu ben trai


                #endregion

                #region thong tin co phieu
                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.CureentUserId = currentUser.UserExtentLogin.Id;
                ViewBag.UserName      = currentUser.UserName;
                ViewBag.AvataImageUrl = string.IsNullOrEmpty(currentUser.UserExtentLogin.AvataImage) == true ? ImageURLAvataDefault : ImageURLAvata + currentUser.UserExtentLogin.AvataImage + "?width=46&height=46&mode=crop";
                #endregion

                #region danh muc co phieu vua moi xem duoc luu troong cookie

                /*
                 * //var cookie = new HttpCookie("cookiename");
                 *
                 * if (Request.Cookies["HotStockCookie" + currentUser.Id] == null)
                 * {
                 *  Response.Cookies.Clear();
                 *  Response.Cookies["HotStockCookie" + currentUser.Id].Value = "";
                 *  Response.Cookies["HotStockCookie" + currentUser.Id].Expires = DateTime.Now.AddDays(1);
                 * }
                 * else
                 * {
                 *  Response.Cookies["HotStockCookie" + currentUser.Id].Value = Request.Cookies["HotStockCookie" + currentUser.Id].Value.Replace("|" + symbolName, "") + "|" + symbolName;
                 * }
                 *
                 * string[] listHotStock = Response.Cookies["HotStockCookie" + currentUser.Id].Value.Split('|');
                 *
                 * if (listHotStock.Length > 11) // neu xem hon 10 co phieu thi chi hien thi 10 co phieu dau tien
                 * {
                 *  Response.Cookies["HotStockCookie" + currentUser.Id].Value = Request.Cookies["HotStockCookie" + currentUser.Id].Value.Remove(0, Request.Cookies["HotStockCookie" + currentUser.Id].Value.IndexOf("|", 1)); // hien thi 10 co phieu đau tien
                 *  listHotStock = Request.Cookies["HotStockCookie" + currentUser.Id].Value.Split('|');
                 * }
                 * List<string> listHotStockToArray = new List<string>();
                 * foreach (var item in listHotStock)
                 * {
                 *  listHotStockToArray.Add(item);
                 * }
                 * //var hotStockPrice = _stockRealtime.GetAllStocksTestList(listHotStockToArray).Result;
                 *
                 * ViewBag.HotStockPriceList = listHotStockToArray;//hotStockPrice.Count() == 0 ? new List<StockRealTime>() : hotStockPrice;
                 */
                #endregion

                #region danh muc dau tu
                var followstocks = await db.FollowStocks.Where(f => f.UserId == currentUser.UserExtentLogin.Id).ToListAsync();

                var listfollowstocksString = (from sf in followstocks
                                              select sf.StockFollowed).ToList();
                var DMDTShortName = (from fs in db.FollowStocks.ToList()
                                     join s in db.StockCodes.ToList() on fs.StockFollowed equals s.Code
                                     where listfollowstocksString.Contains(fs.StockFollowed)
                                     select new StockDetail
                {
                    Stock = fs.StockFollowed,
                    ShortName = s.ShortName
                }).ToList();
                ViewBag.HotStockDMDT = DMDTShortName;//_stockRealtime.GetAllStocksTestList(listfollowstocksString).Result;
                #endregion

                //return View(_stockRealtime.GetAllStocksTestList((List<string>)Session["listStock"]).Result);
                return(View(currentUser));
            }
        }