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.

127 lines
6.2 KiB

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using Modèle;
using Persistance;
namespace StubLib
{
/// <summary>
/// Classe Stub qui implémente IPersistanceManager et stocke des données dans le code
/// </summary>
public class Stub : IPersistanceManager
{
/// <summary>
/// List de Requin stocke les requins qui sont dans l'application
/// </summary>
private List<Requin> requins = new List<Requin>();
/// <summary>
/// List de Requin stocke les requins qui ont été édités par les utilisateurs
/// </summary>
private List<Requin> requinsEdit = new List<Requin>();
/// <summary>
/// List de Requin stocke les requins qui ont été ajoutés par les utilisateurs
/// </summary>
private List<Requin> requinsAdd = new List<Requin>();
/// <summary>
/// List d'Utilisateur stocke les utilisateurs de l'applications
/// </summary>
private List<Utilisateur> utilisateurs = new List<Utilisateur>();
/// <summary>
/// List d'Expert stocke les experts de l'application
/// </summary>
private List<Expert> expert = new List<Expert>();
/// <summary>
/// List de String stocke les fun facts de l'application
/// </summary>
private List<String> funFacts = new List<String>();
/// <summary>
/// Remplissage des listes avec des données pour l'application
/// </summary>
public Stub()
{
// Requins
List<Zone> zone = new List<Zone> { Zone.ATLANTIQUE };
List<Zone> zone2 = new List<Zone> { Zone.PACIFIQUE };
requins.Add(new Requin("mon requin adoré", "trop cool ce requin", "wow il est trop bo", "Images/Dormeur-Mexicain.png", "Videos/Vid-dormeur-mexicain.mp4", "Images/rep_Heterodontus_mexicanus.png", Conservation.EW, zone, "(C'est pas un vrai requin)"));
requins.Add(new Requin("Banane", "Le requin banal", "C'est un requin ultra banal", "Images/White_shark.png", "Videos/Vid-Requin-Blanc.mp4", "Images/rep_Heterodontus_mexicanus.png", Conservation.LC, zone, "Il est pas aussi banal qu'il en a l'air"));
requins.Add(new Requin("Req1", "Le requin pas banal", "C'est un requin pas ultra banal", "Images/White_shark.png", "Videos/Vid-dormeur-mexicain.mp4", "Images/rep_Heterodontus_mexicanus.png", Conservation.EX, zone2, "Il est vraiment pas banal"));
requinsAdd.Add(new Requin("leRequinAjouté", "Le requin pas banal", "C'est un requin pas ultra banal", "Images/White_shark.png", "Videos/Vid-dormeur-mexicain.mp4", "Images/rep_Heterodontus_mexicanus.png", Conservation.EX, zone2, "Il est vraiment pas banal"));
requinsAdd.Add(new Requin("leDeuxièmeRequinAjouté", "Le requin vraiemnt pas banal", "C'est un requin vraiment pas ultra banal", "Images/White_shark.png", "Videos/Vid-dormeur-mexicain.mp4", "Images/rep_Heterodontus_mexicanus.png", Conservation.EX, zone2, "Il est vraiment vraiment pas banal"));
requinsEdit.Add(new Requin("Banane", "Le requin banal", "C'est un requin ultra banal", "Images/White_shark.png", "Videos/Vid-Requin-Blanc.mp4", "Images/rep_Heterodontus_mexicanus.png", Conservation.EW, zone, "En fait il est giga banal"));
requinsAdd.Add(new Requin("leTroisièmeRequinAjouté", "Le requin pas banal", "C'est un requin pas ultra banal", "Images/White_shark.png", "Videos/Vid-dormeur-mexicain.mp4", "Images/rep_Heterodontus_mexicanus.png", Conservation.EX, zone2, "Il est vraiment pas banal"));
requinsAdd.Add(new Requin("leQuatrièmeRequinAjouté", "Le requin vraiemnt pas banal", "C'est un requin vraiment pas ultra banal", "Images/White_shark.png", "Videos/Vid-dormeur-mexicain.mp4", "Images/rep_Heterodontus_mexicanus.png", Conservation.EX, zone2, "Il est vraiment vraiment pas banal"));
// Utilisateurs
utilisateurs.Add(new Utilisateur("a", "salut"));
expert.Add(new Expert("salut", "hey", "bob"));
// FunFacts
funFacts.Add("Les requins c'est gentil en fait");
funFacts.Add("Le requin dormeur mexicain est objectivement le meilleur de tous les requins");
funFacts.Add("Le requin shrek est caché quelque part dans cette application");
}
/// <summary>
/// Charge les requins des listes de la classe
/// </summary>
/// <returns></returns>
public (List<Requin> reqs, List<Requin> reqsAdd, List<Requin> reqsEdit) LoadRequins()
{
return (new List<Requin>(requins), new List<Requin>(requinsAdd), new List<Requin>(requinsEdit));
}
/// <summary>
/// Sauvegarde les requins dans les listes de la classe
/// </summary>
/// <param name="reqs"></param>
/// <param name="reqsAdd"></param>
/// <param name="reqsEdit"></param>
public void SaveRequins(List<Requin> reqs, List<Requin> reqsAdd, List<Requin> reqsEdit)
{
requins = reqs;
requinsAdd = reqsAdd;
requinsEdit = reqsEdit;
}
/// <summary>
/// Charge les utilisateurs de la liste de la classe
/// </summary>
/// <returns></returns>
public (List<Utilisateur> users, List<Expert> experts) LoadUsers()
{
return (new List<Utilisateur>(utilisateurs), new List<Expert>(expert));
}
/// <summary>
/// Sauvegarde les utilisateurs dans la liste de la classe
/// </summary>
/// <param name="users"></param>
/// <param name="experts"></param>
public void SaveUsers(List<Utilisateur> users, List<Expert> experts)
{
utilisateurs = users;
expert = experts;
}
/// <summary>
/// Charge les fun facts dans la liste de la classe
/// </summary>
/// <returns></returns>
public List<String> LoadFunFacts()
{
return new List<String>(funFacts);
}
/// <summary>
/// Sauvegarde les fun facts dans la liste de la classe
/// </summary>
/// <param name="fun"></param>
public void SaveFunFacts(List<String> fun)
{
funFacts = fun;
}
}
}