public void LoadInvestors(string fileName)
        {
            StreamReader sr = new StreamReader(fileName);

            while (!sr.EndOfStream)
            {
                string InvestorName = sr.ReadLine();

                string line = sr.ReadLine();
                Dictionary <string, ComodityItem> comodities = new Dictionary <string, ComodityItem>();
                while (line != "*****")
                {
                    IComodity com;
                    if (ComoditiesOnMarket.TryGetValue(line, out com))
                    {
                    }
                    else
                    {
                        throw new MarketException("Unknown comodity in input file.");
                    }
                    line = sr.ReadLine();
                    double       amount = Double.Parse(line);
                    ComodityItem item   = new ComodityItem(amount, com);
                    comodities.Add(item.Comodity.Name, item);
                    line = sr.ReadLine();
                }
                Investor investor = new Investor(InvestorName, comodities);
                investors.Add(InvestorName, investor);
            }
        }
        public double GetPrice(string comodityName)
        {
            IComodity com;

            if (ComoditiesOnMarket.TryGetValue(comodityName, out com))
            {
                return(com.CurrentValue);
            }
            else
            {
                throw new MarketException("Unknown comodity");
            }
        }
        public void ShiftComodity(string comodityName, double shift)
        {
            IComodity com;

            if (ComoditiesOnMarket.TryGetValue(comodityName, out com))
            {
                com.ShiftComodityValue(shift);
            }
            else
            {
                throw new MarketException("Unknown comodity");
            }
        }
        public void SetNewTarget(string comodityName, double target)
        {
            IComodity com;

            if (ComoditiesOnMarket.TryGetValue(comodityName, out com))
            {
                com.SetNewTarget(target);
            }
            else
            {
                throw new MarketException("Unknown comodity");
            }
        }
        public void BuyComodity(string investorName, string comodityName, double amount)
        {
            Investor  inv;
            IComodity com;

            if (ComoditiesOnMarket.TryGetValue(comodityName, out com))
            {
            }
            else
            {
                throw new MarketException("Unknown comodity");
            }
            if (investors.TryGetValue(investorName, out inv))
            {
                inv.BuyComodity(comodityName, amount, com);
            }
            else
            {
                throw new MarketException("Unknown investor");
            }
        }