You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

78 lines
2.3 KiB

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Model
{
public class Especetheque
{
public ReadOnlyCollection<Espece> ListeEspeces { get; private set; }
private readonly List<Espece> listeEspeces = new List<Espece>();
public Especetheque()
{
ListeEspeces = new ReadOnlyCollection<Espece>(listeEspeces);
LoadEspecetheque();
}
private void LoadEspecetheque()
{
HashSet<Race> Races = new HashSet<Race>();
Races.Add(new("Abyssin"));
Races.Add(new("American curl"));
listeEspeces.Add(new("Chien", "Canis lupus familiaris", "chien.png"));
listeEspeces.Add(new("Chat", "Felis catus", "chat.png", "15 à 20 ans", "15 à 20 kg", "10 à 15 cm", Races));
listeEspeces.Add(new("Hamster", "Cricetinae"));
listeEspeces.Add(new("Lapin", "Oryctolagus cuniculus"));
}
public void AfficherListeEspece()
{
Console.WriteLine("LISTE DES ESPECES : ");
foreach (Espece espece in ListeEspeces)
{
Console.WriteLine("\t" + espece.Nom + " (" + espece.NomScientifique + ")");
}
Console.WriteLine("\n");
}
public Espece? RechercherEspece(string choix)
{
foreach (Espece espece in ListeEspeces)
{
if (espece.Nom == choix)
{
return espece;
}
}
return null;
}
public void SelectionnerEspece()
{
string choix = "";
while (choix != "-1")
{
AfficherListeEspece();
Console.Write("\n\tEntrer le nom de l'espèce à sélectionner (-1 pour annuler) : ");
choix = Console.ReadLine();
Espece espece = RechercherEspece(choix);
if (espece != null)
{
espece.AfficherEspece();
}
else Console.WriteLine("\tChoix incorrect\n");
}
}
}
}