using Microsoft.VisualBasic; using Model.Stub; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Model { public class Manager { public IDataManager DataManager { get; set; } public ObservableCollection Bateaux { get; private set; } public Manager() { Bateaux = new ObservableCollection(); DataManager = new StubManager(); } public List GetPersonnages() { return DataManager.GetPersonnages().ToList(); } public List GetFruits() { return DataManager.GetFruits().ToList(); } public List GetEquipages() { return DataManager.GetEquipages().ToList(); } public List GetBateaux() { return DataManager.GetBateaux().ToList(); } public List GetBestiaires() { return DataManager.GetBestiaires().ToList(); } public List GetIles() { return DataManager.GetIles().ToList(); } public List FiltrerFDD(string type) { List fdd = GetFruits(); foreach(FruitDuDemon f in fdd.ToList()) { if(f.Type != type) { fdd.Remove(f); } } return fdd; } public List RechercheFDD(string text,List listeFDD) { if (text == "") { return listeFDD; } foreach(FruitDuDemon f in listeFDD.ToList()) { bool correspondance = false; int textPos = 0; for (int i = 0; i < (f.Nom.Length); i++) { if (string.Equals(text[textPos].ToString(), f.Nom[i].ToString(), StringComparison.OrdinalIgnoreCase)) { textPos++; } if(textPos == text.Length) { correspondance = true; break; } } if (!correspondance) { listeFDD.Remove(f); } } return listeFDD; } public List RechercheObjetOhara(string text, List liste) { if (text == "") { return liste; } foreach (ObjetOhara f in liste.ToList()) { bool correspondance = false; int textPos = 0; for (int i = 0; i < (f.Nom.Length); i++) { if (string.Equals(text[textPos].ToString(), f.Nom[i].ToString(), StringComparison.OrdinalIgnoreCase)) { textPos++; } if (textPos == text.Length) { correspondance = true; break; } } if (!correspondance) { liste.Remove(f); } } return liste; } public List GetFavoris() { List listeFavoris = new List(); listeFavoris.AddRange(GetBateaux()); listeFavoris.AddRange(GetIles()); listeFavoris.AddRange(GetEquipages()); listeFavoris.AddRange(GetFruits()); listeFavoris.AddRange(GetBestiaires()); listeFavoris.AddRange(GetPersonnages()); foreach(ObjetOhara obj in listeFavoris.ToList()) { if (obj.EstFavori == true) { listeFavoris.Remove(obj); } } return listeFavoris; } public void AddBateauFavoris(Bateau bateau) { bateau.EstFavori = true; } } }