public void AddChickenHouse(ChickenHouse field)
 {
     ChickenHouses.Add(field);
     Console.WriteLine("Chicken House has been added");
     Console.WriteLine("Press enter key to continue");
     Console.ReadLine();
 }
Example #2
0
 public void AddChickenHouse(ChickenHouse coop)
 {
     ChickenHouses.Add(coop);
     Console.WriteLine("Chicken House Added");
     Console.WriteLine("Press enter to return to Main Menu");
     Console.ReadLine();
 }
Example #3
0
        public static void CollectInput(Farm farm)
        {
            List <IList> list = farm.CreateFacilitiesList();

            for (int i = 0; i < list.Count; i++)
            {
                if (list[i][0].GetType().Name != "GrazingField" && list[i][0].GetType().Name != "ChickenHouse")
                {
                    list.RemoveAt(i);
                    i--;
                }
            }
            Console.WriteLine("Select facility type for processing");
            for (int i = 0; i < list.Count; i++)
            {
                Console.WriteLine($"{i + 1}  {list[i][0].GetType().Name}");
            }
            int choice = Convert.ToInt32(Console.ReadLine());

            List <GrazingField> grazingAnimalsWithMeat = new List <GrazingField>();

            foreach (var item in list[choice - 1])
            {
                if (item.GetType().Name == "GrazingField")
                {
                    GrazingField grazingFieldToCheck = (GrazingField)(item);
                    foreach (var animal in grazingFieldToCheck.AnimalsCount)
                    {
                        if (animal is IMeatProducing)
                        {
                            grazingAnimalsWithMeat.Add(grazingFieldToCheck);
                            break;
                        }
                    }
                }
                else if (item.GetType().Name == "ChickenHouse")
                {
                    ChickenHouse datThing = (ChickenHouse)(item);
                }
            }
            Console.WriteLine("Select which facility for processing");
            for (int i = 0; i < grazingAnimalsWithMeat.Count; i++)
            {
                Console.WriteLine($"{i + 1}: {grazingAnimalsWithMeat[i]}");
            }
            int facilityChoice = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("How Many?");
            int amountToProcess = Convert.ToInt32(Console.ReadLine());

            for (int i = 0; i < grazingAnimalsWithMeat[facilityChoice].AnimalsCount.Count; i++)
            {
//               if(AnimalsCount[i] is Cow){
// //store all the animals in a hashset . display all the animals for our choices. match the hashset key for the type we decide to
// //to delete.
//               }
            }
        }
        // Generates report for all facilities purchased
        public override string ToString()
        {
            StringBuilder report = new StringBuilder();

            GrazingFields.ForEach(gf => report.Append(gf));

            PlowedFields.ForEach(pf => report.Append(pf));

            NaturalFields.ForEach(nf => report.Append(nf));

            ChickenHouse.ForEach(ch => report.Append(ch));

            DuckHouses.ForEach(dh => report.Append(dh));

            return(report.ToString());
        }
Example #5
0
        public Farm()
        {
            FileHandler     = new FileHandler();
            SeedHarvester   = new SeedHarvester(FileHandler);
            Composter       = new Composter(FileHandler);
            MeatProcessor   = new MeatProcessor(FileHandler);
            FeatherGatherer = new FeatherGatherer(FileHandler);
            EggGatherer     = new EggGatherer(FileHandler);

            FileHandler.Facilities.ForEach(fac =>
            {
                IFacility newFacility = null;
                string[] facilityData = fac.Split(":");
                string type           = facilityData[0];
                string name           = facilityData[1];
                string data           = facilityData[2];

                switch (type)
                {
                case "Chicken House":
                    newFacility = new ChickenHouse(name, data);
                    break;

                case "Duck House":
                    newFacility = new DuckHouse(name, data);
                    break;

                case "Grazing Field":
                    newFacility = new GrazingField(name, data);
                    break;

                case "Plowed Field":
                    newFacility = new PlowedField(name, data);
                    break;

                case "Natural Field":
                    newFacility = new NaturalField(name, data);
                    break;

                default:
                    throw new Exception("Invalid data");
                }
                Facilities.Add(newFacility);
            });
        }
