public void Buy(IValuablePieceOfPaper paper, double quantity) { paper.Quantity -= quantity; if (Money >= quantity * paper.Price) { Money = Math.Round(Money - quantity * paper.Price, 2); InvestedMoney += quantity * paper.Price; if (!ownings.Contains(Find(paper.Name, ownings))) { ownings.Add(paper.CreateAPair(quantity)); //incapsulated } else { var paper0 = Find(paper.Name, ownings); paper0.Quantity += quantity; paper0.TotalValue = paper0.Price * paper0.Quantity; } } }