Exemplo n.º 1
0
        public async Task <IActionResult> DeleteStock(int?id)
        {
            ApplicationUser user = await _userManager.FindByIdAsync(HttpContext.User.GetUserId());

            List <Portfolio> portfolios       = _context.Portfolio.Include(a => a.PortfolioAssets).Where(p => p.User.Id == user.Id).ToList();
            Portfolio        workingPortfolio = portfolios.Find(p => p.ID == id);

            portfolios.Remove(workingPortfolio);

            var model = new DeleteStockFromPortfolioViewModel {
                WorkingPortfolio = workingPortfolio, UserPortfolios = portfolios
            };

            return(View(model));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> DeleteStock(int?id, string stockTicker, string amountRemove)
        {
            ApplicationUser user = await _userManager.FindByIdAsync(HttpContext.User.GetUserId());

            List <Portfolio> portfolios       = _context.Portfolio.Where(p => p.User.Id == user.Id).Include(p => p.PortfolioAssets).ToList();
            Portfolio        workingPortfolio = portfolios.Single(p => p.ID == id);

            portfolios.Remove(workingPortfolio);

            var model = new DeleteStockFromPortfolioViewModel {
                WorkingPortfolio = workingPortfolio, UserPortfolios = portfolios
            };

            PortfolioAsset asset = _context.PortfolioAsset.Single(p => p.PortfolioID == id && p.AssetSymbol == stockTicker);

            if (asset.NumberOfAssetOwned < int.Parse(amountRemove))
            {
                asset.NumberOfAssetOwned = 0;
            }
            else
            {
                asset.NumberOfAssetOwned -= int.Parse(amountRemove);
            }

            if (asset.NumberOfAssetOwned == 0)
            {
                _context.PortfolioAsset.Remove(asset);
                await _context.SaveChangesAsync();
            }
            else
            {
                _context.Update(asset);
                await _context.SaveChangesAsync();
            }

            HttpContext.Session.Remove("selected_port_viewmodel");
            return(View(model));
        }