Example #6
0
        public static void CollectChickenInput(ChickenHouse Chickenhouse)
        {
            Utils.Clear();
            Console.WriteLine("The following animals are in the Chicken House.\n");
            Console.WriteLine($"1. {Chickenhouse.AnimalCount()}");
            Console.WriteLine("\nHow many Chickens should be processed?");
            Console.Write("> ");
            var parsedChoice = int.Parse(Console.ReadLine());

            while (true)
            {
                for (int i = 0; i < parsedChoice; i++)
                {
                    Chickenhouse.Animals.Remove(Chickenhouse.Animals[Chickenhouse.Animals.Count - i - 1]);
                }
                break;
            }
        }
        public static void CollectInput(Farm farm, Chicken chicken)
        {
            Console.Clear();

            ChickenHouse anyHouseWithRoom = farm.ChickenHouses.Find(ch => ch.CurrentCapacity < ch.MaxCapacity);

            if (anyHouseWithRoom != null)
            {
                for (int i = 0; i < farm.ChickenHouses.Count; i++)
                {
                    ChickenHouse currentHouse = farm.ChickenHouses[i];
                    if (currentHouse.CurrentCapacity < currentHouse.MaxCapacity)
                    {
                        Console.WriteLine($"{i + 1}. {currentHouse}");
                    }
                }

                Console.WriteLine();

                // How can I output the type of plant chosen here?
                if (UserTriedToSelectAFullFacility)
                {
                    Console.WriteLine("That facility is already full.");
                }
                Console.WriteLine($"Place the Chicken where?");

                Console.Write("> ");
                int choice = Int32.Parse(Console.ReadLine()) - 1;

                farm.ChickenHouses[choice].AddResource(farm, chicken);
            }
            else
            {
                PurchaseStock.ThereIsNoRoomForTheAnimalBeingPurchased = true;
                Program.DisplayBanner();
                PurchaseStock.CollectInput(farm);
            }

            /*
             *  Couldn't get this to work. Can you?
             *  Stretch goal. Only if the app is fully functional.
             */
            // farm.PurchaseResource<IGrazing>(animal, choice);
        }
Example #8
0
        public static void CollectInput(Farm farm, IResource animal)
        {
            Console.Clear();

            for (int i = 0; i < farm.ChickenHouses.Count; i++)
            {
                if (farm.ChickenHouses[i].Chickens.Count < farm.ChickenHouses[i].Capacity)
                {
                    ChickenHouse specificHouse = farm.ChickenHouses[i];
                    Console.WriteLine($"{i + 1}. {specificHouse}");
                }
            }

            Console.WriteLine();

            // How can I output the type of animal chosen here?
            Console.WriteLine($"Place the animal where?");

            Console.Write("> ");

            try
            {
                int choice = Int32.Parse(Console.ReadLine()) - 1;
                farm.ChickenHouses[choice].AddResource(animal);
            }
            catch (ArgumentOutOfRangeException ex)
            {
                Console.WriteLine(ex);
            }


            /*
             *  Couldn't get this to work. Can you?
             *  Stretch goal. Only if the app is fully functional.
             */
            // farm.PurchaseResource<IGrazing>(animal, choice);
        }
Example #9
0
        public static void CollectInput(Farm farm, IHousing animal)
        {
            Console.Clear();

            for (int i = 0; i < farm.ChickenHouses.Count; i++)
            {
                ChickenHouse house = farm.ChickenHouses[i];
                if (house.Capacity > 0)
                {
                    Console.WriteLine($"{i + 1}. Chicken House");
                    Console.Write($"Current animals: {house.GetList().Count}");
                    Console.WriteLine();
                }
            }
            if (farm.ChickenHouses.Count >= 1)
            {
                Console.WriteLine();
                // How can I output the type of animal chosen here?
                Console.WriteLine($"Place the animal where?");
                Console.Write("> ");
                int choice = Int32.Parse(Console.ReadLine());
                int index  = choice - 1;

                farm.ChickenHouses[index].AddResource(animal);
            }
            else
            {
                Console.WriteLine("No Field to select from, Please purchase an appropriate facility. ");
                Console.ReadLine();
            }

            /*
             *  Couldn't get this to work. Can you?
             *  Stretch goal. Only if the app is fully functional.
             */
            // farm.PurchaseResource<IGrazing>(animal, choice);
        }
