diff --git a/CI.drone.yml b/CI.drone.yml new file mode 100644 index 0000000..9bb99fb --- /dev/null +++ b/CI.drone.yml @@ -0,0 +1,26 @@ +kind: pipeline +type: docker +name: CI_Ohara + +trigger: + event: + - push + +steps: + - name: build + image: hub.codefirst.iut.uca.fr/marc.chevaldonne/codefirst-dotnet7-maui:latest + commands: + - cd Sources/ + - dotnet restore Ohara.sln + - dotnet build Ohara.sln -c Release --no-restore /p:AndroidSdkDirectory=$ANDROID_SDK_ROOT -property:Aapt2ToolPath=$ANDROID_SDK_ROOT/build-tools/33.0.0 + - dotnet publish Ohara/Ohara.csproj -c Release --no-restore -o $CI_PROJECT_DIR/build/release -f:net7.0-android /p:AndroidSdkDirectory=/usr/lib/android-sdk + + - name: tests + image: mcr.microsoft.com/dotnet/sdk:7.0 + commands: + - cd Sources/ + - dotnet restore Ohara.sln + - dotnet test Ohara.sln --no-restore + depends_on: [build] + + diff --git a/README.md b/README.md index 000831f..4d55ef1 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,61 @@ # Ohara_MAUI -Test \ No newline at end of file +```mermaid +classDiagram + class Bateau{ + -NomRomanise : string + -PremierChap : int + -PremierEp : int + -Description : string + -Caracteristique : string + } + + class Bestiaire { + -Origine : string + -Description : string + -Caracteristique : string + } + + class Equipage { + -NomRomanise : string + -Region : string + -PremierChap : int + -PremierEp : int + -Statut : bool + -Description : string + } + + class FruitDuDemon { + -NomRomanise : string + -Type : string + -PremierChap : int + -PremierEp : int + -Description : string + -Forces : string + -Faiblesses : string + } + + class Ile { + -NomRomanise : string + -Region : string + -PremierChap : int + -PremierEp : int + -Description : string + Geographie : string + } + + class Personnage { + -Prime : double + -Epithete : string + -Age : int + -Taille : double + -Origine : string + -Biographie : string + -Citation : string + } + + class ObjetOhara { + -Nom : string + -Image : string? + } +``` + diff --git a/Sources/Model/Bateau.cs b/Sources/Model/Bateau.cs index 927d23a..1f4c31b 100644 --- a/Sources/Model/Bateau.cs +++ b/Sources/Model/Bateau.cs @@ -6,27 +6,27 @@ using System.Threading.Tasks; namespace Model { - public class Bateau + public class Bateau : ObjetOhara { - public string Nom { get; set; } + public string NomRomanise { get; set; } public Equipage? Affiliation { get; set; } public int PremierChap { get; set; } public int PremierEp { get; set; } public string Description { get; set; } public string Caracteristique { get; set; } - public string? Image { get; set; } + - public Bateau(string nom, string nomRomanise, int premierChap, int premierEp, string description, string caracteristique, string image) + public Bateau(string nom, string nomRomanise, int premierChap, int premierEp, string description, string caracteristique, string image) : base(nom,image) { - Nom = nom; + NomRomanise = nomRomanise; PremierChap = premierChap; PremierEp = premierEp; Description = description; Caracteristique = caracteristique; - Image= image; + } public Bateau(string nom, string nomRomanise, Equipage affiliation, int premierChap, int premierEp, string description, string caracteristique, string image) : this(nom,nomRomanise,premierChap,premierEp,description,caracteristique,image) diff --git a/Sources/Model/Bestiaire.cs b/Sources/Model/Bestiaire.cs index 1b5e4d8..00731e5 100644 --- a/Sources/Model/Bestiaire.cs +++ b/Sources/Model/Bestiaire.cs @@ -7,25 +7,21 @@ using System.Threading.Tasks; namespace Model { - public class Bestiaire + public class Bestiaire : ObjetOhara { - public string Nom { get; set; } + public string Origine { get; set; } public string Description { get; set; } public string Caracteristique { get; set; } - public string? Image { get; set; } + - public Bestiaire(string nom, string origine, string description, string caracteristique) + public Bestiaire(string nom, string origine, string description, string caracteristique,string image) : base(nom, image) { - Nom = nom; Origine = origine; Description = description; Caracteristique = caracteristique; } - public Bestiaire(string nom, string origine, string description, string caracteristique,string image) : this(nom,origine,description,caracteristique) - { - Image = image; - } + } } diff --git a/Sources/Model/Equipage.cs b/Sources/Model/Equipage.cs index 1c7490f..9b386d5 100644 --- a/Sources/Model/Equipage.cs +++ b/Sources/Model/Equipage.cs @@ -6,11 +6,10 @@ using System.Threading.Tasks; namespace Model { - public class Equipage + public class Equipage : ObjetOhara { - public string Nom { get; set; } + public string NomRomanise { get; set; } - public string Region { get; set; } public int PremierChap { get; set; } public int PremierEp { get; set; } @@ -19,18 +18,18 @@ namespace Model public Personnage? Capitaine { get; set; } public List Membre { get; set; } = new List(); public List Allie { get; set; } = new List(); - public string? Image { get; set; } + - public Equipage(string nom, string nomRomanise, string region, int premierChap, int premierEp, bool statut, string description,string image) + public Equipage(string nom, string nomRomanise, string region, int premierChap, int premierEp, bool statut, string description,string image) : base(nom,image) { - Nom = nom; + NomRomanise = nomRomanise; Region = region; PremierChap = premierChap; PremierEp = premierEp; Statut = statut; Description = description; - Image = image; + } } } diff --git a/Sources/Model/FruitDuDemon.cs b/Sources/Model/FruitDuDemon.cs index 81145b8..fce2c01 100644 --- a/Sources/Model/FruitDuDemon.cs +++ b/Sources/Model/FruitDuDemon.cs @@ -6,9 +6,9 @@ using System.Threading.Tasks; namespace Model { - public class FruitDuDemon + public class FruitDuDemon : ObjetOhara { - public string Nom { get; set; } + public string NomRomanise { get; set; } public string Type { get; set; } public int PremierChap { get; set; } @@ -17,11 +17,12 @@ namespace Model public string Forces { get; set; } public string Faiblesses { get; set; } public List Utilisateur { get; set; }= new List(); - public string? Image { get; set; } + + - public FruitDuDemon(string nom, string nomRomanise, string type, int premierChap, int premierEp, string description, string forces, string faiblesses) + public FruitDuDemon(string nom, string nomRomanise, string type, int premierChap, int premierEp, string description, string forces, string faiblesses, string image) : base(nom,image) { - Nom = nom; + NomRomanise = nomRomanise; Type = type; PremierChap = premierChap; @@ -29,13 +30,9 @@ namespace Model Description = description; Forces = forces; Faiblesses = faiblesses; - - } - public FruitDuDemon(string nom, string nomRomanise, string type, int premierChap, int premierEp, string description, string forces, string faiblesses,string image) : this(nom, nomRomanise, type, premierChap, premierEp, description, forces, faiblesses) - { - Image = image; } - public FruitDuDemon(string nom, string nomRomanise, string type, int premierChap, int premierEp, string description, string forces, string faiblesses, List utilisateur) : this( nom, nomRomanise, type, premierChap, premierEp, description, forces, faiblesses) + + public FruitDuDemon(string nom, string nomRomanise, string type, int premierChap, int premierEp, string description, string forces, string faiblesses,string image, List utilisateur) : this( nom, nomRomanise, type, premierChap, premierEp, description, forces, faiblesses, image) { Utilisateur = utilisateur; } diff --git a/Sources/Model/IDataManager.cs b/Sources/Model/IDataManager.cs index 9575d14..8cf01e9 100644 --- a/Sources/Model/IDataManager.cs +++ b/Sources/Model/IDataManager.cs @@ -8,11 +8,11 @@ namespace Model { public interface IDataManager { - IEnumerable RecupererBateau(); - IEnumerable RecupererBestiaire(); - IEnumerable RecupererEquipage(); - IEnumerable RecupererFruit(); - IEnumerable RecupererIle(); - IEnumerable RecupererPersonnage(); + IEnumerable GetBateaux(); + IEnumerable GetBestiaires(); + IEnumerable GetEquipages(); + IEnumerable GetFruits(); + IEnumerable GetIles(); + IEnumerable GetPersonnages(); } } diff --git a/Sources/Model/Ile.cs b/Sources/Model/Ile.cs index 6567933..14fb050 100644 --- a/Sources/Model/Ile.cs +++ b/Sources/Model/Ile.cs @@ -6,28 +6,28 @@ using System.Threading.Tasks; namespace Model { - public class Ile + public class Ile : ObjetOhara { - public string Nom { get; set; } + public string NomRomanise { get; set; } public string Region { get; set; } public int PremierChap { get; set; } public int PremierEp { get; set; } public string Description { get; set; } public string Geographie { get; set; } - public string? Image { get; set; } + - public Ile(string nom, string nomRomanise, string region, int premierChap, int premierEp, string description, string geographie, string image) + public Ile(string nom, string nomRomanise, string region, int premierChap, int premierEp, string description, string geographie, string image) : base(nom,image) { - Nom = nom; + NomRomanise = nomRomanise; Region = region; PremierChap = premierChap; PremierEp = premierEp; Description = description; Geographie = geographie; - Image = image; + } } } diff --git a/Sources/Model/Manager.cs b/Sources/Model/Manager.cs index e88378b..a7dfd30 100644 --- a/Sources/Model/Manager.cs +++ b/Sources/Model/Manager.cs @@ -1,12 +1,59 @@ -using System; +using Model.Stub; +using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Model + { - internal class Manager + public class Manager { + public IDataManager DataManager { get; set; } + + + + public Manager() { + 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; + } } } diff --git a/Sources/Model/ObjetOhara.cs b/Sources/Model/ObjetOhara.cs new file mode 100644 index 0000000..78ff8ea --- /dev/null +++ b/Sources/Model/ObjetOhara.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Model +{ + public class ObjetOhara + { + public string Nom { get; set; } + public string? Image { get; set;} + + public ObjetOhara(string nom,string image) { + Nom = nom; + Image = image; + } + } +} diff --git a/Sources/Model/Personnage.cs b/Sources/Model/Personnage.cs index adbdeb8..ec2b7b6 100644 --- a/Sources/Model/Personnage.cs +++ b/Sources/Model/Personnage.cs @@ -1,8 +1,8 @@ namespace Model { - public class Personnage + public class Personnage : ObjetOhara { - public string Nom { get; set; } + public double Prime { get; set; } public string Epithete { get; set; } public int Age { get; set; } @@ -12,13 +12,13 @@ public string Citation { get; set; } public Equipage? Equipage { get; set; } public List Fruit { get; set; } = new List(); - public string? Image { get; set; } + - public Personnage(string nom, double prime, string epithete, int age, double taille, string origine, string biographie, string citation, string image) + public Personnage(string nom, double prime, string epithete, int age, double taille, string origine, string biographie, string citation, string image) : base(nom,image) { - Nom = nom; + Prime = prime; Epithete = epithete; Age = age; @@ -26,7 +26,7 @@ Origine = origine; Biographie = biographie; Citation = citation; - Image = image; + } public Personnage(string nom, double prime, string epithete, int age, double taille, string origine, string biographie, string citation,string image ,Equipage equipage,List fruit) : this(nom,prime,epithete,age,taille,origine,biographie,citation,image) diff --git a/Sources/Model/Stub/StubBateau.cs b/Sources/Model/Stub/StubBateau.cs index 68a12c4..a5c1e4d 100644 --- a/Sources/Model/Stub/StubBateau.cs +++ b/Sources/Model/Stub/StubBateau.cs @@ -7,9 +7,9 @@ using static System.Net.Mime.MediaTypeNames; namespace Model.Stub { - public static class StubBateau + public class StubBateau { - public static IEnumerable RecupererBateau() + public IEnumerable RecupererBateau() { List bateau = new List() { diff --git a/Sources/Model/Stub/StubBestiaire.cs b/Sources/Model/Stub/StubBestiaire.cs index 57dc408..5a0fbb6 100644 --- a/Sources/Model/Stub/StubBestiaire.cs +++ b/Sources/Model/Stub/StubBestiaire.cs @@ -6,9 +6,9 @@ using System.Threading.Tasks; namespace Model.Stub { - public static class StubBestiaire + public class StubBestiaire { - public static IEnumerable RecupererBestiaire() + public IEnumerable RecupererBestiaire() { List best = new List() { diff --git a/Sources/Model/Stub/StubEquipage.cs b/Sources/Model/Stub/StubEquipage.cs index 822dec9..17a5055 100644 --- a/Sources/Model/Stub/StubEquipage.cs +++ b/Sources/Model/Stub/StubEquipage.cs @@ -6,9 +6,9 @@ using System.Threading.Tasks; namespace Model.Stub { - public static class StubEquipage + public class StubEquipage { - public static IEnumerable RecupererEquipage() + public IEnumerable RecupererEquipage() { List Lequipage = new List() { diff --git a/Sources/Model/Stub/StubFruitDuDemon.cs b/Sources/Model/Stub/StubFruitDuDemon.cs index 061a22b..b7575ec 100644 --- a/Sources/Model/Stub/StubFruitDuDemon.cs +++ b/Sources/Model/Stub/StubFruitDuDemon.cs @@ -6,9 +6,9 @@ using System.Threading.Tasks; namespace Model.Stub { - public static class StubFruitDuDemon + public class StubFruitDuDemon { - public static IEnumerable RecupererFruit() + public IEnumerable RecupererFruit() { List fdd = new List() { diff --git a/Sources/Model/Stub/StubIle.cs b/Sources/Model/Stub/StubIle.cs index c457ec8..2ed4367 100644 --- a/Sources/Model/Stub/StubIle.cs +++ b/Sources/Model/Stub/StubIle.cs @@ -7,9 +7,9 @@ using static System.Net.Mime.MediaTypeNames; namespace Model.Stub { - public static class StubIle + public class StubIle { - public static IEnumerable RecupererIle() + public IEnumerable RecupererIle() { List ile = new List() { diff --git a/Sources/Model/Stub/StubManager.cs b/Sources/Model/Stub/StubManager.cs new file mode 100644 index 0000000..bbb04b7 --- /dev/null +++ b/Sources/Model/Stub/StubManager.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Model.Stub +{ + public class StubManager : IDataManager + { + + public StubPersonnage StubPersonnage { get; set; } + public StubFruitDuDemon StubFruitDuDemon { get; set; } + public StubEquipage StubEquipage { get; set; } + public StubBateau StubBateau { get; set; } + public StubBestiaire StubBestiaire { get; set; } + public StubIle StubIle { get; set; } + + public StubManager() + { + StubPersonnage = new StubPersonnage(); + StubFruitDuDemon = new StubFruitDuDemon(); + StubEquipage = new StubEquipage(); + StubBateau = new StubBateau(); + StubBestiaire = new StubBestiaire(); + StubIle = new StubIle(); + } + + + public IEnumerable GetPersonnages() + { + return StubPersonnage.RecupererPersonnage(); + } + + public IEnumerable GetFruits() + { + return StubFruitDuDemon.RecupererFruit(); + } + public IEnumerable GetEquipages() + { + return StubEquipage.RecupererEquipage(); + } + public IEnumerable GetBateaux() + { + return StubBateau.RecupererBateau(); + } + public IEnumerable GetBestiaires() + { + return StubBestiaire.RecupererBestiaire(); + } + public IEnumerable GetIles() + { + return StubIle.RecupererIle(); + } + } +} diff --git a/Sources/Model/Stub/StubPersonnage.cs b/Sources/Model/Stub/StubPersonnage.cs index 8a9da65..7ad973d 100644 --- a/Sources/Model/Stub/StubPersonnage.cs +++ b/Sources/Model/Stub/StubPersonnage.cs @@ -6,9 +6,9 @@ using System.Threading.Tasks; namespace Model.Stub { - public static class StubPersonnage + public class StubPersonnage { - public static IEnumerable RecupererPersonnage() + public IEnumerable RecupererPersonnage() { List perso = new List() { diff --git a/Sources/Ohara/AppShell.xaml b/Sources/Ohara/AppShell.xaml index 45c5e03..302c51e 100644 --- a/Sources/Ohara/AppShell.xaml +++ b/Sources/Ohara/AppShell.xaml @@ -13,7 +13,7 @@ diff --git a/Sources/Ohara/PageBateau.xaml b/Sources/Ohara/PageBateau.xaml index 11e9ac3..f6ab739 100644 --- a/Sources/Ohara/PageBateau.xaml +++ b/Sources/Ohara/PageBateau.xaml @@ -54,7 +54,7 @@ - + diff --git a/Sources/Ohara/PageBateau.xaml.cs b/Sources/Ohara/PageBateau.xaml.cs index bdd3dc4..95aabaf 100644 --- a/Sources/Ohara/PageBateau.xaml.cs +++ b/Sources/Ohara/PageBateau.xaml.cs @@ -12,17 +12,10 @@ public partial class PageBateau : ContentPage public PageBateau(IAudioManager audioManager) { InitializeComponent(); - List bateau = StubBateau.RecupererBateau().ToList(); + var manager = new Manager(); + - listeBateau.ItemsSource = bateau; - this.audioManager = audioManager; - } - - private async void Hyperlink_Accueil(object sender, EventArgs e) - { - var player = audioManager.CreatePlayer(await FileSystem.OpenAppPackageFileAsync(chemin)); - await Navigation.PushAsync(new MainPage(new Plugin.Maui.Audio.AudioManager())); - player.Play(); + listeBateau.ItemsSource = manager.GetBateaux(); } private async void Hyperlink_FDD(object sender, EventArgs e) diff --git a/Sources/Ohara/PageBestiaire.xaml b/Sources/Ohara/PageBestiaire.xaml index 27a104e..0507e86 100644 --- a/Sources/Ohara/PageBestiaire.xaml +++ b/Sources/Ohara/PageBestiaire.xaml @@ -50,7 +50,7 @@ - + diff --git a/Sources/Ohara/PageBestiaire.xaml.cs b/Sources/Ohara/PageBestiaire.xaml.cs index dc79a7e..ceef83b 100644 --- a/Sources/Ohara/PageBestiaire.xaml.cs +++ b/Sources/Ohara/PageBestiaire.xaml.cs @@ -10,10 +10,10 @@ public partial class PageBestiaire : ContentPage { InitializeComponent(); - List Lbest = StubBestiaire.RecupererBestiaire().ToList(); + var manager = new Manager(); - listeBest.ItemsSource = Lbest; + listeBest.ItemsSource = manager.GetBestiaires(); } private async void Hyperlink_Accueil(object sender, EventArgs e) { diff --git a/Sources/Ohara/PageEquipage.xaml b/Sources/Ohara/PageEquipage.xaml index 4441b67..123eb44 100644 --- a/Sources/Ohara/PageEquipage.xaml +++ b/Sources/Ohara/PageEquipage.xaml @@ -52,7 +52,7 @@ - + diff --git a/Sources/Ohara/PageEquipage.xaml.cs b/Sources/Ohara/PageEquipage.xaml.cs index a1b3ac1..831ed93 100644 --- a/Sources/Ohara/PageEquipage.xaml.cs +++ b/Sources/Ohara/PageEquipage.xaml.cs @@ -7,12 +7,12 @@ public partial class PageEquipage : ContentPage public PageEquipage() { InitializeComponent(); - List Lequipage = StubEquipage.RecupererEquipage().ToList(); - listeEquip.ItemsSource = Lequipage; + var manager = new Manager(); + listeEquip.ItemsSource = manager.GetEquipages(); } private async void Hyperlink_Accueil(object sender, EventArgs e) { - await Navigation.PushAsync(new MainPage(new Plugin.Maui.Audio.AudioManager())); + await Navigation.PushAsync(new MainPage()); } private async void Hyperlink_FDD(object sender, EventArgs e) @@ -31,7 +31,7 @@ public partial class PageEquipage : ContentPage } private async void Hyperlink_Bateau(object sender, EventArgs e) { - await Navigation.PushAsync(new PageBateau(new Plugin.Maui.Audio.AudioManager())); + await Navigation.PushAsync(new PageBateau()); } private async void Hyperlink_Bestiaire(object sender, EventArgs e) diff --git a/Sources/Ohara/PageFDD.xaml b/Sources/Ohara/PageFDD.xaml index 4a9757c..dabb1ed 100644 --- a/Sources/Ohara/PageFDD.xaml +++ b/Sources/Ohara/PageFDD.xaml @@ -4,7 +4,7 @@ x:Class="Ohara.PageFDD" Title="PageFDD" BackgroundColor="#e2edf1"> - + @@ -15,25 +15,25 @@ - + - - - - - + + + + + -