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
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");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|