Example #10
0
 public void AddChickenHouse(ChickenHouse field)
 {
     ChickenHouses.Add(field);
     Console.WriteLine("Chicken house successfully created");
     Thread.Sleep(1500);
 }
 public void AddChickenHouse(ChickenHouse chickenHouse)
 {
     ChickenHouses.Add(chickenHouse);
 }
        public static void ListResources(Farm farm, string id, string type)
        {
            IEnumerable <ChickenHouse> CorrectHouseEnumerable = from house in farm.ChickenHouses
                                                                where house.ShortId == id
                                                                select house;

            List <ChickenHouse> CorrectHouseList = CorrectHouseEnumerable.ToList();

            ChickenHouse CorrectHouse = CorrectHouseList[0];

            IEnumerable <ChickenHouseReport> OrderedChickens = (from chicken in CorrectHouse.animalsList
                                                                group chicken by chicken.Type into NewGroup
                                                                select new ChickenHouseReport
            {
                AnimalType = NewGroup.Key,
                Number = NewGroup.Count().ToString()
            }
                                                                );


            List <ChickenHouseReport> ChickenList = OrderedChickens.ToList();

            int count = 1;

            Console.WriteLine();
            Console.WriteLine("The following is in the Chicken House:");
            Console.WriteLine();
            foreach (ChickenHouseReport chicken in ChickenList)
            {
                Console.WriteLine($"{count}: {chicken.Number} {chicken.AnimalType}");
                count++;
            }

            Console.WriteLine();
            Console.WriteLine("Which resource should be processed?");
            Console.Write("> ");
            int choice          = Int32.Parse(Console.ReadLine());
            int correctedChoice = choice - 1;

            string AnimalType = ChickenList[correctedChoice].AnimalType;

            Console.WriteLine($"How many {AnimalType} should be processed? (Max 7)");
            int amountToProcess = Int32.Parse(Console.ReadLine());

            if (amountToProcess > 7)
            {
                Console.WriteLine("Learn to read, dumbass");
                amountToProcess = Int32.Parse(Console.ReadLine());
            }
            if (amountToProcess <= 5)
            {
                farm.ProcessingList.Add(new ToProcess
                {
                    FacilityId      = CorrectHouse.ShortId,
                    Type            = AnimalType,
                    AmountToProcess = amountToProcess
                });

                Console.WriteLine("Ready to process? (Y/n)");
                Console.Write("> ");
                string input = Console.ReadLine();

                switch (input)
                {
                case "Y":
                    break;

                case "n":
                    ChooseMeatProcessor.CollectInput(farm);
                    break;

                default:
                    break;
                }
            }
        }
Example #13
0
 public void AddChickenHouse(ChickenHouse house)
 {
     ChickenHouses.Add(house);
     Console.WriteLine("Chicken House created successfully!");
     Console.WriteLine(ChickenHouses[ChickenHouses.Count - 1]);
 }
 public void AddChickenHouse(ChickenHouse coop)
 {
     ChickenHouses.Add(coop);
 }
Example #15
0
 public void AddChickenHouse(ChickenHouse field) => ChickenHouse.Add(field);
 public void AddChickenHouse(ChickenHouse house)
 {
     ChickenHouses.Add(house);
     Console.WriteLine("A new chicken house has been created.");
     Thread.Sleep(2000);
 }
 public void AddChickenHouse(ChickenHouse chicken)
 {
     ChickenHouse.Add(chicken);
     Console.WriteLine("Your chicken coop has been purchased.");
 }
Example #18
0
 public void AddChickenHouse(ChickenHouse house)
 {
     ChickenHouses.Add(house);
     // Confirmation
     System.Console.WriteLine($"{house} has been added");
 }
Example #19
0
 public void AddChickenHouse(ChickenHouse house)
 {
     ChickenHouses.Add(house);
     Console.WriteLine($"New Chicken House has been created!");
     Console.ReadLine();
 }
Example #20
0
 public void AddChickenHouse(ChickenHouse field)
 {
     ChickenHouses.Add(field);
 }
Example #21
0
 public void AddChickenHouse(ChickenHouse house)
 {
     ChickenHouses.Add(house);
     AvailableChickenHouses.Add(house);
 }
Example #22
0
 public void AddChickenHouse(ChickenHouse house)
 {
     ChickenHouses.Add(house);
 }
Example #23
0
 public void AddChickenHouse(ChickenHouse chickenHouse)
 {
     ChickenHouseList.Add(chickenHouse);
     FacilityList.Add(chickenHouse);
 }
Example #24
0
 public void AddChickenHouse(ChickenHouse house)
 {
     ChickenHouses.Add(house);
     Console.WriteLine("You have added a chicken house!");
 }
Example #25
0
 public void AddChickenHouse(ChickenHouse coup)
 {
     ChickenHomes.Add(coup);
 }