Example #1
0
 public Zoo(Feeder feeder)
 {
     animals.Add(new Cat(true));
     animals.Add(new Hamster(true));
     foreach (Animal an in animals)
     {
         feeder.FeedingEvent += new FeedingHandle(an.Feed);
     }
 }
Example #2
0
        public SmallZoo(Feeder feeder)
        {
            animals.Add(new Cat(true));

            foreach (Animal an in animals)
            {
                feeder.FeedingEvent += (f, fargs) => { an.Feed(f, fargs); };
            }
        }
Example #3
0
        public BigZoo(Feeder feeder)
        {
            animals[0] = (new Cat(true));
            animals[1] = (new Hamster(true));

            for (int i = 0; i < ANIMALS_AMOUNT; i++)
            {
                feeder.FeedingEvent += new FeedingHandle(animals[i].Feed);
            }
        }
Example #4
0
 public static void JsonSerialization(Feeder feeder, string path)
 {
     using (Stream stream = new FileStream(path, FileMode.Create))
     {
         DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Feeder));
         ser.WriteObject(stream, feeder);
         stream.Position = 0;
         StreamReader streamReader = new StreamReader(stream);
         Console.WriteLine(streamReader.ReadToEnd());
         stream.Position = 0;
         Feeder result = (Feeder)ser.ReadObject(stream);
     }
 }
Example #5
0
        public BigZoo(Feeder feeder)
        {
            animals[0] = (new Cat(true));
            animals[1] = (new Hamster(true));

            for (int i = 0; i < ANIMALS_AMOUNT; i++)
            {
                /* Classical events (used in lab 2) */
                feeder.FeedingEvent += new FeedingHandle(animals[i].Feed);

                /* Usind anonym method */
                //feeder.FeedingEvent += delegate (Feeder f, FoodEventArgs fargs) { animals[i].Feed(f, fargs); };
            }
        }
Example #6
0
        static void Main(string[] args)
        {
            Feeder feeder = new Feeder("Katya");
            Zoo    zoo    = new Zoo(feeder);

            feeder.Feeding();

            Cat c = new lab1.Cat(false);

            Console.WriteLine("\nRacion of cat: \n");
            c.Racion();


            Console.ReadKey();
        }
Example #7
0
        public SmallZoo(Feeder feeder)
        {
            animals.Add(new Cat(true));

            foreach (Animal an in animals)
            {
                /* Using lambdas*/
                feeder.FeedingEvent += (f, fargs) => { an.Feed(f, fargs); };

                /* Using Func */
                //Func<Feeder, FoodEventArgs> FeedingEvent = (f, fargs) => { animals[i].Feed(f, fargs); };
                //FeedingEvent += (f, fargs) => { an.Feed(f, fargs);};

                /* Using Action */
                //Action<Feeder, FoodEventArgs> FeedingEvent = (f, fargs) => { animals[i].Feed(f, fargs); };
                //FeedingEvent += (f, fargs) => { an.Feed(f, fargs); };
            }
        }
Example #8
0
 public override void Feed(Feeder f, FoodEventArgs fargs)
 {
     if (isHungry)
     {
         makeSound();
         Console.WriteLine("Cat is feeding by " + f.name);
         try
         {
             Exceptions.ProcessFood(fargs.drink, fargs.foodAmount);
             Exceptions.ProcessCatFood(fargs.foodAmount);
         }
         catch (Exceptions ex)
         {
             Console.WriteLine("It is incorrect amount of food for Cat or incorrect drink" + ex.Message);
         }
     }
     else
     {
         Console.WriteLine("Meow, I am not hungry");
     }
 }
Example #9
0
 public override void Feed(Feeder f, FoodEventArgs fargs)
 {
     if (isHungry)
     {
         makeSound();
         Console.WriteLine("Hamster is feeding by " + f.name);
         try
         {
             Exceptions.ProcessFood(fargs.drink, fargs.foodAmount);
             Exceptions.ProcessHamsterFood(fargs.foodAmount);
         }
         catch
         {
             Console.WriteLine("It is incorrect amount of food for Hamster or incorrect drink");
         }
     }
     else
     {
         Console.WriteLine("I am not hungry");
     }
 }
Example #10
0
        static void Main(string[] args)
        {
            Cat c1 = new Cat(true);
            Cat c2 = new Cat(true);
            Cat c3 = new Cat(true);
            Cat c4 = new Cat(true);

            Hamster h1 = new Hamster(true);
            Hamster h2 = new Hamster(true);

            Feeder feeder1 = new Feeder("Katya", 18, "Female");
            Feeder feeder2 = new Feeder("Stas", 19, "Male");

            Feeder[] feeders = new Feeder[5];

            feeders[0] = feeder1;
            feeders[1] = feeder2;

            //Animal[] animals = new lab1.Animal[] { c1, c2, h1, h2 };
            Cat[] cats = new Cat[] { c1, c2, c3, c4 };

            /*
             * Feeder feeder1 = new Feeder("Katya");
             * Feeder feeder2 = new Feeder("Stas");
             * BigZoo zoo1 = new BigZoo(feeder1);
             * SmallZoo zoo2 = new SmallZoo(feeder2);
             * feeder1.Feeding();
             * feeder2.Feeding();
             *
             * Cat c = new lab1.Cat(false);
             * Console.WriteLine("\nRacion of cat: \n");
             * c.Racion();
             * c.SpecialRacion("milk");
             *
             */

            //JsonSerial(feeder1, "obj.json");
            XmlSerial(cats);
            Console.ReadKey();
        }
Example #11
0
 abstract public void Feed(Feeder f, FoodEventArgs fargs);