예제 #1
0
        public FishTank LoadFishTankFromXmlFileAndCreateFishTank(string filePath)
        {
            var fishXml  = new XDocument(LoadFishTankFromFile(filePath));
            var fishTank = new FishTank();

            fishTank = ImportFishTankXmlToFishTank(fishXml);
            return(fishTank);
        }
예제 #2
0
        public FishTankXml(FishTank fishTank)
        {
            //todo throw exception if null
            if (fishTank == null)
            {
                throw new ArgumentException("Fish Tank cannot be null");;
            }

            FishTank = fishTank;
        }
예제 #3
0
        static void Main(string[] args)
        {
            var tank = new FishTank();

            Console.WriteLine(tank.Status);

            FishTank.Add();

            tank.HowMuchIsTheFish();

            Console.ReadLine();
        }
예제 #4
0
        public FishTank ImportFishTankXmlToFishTank(XDocument fishTankXml)
        {
            var fishTank = new FishTank();

            foreach (XElement xe in fishTankXml.Descendants("Fish"))
            {
                string assemblyQualifiedName = xe.Attribute("FishType").Value;
                string fishName = xe.Element("Name").Value;

                // Get the type contained in the name string
                Type type = Type.GetType(assemblyQualifiedName, true);

                // create an instance of that type
                Fish newFish = Activator.CreateInstance(type) as Fish;
                newFish.Name = fishName;

                fishTank.AddFish((Fish)newFish);
            }

            return(fishTank);
        }
예제 #5
0
        static void Main(string[] args)
        {
            //FishTank fishTank = new FishTank();
            //fishTank.AddFish(new GoldFish("Neil"));
            //fishTank.AddFish(new GoldFish("Boris"));
            //fishTank.AddFish(new BabelFish("Zaphod"));
            //fishTank.AddFish(new AngelFish("Charlie"));
            ////fishTank.AddFish(new GoldFish() { Name = "Neil" });

            //Console.WriteLine(fishTank.Feed);

            //var fishXml = new FishTankXml(fishTank);
            //fishXml.GenerateAndSaveFishTankXml(@"c:\FishTankXml\FishTank.xml");
            //fishTank.WriteAllFishToConsole();



            FishTank fishTank = new FishTank();
            var      fishXml  = new FishTankXml();

            fishTank = fishXml.LoadFishTankFromXmlFileAndCreateFishTank(@"c:\FishTankXml\FishTank.xml");
            fishTank.WriteAllFishToConsole();
        }