Пример #1
0
 public void BuyStock(Stock stock)
 {
     if (stock.MarketCapitalization > 10000 && MoneyToInvest >= stock.PricePerShare && !Portfolio.ContainsKey(stock.CompanyName))
     {
         Portfolio.Add(stock.CompanyName, stock);
         MoneyToInvest -= stock.PricePerShare;
     }
 }
Пример #2
0
 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;
 }
Пример #3
0
        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);
            }
        }