public JsonResult GetPortfolio()
        {
            int userId = UserContext.Instance.UserId;

            if (userId != 0)
            {
                PortfolioViewModel             viewModel = new PortfolioViewModel();
                List <PortfolioStockViewModel> folio     = new List <PortfolioStockViewModel>();
                var portfolioRecords = _core.GetPortfolio().Where(p => p.UserId == userId);
                var stocks           = _core.GetStocks().Where(s => portfolioRecords.Select(p => p.StockId).Contains(s.ID));
                foreach (var portfolio in portfolioRecords)
                {
                    var stock = stocks.Where(s => s.ID == portfolio.StockId).FirstOrDefault();
                    PortfolioStockViewModel v = new PortfolioStockViewModel()
                    {
                        Price    = stock.LastPrice,
                        Quantity = portfolio.Quantity,
                        Symbol   = stock.Symbol
                    };
                    viewModel.Folio.Add(v);
                }
                viewModel.FolioValue = _core.GetPortfolioValue(userId);
                viewModel.UserCash   = _core.GetUserCash(userId);
                return(Json(viewModel, JsonRequestBehavior.AllowGet));
            }
            return(Json(new HttpStatusCodeResult(System.Net.HttpStatusCode.InternalServerError, "You need to be signed in to use this page"), JsonRequestBehavior.AllowGet));
        }
Esempio n. 2
0
 public JsonResult Get()
 {
     return(Json(_core.GetStocks(), JsonRequestBehavior.AllowGet));
 }