static void Main(string[] args) { var elephant = new Elephant(); var bird = new Bird(); var employee = new ZooEmployee(23, "Petro"); var visitor = new Visitor(15, "Ivan"); employee.GoToTheZoo(); visitor.GoToTheZoo(); var plant = new Plant(); var birdAviary = new Aviary(); var elephantAviary = new Aviary(); birdAviary.PlacePlant(plant); birdAviary.PlaxeAnimal(bird); elephantAviary.PlaxeAnimal(elephant); Console.WriteLine(birdAviary.GetStatus()); employee.FeedAnimal(elephant); employee.FeedAnimal(bird); visitor.Observe(elephant); visitor.Observe(bird); }
public AviaryDTO ToAviaryDTO(Aviary aviary) { try { if (aviary == null || !(aviary is GlassAviary)) { throw new ArgumentException("Пустой объект (вольер) или не подходящего типа!!!"); } var aviaryDTO = new GlassAviaryDTO(); aviaryDTO.Kind = (aviary as GlassAviary).Kind; aviaryDTO.Status = aviary.Status; aviaryDTO.Volume = (aviary as GlassAviary).Volume; aviaryDTO.Capacity = aviary.Capacity; var converter = new AnimalConverter(); foreach (var inhabitant in aviary.GetListOfInhabitants()) { aviaryDTO.Inhabitants.Add(converter.ToAnimalDTO(inhabitant)); } return(aviaryDTO); } catch (ArgumentException) { throw; } }
static void Main(string[] args) { var elephant = new Elephant(); var bird = new Bird(); var employee = new Employee(23, "Tom"); var visitor = new Visitor(15, "Bill"); employee.GoToTheZoo(); visitor.GoToTheZoo(); var herb = new Herb(); var birdAviary = new Aviary(); var elephantAviery = new Aviary(); birdAviary.PlaceHerb(herb); birdAviary.PlaceAnimal(bird); elephantAviery.PlaceAnimal(elephant); Console.WriteLine(birdAviary.GetStatus()); employee.FeedAnimal(elephant); employee.FeedAnimal(bird); visitor.Observe(elephant); visitor.Observe(bird); }
public bool TransferAnimal(Animal animal, Aviary receiver) { try { if (animal == null || receiver == null) { throw new ArgumentException("Пустая ссылка на животное и/или вольер!!!"); } var sender = _aviaries.FirstOrDefault(aviary => aviary.GetListOfInhabitants().Contains(animal)); if (sender == null) { throw new ArgumentException("Животное в зоопарке отсутствует!!!"); } if (FindAviary(receiver.Number) == null) { throw new ArgumentException("Вольер назначения в зоопарке отсутствует!!!"); } if (receiver.Status != AviaryStatus.Closed && receiver.FreePlaces > 0 && receiver.IsCorrectForSettlement(animal)) { sender.EvictAnimal(animal); if (receiver.SettleAnimal(animal)) { return(true); } sender.SettleAnimal(animal); } return(false); } catch (ArgumentException) { throw; } }
public Aviary Update(Aviary aviary) { dbContext.Aviaries.Attach(aviary); dbContext.Aviaries.Update(aviary); if (aviary.AviaryKinds != null) { dbContext.AviaryKinds.UpdateRange(aviary.AviaryKinds); } dbContext.SaveChanges(); return(aviary); }
private void InitRoot() { root = new HabitationsGroup(); Pasture pasture = new Pasture(CommonTestData.bowtruckle); Room room = new Room(CommonTestData.demiguise); Aviary aviary = new Aviary(CommonTestData.occamy); root.AddContainer(pasture); root.AddContainer(room); root.AddContainer(aviary); }
public void AddAviary(Aviary aviary) { try { if (aviary == null) { throw new ArgumentException("Пустая ссылка на вольер!!!"); } _aviaries.Add(aviary); } catch (ArgumentException) { throw; } }
public Aviary ToAviary(AviaryDTO aviaryDTO) { try { if (aviaryDTO == null) { throw new ArgumentException("Пустой DTO объект (вольер)!!!"); } Aviary aviary = null; IAviaryConverter converter; switch (aviaryDTO.GetType().Name.ToString()) { case "AquariumDTO": converter = new AquariumConverter(); aviary = converter.ToAviary(aviaryDTO); break; case "CageDTO": converter = new CageConverter(); aviary = converter.ToAviary(aviaryDTO); break; case "GlassAviaryDTO": converter = new GlassAviaryConverter(); aviary = converter.ToAviary(aviaryDTO); break; case "PoolDTO": converter = new PoolConverter(); aviary = converter.ToAviary(aviaryDTO); break; case "YardDTO": converter = new YardConverter(); aviary = converter.ToAviary(aviaryDTO); break; } return(aviary); } catch (ArgumentException) { throw; } }
public bool SettleAnimal(Animal animal, Aviary aviary) { try { if (animal == null || aviary == null) { throw new ArgumentException("Пустая ссылка на животное и/или вольер!!!"); } if (FindAviary(aviary.Number) == null) { throw new ArgumentException("Вольер назначения в зоопарке отсутствует!!!"); } return(aviary.SettleAnimal(animal)); } catch (ArgumentException) { throw; } }
public void SetSelectedItem(object item) { _selected = (Aviary)item; animals = new ObservableCollection <Animal>(_selected.Animals); inventories = new ObservableCollection <Inventory>(_selected.Inventories); }
public void ResetSelected() { _selected = null; animals = null; inventories = null; }
public AviaryListElement(Aviary aviary) { _aviary = aviary; }
//---------Вольеры public void AddAviary(object zoo, object type, object kind, double size, byte capacity) { Aviary aviary = null; switch ((type as AviaryTypeListElement).Type) { case AviaryType.Cage: if (size > 0 && capacity > 0) { aviary = new Cage((CageType)kind, size, capacity); } else { aviary = new Cage((CageType)kind); } break; case AviaryType.Yard: if (size > 0 && capacity > 0) { aviary = new Yard((YardType)kind, size, capacity); } else { aviary = new Yard((YardType)kind); } break; case AviaryType.Pool: if (size > 0 && capacity > 0) { aviary = new Pool((PoolType)kind, size, capacity); } else { aviary = new Pool((PoolType)kind); } break; case AviaryType.GlassAviary: if (size > 0 && capacity > 0) { aviary = new GlassAviary((GlassAviaryType)kind, size, capacity); } else { aviary = new GlassAviary((GlassAviaryType)kind); } break; case AviaryType.Aquarium: if (size > 0 && capacity > 0) { aviary = new Aquarium((AquariumType)kind, size, capacity); } else { aviary = new Aquarium((AquariumType)kind); } break; } (zoo as ZooListElement).Zoo.AddAviary(aviary); }
public void CleanAvary(Aviary aviary) { }
private void SettleAnimal() { Console.Clear(); Console.WriteLine("Выберите класс добавляемого животного"); Console.WriteLine("------------------------------------------------"); Console.WriteLine("1. {0} (Млекопитающие) - (по умолчанию)", AnimalClass.Mammal.ToString()); Console.WriteLine("2. {0} (Птицы)", AnimalClass.Bird.ToString()); Console.WriteLine("3. {0} (Рептилии)", AnimalClass.Reptile.ToString()); Console.WriteLine("4. {0} (Земноводные)", AnimalClass.Amphibian.ToString()); Console.WriteLine("5. {0} (Рыбы)", AnimalClass.Fish.ToString()); Console.WriteLine("------------------------------------------------"); Console.Write("Ваш выбор:"); Animal animal; switch (Console.ReadLine()) { case "1": default: animal = CreateMammal(); break; case "2": animal = CreateBird(); break; case "3": animal = CreateReptile(); break; case "4": animal = CreateAmphibian(); break; case "5": animal = CreateFish(); break; } Console.WriteLine("------------------------------------------------"); Console.WriteLine("Создано новое животное"); Console.WriteLine("------------------------------------------------"); Console.WriteLine(animal.ToString()); Console.WriteLine("------------------------------------------------"); Aviary targetAviary = null; foreach (var aviary in _zoo.GetListOfAviaries()) { if (_zoo.SettleAnimal(animal, aviary)) { targetAviary = aviary; break; } } if (targetAviary != null) { Console.WriteLine("Новое животное помещено в вольер номер {0}", targetAviary.Number); } else { Console.WriteLine("Подходящий свободный вольер не найден."); } Console.WriteLine("------------------------------------------------"); Console.WriteLine("Нажмите любую клавишу для возврата в меню..."); Console.ReadKey(); }
static void Main(string[] args) { Console.WriteLine("Ви зайшли в програму по управлiнню зоопарком. Можете тут нагодувати тварин, які голодні"); Console.WriteLine("Котра зараз година?"); DateTimeOffset time = DateTimeOffset.Now; DateTimeOffset timeutc = DateTimeOffset.UtcNow; int hourUtc = time.Hour - timeutc.Hour; int minuteUtc = time.Minute - timeutc.Minute; Console.WriteLine(time.Hour + ":" + time.Minute + ", UTC : " + 2 + ":" + minuteUtc); Aviary aviaryNumber1 = new Aviary(1, ListOfAnimals.Jaguars); Base.Aviaries.Add(aviaryNumber1.Id, aviaryNumber1); Aviary aviaryNumber2 = new Aviary(2, ListOfAnimals.Tigers); Base.Aviaries.Add(aviaryNumber2.Id, aviaryNumber2); Food meat = new Food("М'ясо", 39, ListOfAnimals.Jaguars); Base.Foods.Add(meat); Ration forTigers = new Ration(meat, ListOfAnimals.Tigers); Base.Rations.Add(forTigers.Id, forTigers); Ration forJaguars = new Ration(meat, ListOfAnimals.Jaguars); Base.Rations.Add(forJaguars.Id, forJaguars); //І'мя, cкільки років, який вольєр, який тип тварин, коли їсть вранці, коли їсть вечером, тип живлення, що саме, чи голодна Animal animalZebra = new Animal(Guid.NewGuid(), "Майя", new DateTimeOffset(2000, 11, 4, 11, 02, 55, new TimeSpan(hourUtc, minuteUtc, 0)), (int)((time - new DateTimeOffset(2000, 11, 4, 11, 02, 55, new TimeSpan(hourUtc, minuteUtc, 0))).TotalDays / 365), TypeOfAnimals.Mammals, TypeOfAnimalsOnTutrion.Herbivores, ListOfAnimals.Tigers); Base.Animals.Add(animalZebra.Id, animalZebra); Animal animalSinica = new Animal(Guid.NewGuid(), "Рябуха", new DateTimeOffset(2010, 11, 4, 11, 02, 55, new TimeSpan(hourUtc, minuteUtc, 0)), (int)((time - new DateTimeOffset(2010, 11, 4, 11, 02, 55, new TimeSpan(hourUtc, minuteUtc, 0))).TotalDays / 365), TypeOfAnimals.Mammals, TypeOfAnimalsOnTutrion.Omnivorous, ListOfAnimals.Jaguars ); Base.Animals.Add(animalSinica.Id, animalSinica); Animal animalDog = new Animal(Guid.NewGuid(), "Жук", new DateTimeOffset(2005, 11, 4, 11, 02, 55, new TimeSpan(hourUtc, minuteUtc, 0)), (int)((time - new DateTimeOffset(2005, 11, 4, 11, 02, 55, new TimeSpan(hourUtc, minuteUtc, 0))).TotalDays / 356), TypeOfAnimals.Mammals, TypeOfAnimalsOnTutrion.MeatEaters, ListOfAnimals.Jaguars); Base.Animals.Add(animalDog.Id, animalDog); //CheckedType.CheckedTypeOfAnimals(); foreach (KeyValuePair <Guid, Aviary> keyValue in Base.Aviaries) { foreach (Animal animal in keyValue.Value.Animals) { TypeOfAnimals animal2; int number = 0; number++; if (number != keyValue.Value.Animals.Count) { animal2 = keyValue.Value.Animals.ElementAt(number).TypeOfAnimals; if (animal2 != animal.TypeOfAnimals) { Console.WriteLine("У вас в одному вольєрі живуть різні типи тварин, перевірте у своїх вольєрах тварин!"); } } } } // ChangeHungry.ChangeHungryOfAnimal(); foreach (KeyValuePair <Guid, Animal> keyValue in Base.Animals) { Animal animal = keyValue.Value; // Console.WriteLine(keyValue.Value.Name); switch (keyValue.Value.ListAnimals) { case ListOfAnimals.Tigers: { switch (keyValue.Value.Age) { case int n when(keyValue.Value.Age <= 2): { foreach (Ration ration in Base.Rations.Values) { if (animal.ListAnimals == ration.ListAnimals) { int weight = ration.WeightPortion; weight = 1; ration.Weight(weight); int coef = ration.Coefficient; coef = 1; ration.Coef(coef); DateTimeOffset time1 = new DateTimeOffset(time.Year, time.Month, time.Day, 7, 0, 00, new TimeSpan(2, 0, 0)); DateTimeOffset time2 = new DateTimeOffset(time.Year, time.Month, time.Day, 11, 0, 00, new TimeSpan(2, 0, 0)); DateTimeOffset time3 = new DateTimeOffset(time.Year, time.Month, time.Day, 15, 0, 00, new TimeSpan(2, 0, 0)); DateTimeOffset time4 = new DateTimeOffset(time.Year, time.Month, time.Day, 16, 0, 00, new TimeSpan(2, 0, 0)); DateTimeOffset time5 = new DateTimeOffset(time.Year, time.Month, time.Day, 21, 0, 00, new TimeSpan(2, 0, 0)); ration.Eating.Add(time1); ration.Eating.Add(time2); ration.Eating.Add(time3); ration.Eating.Add(time4); ration.Eating.Add(time5); foreach (DateTimeOffset t in ration.Eating) { if (time.Hour > t.Hour + weight * coef) { animal.ChangeHungry(true); } else { animal.ChangeHungry(false); } } } } break; } case int n when(keyValue.Value.Age <= 10): { foreach (Ration ration in Base.Rations.Values) { if (animal.ListAnimals == ration.ListAnimals) { int weight = ration.WeightPortion; weight = 6; ration.Weight(weight); int coef = ration.Coefficient; coef = 3; ration.Coef(coef); DateTimeOffset time1 = new DateTimeOffset(time.Year, time.Month, time.Day, 7, 0, 00, new TimeSpan(2, 0, 0)); DateTimeOffset time2 = new DateTimeOffset(time.Year, time.Month, time.Day, 17, 0, 00, new TimeSpan(2, 0, 0)); ration.Eating.Add(time1); ration.Eating.Add(time2); foreach (DateTimeOffset t in ration.Eating) { if (time.Hour > t.Hour + weight * coef) { animal.ChangeHungry(true); } else { animal.ChangeHungry(false); } } } } break; } case int n when(keyValue.Value.Age <= 10): { foreach (Ration ration in Base.Rations.Values) { if (animal.ListAnimals == ration.ListAnimals) { int weight = ration.WeightPortion; weight = 6; ration.Weight(weight); int coef = ration.Coefficient; coef = 3; ration.Coef(coef); DateTimeOffset time1 = new DateTimeOffset(time.Year, time.Month, time.Day, 7, 0, 00, new TimeSpan(2, 0, 0)); DateTimeOffset time2 = new DateTimeOffset(time.Year, time.Month, time.Day, 17, 0, 00, new TimeSpan(2, 0, 0)); ration.Eating.Add(time1); ration.Eating.Add(time2); foreach (DateTimeOffset t in ration.Eating) { if (time.Hour > t.Hour + weight * coef) { animal.ChangeHungry(true); } else { animal.ChangeHungry(false); } } } } break; } case int n when(keyValue.Value.Age > 10): { foreach (Ration ration in Base.Rations.Values) { if (animal.ListAnimals == ration.ListAnimals) { int weight = ration.WeightPortion; weight = 2; ration.Weight(weight); int coef = ration.Coefficient; coef = 3; ration.Coef(coef); DateTimeOffset time1 = new DateTimeOffset(time.Year, time.Month, time.Day, 7, 0, 00, new TimeSpan(2, 0, 0)); DateTimeOffset time2 = new DateTimeOffset(time.Year, time.Month, time.Day, 18, 0, 00, new TimeSpan(2, 0, 0)); ration.Eating.Add(time1); ration.Eating.Add(time2); foreach (DateTimeOffset t in ration.Eating) { if (time.Hour > t.Hour + weight * coef) { animal.ChangeHungry(true); } else { animal.ChangeHungry(false); } } } } break; } } break; } case ListOfAnimals.Jaguars: { switch (keyValue.Value.Age) { case int n when(keyValue.Value.Age <= 1): { foreach (Ration ration in Base.Rations.Values) { if (animal.ListAnimals == ration.ListAnimals) { int weight = ration.WeightPortion; weight = 1; ration.Weight(weight); int coef = ration.Coefficient; coef = 3; ration.Coef(coef); DateTimeOffset time1 = new DateTimeOffset(time.Year, time.Month, time.Day, 7, 0, 00, new TimeSpan(2, 0, 0)); DateTimeOffset time2 = new DateTimeOffset(time.Year, time.Month, time.Day, 11, 0, 00, new TimeSpan(2, 0, 0)); DateTimeOffset time3 = new DateTimeOffset(time.Year, time.Month, time.Day, 15, 0, 00, new TimeSpan(2, 0, 0)); DateTimeOffset time4 = new DateTimeOffset(time.Year, time.Month, time.Day, 16, 0, 00, new TimeSpan(2, 0, 0)); DateTimeOffset time5 = new DateTimeOffset(time.Year, time.Month, time.Day, 21, 0, 00, new TimeSpan(2, 0, 0)); ration.Eating.Add(time1); ration.Eating.Add(time2); ration.Eating.Add(time3); ration.Eating.Add(time4); ration.Eating.Add(time5); foreach (DateTimeOffset t in ration.Eating) { if (time.Hour > t.Hour + weight * coef) { animal.ChangeHungry(true); } else { animal.ChangeHungry(false); } } } } break; } case int n when(keyValue.Value.Age <= 5): { foreach (Ration ration in Base.Rations.Values) { if (animal.ListAnimals == ration.ListAnimals) { int weight = ration.WeightPortion; weight = 1; ration.Weight(weight); int coef = ration.Coefficient; coef = 2; ration.Coef(coef); DateTimeOffset time1 = new DateTimeOffset(time.Year, time.Month, time.Day, 7, 0, 00, new TimeSpan(2, 0, 0)); DateTimeOffset time2 = new DateTimeOffset(time.Year, time.Month, time.Day, 10, 0, 00, new TimeSpan(2, 0, 0)); DateTimeOffset time3 = new DateTimeOffset(time.Year, time.Month, time.Day, 15, 0, 00, new TimeSpan(2, 0, 0)); DateTimeOffset time4 = new DateTimeOffset(time.Year, time.Month, time.Day, 19, 0, 00, new TimeSpan(2, 0, 0)); ration.Eating.Add(time1); ration.Eating.Add(time2); ration.Eating.Add(time3); ration.Eating.Add(time4); foreach (DateTimeOffset t in ration.Eating) { if (time.Hour > t.Hour + weight * coef) { animal.ChangeHungry(true); } else { animal.ChangeHungry(false); } } } } break; } case int n when(keyValue.Value.Age <= 10): { foreach (Ration ration in Base.Rations.Values) { if (animal.ListAnimals == ration.ListAnimals) { int weight = ration.WeightPortion; weight = 3; ration.Weight(weight); int coef = ration.Coefficient; coef = 1; ration.Coef(coef); DateTimeOffset time1 = new DateTimeOffset(time.Year, time.Month, time.Day, 7, 0, 00, new TimeSpan(2, 0, 0)); DateTimeOffset time2 = new DateTimeOffset(time.Year, time.Month, time.Day, 17, 0, 00, new TimeSpan(2, 0, 0)); ration.Eating.Add(time1); ration.Eating.Add(time2); foreach (DateTimeOffset t in ration.Eating) { if (time.Hour > t.Hour + weight * coef) { animal.ChangeHungry(true); } else { animal.ChangeHungry(false); } } } } break; } case int n when(keyValue.Value.Age > 10): { foreach (Ration ration in Base.Rations.Values) { if (animal.ListAnimals == ration.ListAnimals) { int weight = ration.WeightPortion; weight = 1; ration.Weight(weight); int coef = ration.Coefficient; coef = 3; ration.Coef(coef); DateTimeOffset time1 = new DateTimeOffset(time.Year, time.Month, time.Day, 7, 0, 00, new TimeSpan(2, 0, 0)); DateTimeOffset time3 = new DateTimeOffset(time.Year, time.Month, time.Day, 22, 0, 00, new TimeSpan(2, 0, 0)); ration.Eating.Add(time1); ration.Eating.Add(time3); foreach (DateTimeOffset t in ration.Eating) { if (time.Hour > t.Hour + weight * coef) { animal.ChangeHungry(true); } else { animal.ChangeHungry(false); } } } } break; } } break; } case ListOfAnimals.Delfins: { switch (keyValue.Value.Age) { case int n when(keyValue.Value.Age <= 2): { foreach (Ration ration in Base.Rations.Values) { if (animal.ListAnimals == ration.ListAnimals) { int weight = ration.WeightPortion; weight = 1; ration.Weight(weight); int coef = ration.Coefficient; coef = 1; ration.Coef(coef); DateTimeOffset time1 = new DateTimeOffset(time.Year, time.Month, time.Day, 7, 0, 00, new TimeSpan(2, 0, 0)); DateTimeOffset time2 = new DateTimeOffset(time.Year, time.Month, time.Day, 11, 0, 00, new TimeSpan(2, 0, 0)); DateTimeOffset time3 = new DateTimeOffset(time.Year, time.Month, time.Day, 15, 0, 00, new TimeSpan(2, 0, 0)); DateTimeOffset time4 = new DateTimeOffset(time.Year, time.Month, time.Day, 16, 0, 00, new TimeSpan(2, 0, 0)); DateTimeOffset time5 = new DateTimeOffset(time.Year, time.Month, time.Day, 21, 0, 00, new TimeSpan(2, 0, 0)); ration.Eating.Add(time1); ration.Eating.Add(time2); ration.Eating.Add(time3); ration.Eating.Add(time4); ration.Eating.Add(time5); foreach (DateTimeOffset t in ration.Eating) { if (time.Hour > t.Hour + weight * coef) { animal.ChangeHungry(true); } else { animal.ChangeHungry(false); } } } } break; } case int n when(keyValue.Value.Age <= 5): { foreach (Ration ration in Base.Rations.Values) { if (animal.ListAnimals == ration.ListAnimals) { int weight = ration.WeightPortion; weight = 6; ration.Weight(weight); int coef = ration.Coefficient; coef = 4; ration.Coef(coef); DateTimeOffset time1 = new DateTimeOffset(time.Year, time.Month, time.Day, 7, 0, 00, new TimeSpan(2, 0, 0)); DateTimeOffset time2 = new DateTimeOffset(time.Year, time.Month, time.Day, 17, 0, 00, new TimeSpan(2, 0, 0)); ration.Eating.Add(time1); ration.Eating.Add(time2); foreach (DateTimeOffset t in ration.Eating) { if (time.Hour > t.Hour + weight * coef) { animal.ChangeHungry(true); } else { animal.ChangeHungry(false); } } } } break; } case int n when(keyValue.Value.Age <= 5): { foreach (Ration ration in Base.Rations.Values) { if (animal.ListAnimals == ration.ListAnimals) { int weight = ration.WeightPortion; weight = 2; ration.Weight(weight); int coef = ration.Coefficient; coef = 3; ration.Coef(coef); DateTimeOffset time1 = new DateTimeOffset(time.Year, time.Month, time.Day, 7, 0, 00, new TimeSpan(2, 0, 0)); DateTimeOffset time2 = new DateTimeOffset(time.Year, time.Month, time.Day, 17, 0, 00, new TimeSpan(2, 0, 0)); ration.Eating.Add(time1); ration.Eating.Add(time2); foreach (DateTimeOffset t in ration.Eating) { if (time.Hour > t.Hour + weight * coef) { animal.ChangeHungry(true); } else { animal.ChangeHungry(false); } } } } break; } case int n when(keyValue.Value.Age <= 10): { foreach (Ration ration in Base.Rations.Values) { if (animal.ListAnimals == ration.ListAnimals) { int weight = ration.WeightPortion; weight = 4; ration.Weight(weight); int coef = ration.Coefficient; coef = 3; ration.Coef(coef); DateTimeOffset time1 = new DateTimeOffset(time.Year, time.Month, time.Day, 7, 0, 00, new TimeSpan(2, 0, 0)); DateTimeOffset time3 = new DateTimeOffset(time.Year, time.Month, time.Day, 19, 0, 00, new TimeSpan(2, 0, 0)); ration.Eating.Add(time1); ration.Eating.Add(time3); foreach (DateTimeOffset t in ration.Eating) { if (time.Hour > t.Hour + weight * coef) { animal.ChangeHungry(true); } else { animal.ChangeHungry(false); } } } } break; } case int n when(keyValue.Value.Age > 10): { foreach (Ration ration in Base.Rations.Values) { if (animal.ListAnimals == ration.ListAnimals) { int weight = ration.WeightPortion; weight = 4; ration.Weight(weight); int coef = ration.Coefficient; coef = 3; ration.Coef(coef); DateTimeOffset time1 = new DateTimeOffset(time.Year, time.Month, time.Day, 7, 0, 00, new TimeSpan(2, 0, 0)); DateTimeOffset time3 = new DateTimeOffset(time.Year, time.Month, time.Day, 19, 0, 00, new TimeSpan(2, 0, 0)); ration.Eating.Add(time1); ration.Eating.Add(time3); foreach (DateTimeOffset t in ration.Eating) { if (time.Hour > t.Hour + weight * coef) { animal.ChangeHungry(true); } else { animal.ChangeHungry(false); } } } } break; } } break; } case ListOfAnimals.Zebras: { switch (keyValue.Value.Age) { case int n when(keyValue.Value.Age <= 3): { foreach (Ration ration in Base.Rations.Values) { if (animal.ListAnimals == ration.ListAnimals) { int weight = ration.WeightPortion; weight = 1; ration.Weight(weight); int coef = ration.Coefficient; coef = 3; ration.Coef(coef); DateTimeOffset time1 = new DateTimeOffset(time.Year, time.Month, time.Day, 7, 0, 00, new TimeSpan(2, 0, 0)); DateTimeOffset time2 = new DateTimeOffset(time.Year, time.Month, time.Day, 11, 0, 00, new TimeSpan(2, 0, 0)); DateTimeOffset time3 = new DateTimeOffset(time.Year, time.Month, time.Day, 15, 0, 00, new TimeSpan(2, 0, 0)); DateTimeOffset time4 = new DateTimeOffset(time.Year, time.Month, time.Day, 16, 0, 00, new TimeSpan(2, 0, 0)); DateTimeOffset time5 = new DateTimeOffset(time.Year, time.Month, time.Day, 21, 0, 00, new TimeSpan(2, 0, 0)); ration.Eating.Add(time1); ration.Eating.Add(time2); ration.Eating.Add(time3); ration.Eating.Add(time4); ration.Eating.Add(time5); foreach (DateTimeOffset t in ration.Eating) { if (time.Hour > t.Hour + weight * coef) { animal.ChangeHungry(true); } else { animal.ChangeHungry(false); } } } } break; } case int n when(keyValue.Value.Age <= 5): { foreach (Ration ration in Base.Rations.Values) { if (animal.ListAnimals == ration.ListAnimals) { int weight = ration.WeightPortion; weight = 2; ration.Weight(weight); int coef = ration.Coefficient; coef = 3; ration.Coef(coef); DateTimeOffset time1 = new DateTimeOffset(time.Year, time.Month, time.Day, 7, 0, 00, new TimeSpan(2, 0, 0)); DateTimeOffset time2 = new DateTimeOffset(time.Year, time.Month, time.Day, 17, 0, 00, new TimeSpan(2, 0, 0)); ration.Eating.Add(time1); ration.Eating.Add(time2); foreach (DateTimeOffset t in ration.Eating) { if (time.Hour > t.Hour + weight * coef) { animal.ChangeHungry(true); } else { animal.ChangeHungry(false); } } } } break; } case int n when(keyValue.Value.Age <= 10): { foreach (Ration ration in Base.Rations.Values) { if (animal.ListAnimals == ration.ListAnimals) { int weight = ration.WeightPortion; weight = 1; ration.Weight(weight); int coef = ration.Coefficient; coef = 4; ration.Coef(coef); DateTimeOffset time1 = new DateTimeOffset(time.Year, time.Month, time.Day, 7, 0, 00, new TimeSpan(2, 0, 0)); DateTimeOffset time2 = new DateTimeOffset(time.Year, time.Month, time.Day, 14, 0, 00, new TimeSpan(2, 0, 0)); DateTimeOffset time3 = new DateTimeOffset(time.Year, time.Month, time.Day, 19, 0, 00, new TimeSpan(2, 0, 0)); ration.Eating.Add(time1); ration.Eating.Add(time2); foreach (DateTimeOffset t in ration.Eating) { if (time.Hour > t.Hour + weight * coef) { animal.ChangeHungry(true); } else { animal.ChangeHungry(false); } } } } break; } case int n when(keyValue.Value.Age > 10): { foreach (Ration ration in Base.Rations.Values) { if (animal.ListAnimals == ration.ListAnimals) { int weight = ration.WeightPortion; weight = 4; ration.Weight(weight); int coef = ration.Coefficient; coef = 3; ration.Coef(coef); DateTimeOffset time1 = new DateTimeOffset(time.Year, time.Month, time.Day, 9, 0, 00, new TimeSpan(2, 0, 0)); DateTimeOffset time3 = new DateTimeOffset(time.Year, time.Month, time.Day, 19, 0, 00, new TimeSpan(2, 0, 0)); ration.Eating.Add(time1); ration.Eating.Add(time3); foreach (DateTimeOffset t in ration.Eating) { if (time.Hour > t.Hour + weight * coef) { animal.ChangeHungry(true); } else { animal.ChangeHungry(false); } } } } break; } } break; } } } foreach (KeyValuePair <Guid, Aviary> keyValue in Base.Aviaries) { Console.WriteLine(keyValue.Value.Number); foreach (Animal animal in keyValue.Value.Animals) { if (animal.ListAnimals == keyValue.Value.ListAnimals) { Console.WriteLine("Ім'я тварини: " + animal.Name + ", " + "Дата народження: " + animal.YearOfBirth + ", Age: " + animal.Age + ", Вольєр " + keyValue.Value.Number + " " + animal.ListAnimals + "Чи голодна тварина? " + animal.Hungry + ", " + "Яка тварина? " + animal.TypeOfAnimalsOnTutrion + ", Раціон : "); } } } Console.WriteLine("Вивести список голодних тварин?"); string answer = Console.ReadLine(); if (answer == "y") { foreach (KeyValuePair <Guid, Animal> animal in Base.Animals) { bool r = animal.Value.Hungry; if (r == true) { HungryAnimal.Add(animal.Value); } } } foreach (Animal animal in HungryAnimal) { Console.WriteLine("Список голодних тварин: " + animal.Name + animal.ListAnimals); } if (HungryAnimal.Count == 0) { Console.WriteLine("У вас немає голодних тварин"); } else { for (int i = HungryAnimal.Count; i > 0; i--) { int count = HungryAnimal.Count; Console.WriteLine(count); for (int l = count; l > 0; l--) { Console.WriteLine("Ваші запаси їжї"); foreach (Food food in Base.Foods) { Console.WriteLine(food.Name + " " + food.Weight); } } Console.WriteLine("Ви хочете нагодувати тварин?"); string answer3 = Console.ReadLine(); if (answer3 == "y") { Console.WriteLine("Кого хочете нагодувати? Введить ім'я :"); string answer2 = Console.ReadLine(); foreach (KeyValuePair <Guid, Aviary> keyValue in Base.Aviaries) { foreach (Animal animal in keyValue.Value.Animals) { if (animal.Name == answer2) { bool k = animal.Hungry; k = false; HungryAnimal.Remove(animal); animal.ChangeHungry(k); foreach (Food food in Base.Foods) { foreach (KeyValuePair <Guid, Ration> rat in Base.Rations) { if (food.ListAnimals == rat.Value.ListAnimals) { int weight = food.Weight; weight -= rat.Value.WeightPortion; food.ChangeWeight(weight); } } } } } } } } } }