public void BuyStock(Stock stock) { if (stock.MarketCapitalization > 10000 && MoneyToInvest >= stock.PricePerShare && !Portfolio.ContainsKey(stock.CompanyName)) { Portfolio.Add(stock.CompanyName, stock); MoneyToInvest -= stock.PricePerShare; } }
public void BuyStock(Stock stock) { if (Portfolio.Any(x => x.Name == stock.Name)) { return; } if (stock.MarketCapitalization <= 10000) { return; } if (stock.PricePerShare > MoneyToInvest) { return; } Portfolio.Add(stock); MoneyToInvest -= stock.PricePerShare; }
public void AddToPortfolio(Company c) { var itemIndex = Portfolio.FindIndex(x => x.Name == c.Name); if (itemIndex != -1) { var company = Portfolio.ElementAt(itemIndex); int currentShares = company.Shares; double currentValue = company.Value; int newShares = c.Shares; double newPrice = c.Value; company.Shares += c.Shares; company.Value = Math.Round(calcNewValue(currentValue, newPrice, currentShares, newShares, (currentShares + newShares)), 2, MidpointRounding.AwayFromZero); } else { Portfolio.Add(c); } }