using GameAtlas.Models;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace GameAtlas.Stub
{
    public class Stub : IPersistanceManager
    {
        public (ObservableCollection<Jeu>,List<Admin>,List<Utilisateur>) ChargeDonnees()
        {
            List<Utilisateur> ListUsers = new List<Utilisateur>();
            List<Admin> ListAdmins = new List<Admin>();
            ObservableCollection<Jeu> ListJeu = new ObservableCollection<Jeu>();

            Utilisateur userTest = new Utilisateur("test@gmail.com", "test", "Test1234");
            Admin admin = new Admin("admin@example.com", "admin", "Admin1234");
            ListUsers.Add(userTest);
            ListAdmins.Add(admin);

            Jeu TheLastOfUs = new Jeu("The Last Of Us Part I", "Dans un monde dévasté où rôdent infectés et survivants endurcis, Joel, un protagoniste désabusé, est engagé pour faire sortir Ellie, 14 ans, d'une zone de quarantaine militaire. Mais ce qui devait être une simple mission de routine se transforme vite en un dangereux périple à travers le pays.", "28 Mars 2023", "PS5 PC", "Naughty Dog LLC", "PlayStation PC LLC", 8.5, 487, "Solo Action Aventure", "cover_lastofus1.png");
            Jeu ForzaHorizon = new Jeu("Forza Horizon 5", "Dans ce jeu, vous pouvez explorer une carte en monde ouvert vraiment massive, cinquante pour cent plus grande que la carte non négligeable de Forza Horizon 4. Faites la course avec divers véhicules à travers la caldeira d'un volcan, explorez les jungles et les forêts tropicales à la recherche de villes en ruines cachées, parcourez les plages de sable blanc, et passez devant des chutes d'eau, des montagnes enneigées et de grandes villes comme Guanajuato, qui possède un réseau de tunnels secrets à explorer !", "9 Novembre 2021", "PC XOne", "Playground Games", "Xbox Game Studios", 6.5, 420, "Course Simulation Sport", "cover_forzahorizon5.png");
            Jeu TOTK = new Jeu("The Legend of Zelda: Tears of the Kingdom", "Dans ce jeu, vous pouvez explorer une carte en monde ouvert vraiment massive, cinquante pour cent plus grande que la carte non négligeable de Forza Horizon 4. Faites la course avec divers véhicules à travers la caldeira d'un volcan, explorez les jungles et les forêts tropicales à la recherche de villes en ruines cachées, parcourez les plages de sable blanc, et passez devant des chutes d'eau, des montagnes enneigées et de grandes villes comme Guanajuato, qui possède un réseau de tunnels secrets à explorer !", "12 Mai 2023", "Switch", "Nintendo", "Nintendo", 10, 250, "Action Aventure", "cover_zelda.png");
            Jeu ReadyOrNot = new Jeu("Ready or Not", "Ready or Not est un jeu de tir tactique et intense en vue subjective. Membre d'une unité d'élite de la police, vous relevez les défis du monde moderne, tous plus délicats les uns que les autres.", "18 Décembre 2021", "PC", "VOID Interactive", "VOID Interactive", 7, 100, "Solo Action Aventure", "cover_readyornot.png");
            Jeu Hogwarts = new Jeu("Hogwarts Legacy : L'Héritage de Poudlard", "Hogwarts Legacy est un jeu de rôle d'action et d'aventure solo basé sur l'univers de Harry Potter, dans lequel le joueur incarne un nouveau venu dans le château enchanté tant apprécié des fans des livres et de la franchise cinématographique.", "10 Février 2023", "PC Switch XOne", "Avalanche Software", "Warner Bros. Games", 5, 100, "Solo Action Aventure RPG", "cover_hogwarts.png");
            Jeu RE4 = new Jeu("Resident Evil 4", "Six ans se sont écoulés depuis la catastrophe biologique de Raccoon City. L'agent Leon S. Kennedy, l'un des survivants du drame, est envoyé secourir la fille du président qui a été kidnappée. Son enquête le mène jusqu'à un village européen isolé, dont les habitants cachent un effroyable secret. Et ainsi se lève le rideau d'une histoire de sauvetage audacieux et d'horreur atroce, où se mêlent vie, mort, terreur et catharsis.", "24 Mars 2023", "PC XSeries", "CAPCOM Co., Ltd.", "CAPCOM Co., Ltd.", 8, 100, "Solo Action Aventure", "cover_residentevil4.png");
            Jeu JediSurvivor = new Jeu("Star Wars Jedi: Survivor", "Poussé aux confins de la galaxie par l'Empire, Cal devra faire face à toujours plus de menaces, parmi lesquelles l'attendent des adversaires au visage familier. En tant qu'un des derniers représentants encore en vie des Chevaliers Jedi, Cal devra faire un choix pendant cette période sombre de l'histoire de la galaxie. Mais jusqu'où sera-t-il prêt à aller pour assurer sa survie et celle de son équipage, et défendre l'héritage de l'Ordre Jedi ?", "28 Avril 2023", "PC XSeries", "Respawn", "Electronic Arts", 5.5, 100, "Solo Action Aventure", "cover_starwarsjedisurvivor.png");
            ListJeu.Add(TheLastOfUs);
            ListJeu.Add(ForzaHorizon);
            ListJeu.Add(TOTK);
            ListJeu.Add(ReadyOrNot);
            ListJeu.Add(Hogwarts);
            ListJeu.Add(RE4);
            ListJeu.Add(JediSurvivor);

            return (ListJeu,ListAdmins,ListUsers);
        }

        public void SauvegardeDonnees(ObservableCollection<Jeu> jeux, List<Admin> admins, List<Utilisateur> utilisateurs)
        {
            throw new NotImplementedException();
        }
    }
}