ajout de commentaires sur les Models et le DataContrat

pull/8/head
Maxime ANDRE-MASSE 2 years ago
parent 1aaf63b71a
commit 984a5bb36f

@ -14,11 +14,12 @@ namespace MusiLib.DataContractPersistance
{ {
public class DataContractPers : IPersistanceManager public class DataContractPers : IPersistanceManager
{ {
public string FilePath { get; set; } = FileSystem.AppDataDirectory; /*Path.Combine(AppDomain.CurrentDomain.BaseDirectory);*/ public string FilePath { get; set; } = FileSystem.AppDataDirectory; /* FileSystem.AppDataDirectory permet de renvoyez le chemin d'accès au répertoire spécifique de donnée
public string FileNameFU { get; set; } = "favorisUtilisateurs.xml"; * ou l'application peut stocker des fichiers ou des données persistantes*/
public string FileNameFU { get; set; } = "favorisUtilisateurs.xml"; /* déclaration des noms des fichiers stockés pour la persistance*/
public string FileNameP { get; set; } = "partitions.xml"; public string FileNameP { get; set; } = "partitions.xml";
public (List<Partition>, List<Partition>) chargeDonnees() public (List<Partition>, List<Partition>) chargeDonnees() /*Méthode permettant de charger les données*/
{ {
var partitionsSerializer = new DataContractSerializer(typeof(List<Partition>)); var partitionsSerializer = new DataContractSerializer(typeof(List<Partition>));
var favorisUtilisateursSerializer = new DataContractSerializer(typeof(DataToPersist)); var favorisUtilisateursSerializer = new DataContractSerializer(typeof(DataToPersist));
@ -26,9 +27,9 @@ namespace MusiLib.DataContractPersistance
List<Partition> partitions = new List<Partition>(); List<Partition> partitions = new List<Partition>();
List<Partition> favoris = new List<Partition>(); List<Partition> favoris = new List<Partition>();
using (Stream partitionsStream = File.OpenRead(Path.Combine(FilePath, "partitions.xml"))) using (Stream partitionsStream = File.OpenRead(Path.Combine(FilePath, "partitions.xml"))) /*Path.Combine permet de combiner plusieurs segments de chemin en une seule chaine de chemin*/
{ {
partitions = partitionsSerializer.ReadObject(partitionsStream) as List<Partition>; partitions = partitionsSerializer.ReadObject(partitionsStream) as List<Partition>; /*Serializer permet de convertir des objets */
} }
using (Stream favorisUtilisateursStream = File.OpenRead(Path.Combine(FilePath, "favorisUtilisateurs.xml"))) using (Stream favorisUtilisateursStream = File.OpenRead(Path.Combine(FilePath, "favorisUtilisateurs.xml")))
@ -41,7 +42,7 @@ namespace MusiLib.DataContractPersistance
} }
public void sauvegardeDonnees(List<Partition> p, List<Partition> f) public void sauvegardeDonnees(List<Partition> p, List<Partition> f) /*Méthode permettant de sauvegarder les données*/
{ {
var partitionsSerializer = new DataContractSerializer(typeof(List<Partition>)); var partitionsSerializer = new DataContractSerializer(typeof(List<Partition>));
var favorisUtilisateursSerializer = new DataContractSerializer(typeof(DataToPersist)); var favorisUtilisateursSerializer = new DataContractSerializer(typeof(DataToPersist));
@ -68,7 +69,7 @@ namespace MusiLib.DataContractPersistance
} }
} }
public void sauvegardeFavoriAdd(Partition fav) public void sauvegardeFavoriAdd(Partition fav) /*Méthode permettant la sauvegarde de favoris*/
{ {
var favorisUtilisateursSerializer = new DataContractSerializer(typeof(DataToPersist)); var favorisUtilisateursSerializer = new DataContractSerializer(typeof(DataToPersist));
@ -102,7 +103,7 @@ namespace MusiLib.DataContractPersistance
Debug.WriteLine("Nouveau favori sauvegardé !"); Debug.WriteLine("Nouveau favori sauvegardé !");
} }
public void sauvegardeFavoriRemove(Partition fav) public void sauvegardeFavoriRemove(Partition fav) /*Méthode permettant la sauvegarde de suppression de favoris */
{ {
var favorisUtilisateursSerializer = new DataContractSerializer(typeof(DataToPersist)); var favorisUtilisateursSerializer = new DataContractSerializer(typeof(DataToPersist));

@ -10,7 +10,8 @@ namespace MusiLib.Model
{ {
(List<Partition>, List<Partition>) chargeDonnees(); (List<Partition>, List<Partition>) chargeDonnees();
void sauvegardeDonnees(List<Partition> p, List<Partition> f); /*déclaration de fonctions abstraites*/
void sauvegardeDonnees(List<Partition> p, List<Partition> f);
void sauvegardeFavoriAdd(Partition fav); void sauvegardeFavoriAdd(Partition fav);

@ -34,22 +34,22 @@ namespace MusiLib.Model
public void chargeDonnees() public void chargeDonnees()
{ {
var donnees = Persistance.chargeDonnees(); var donnees = Persistance.chargeDonnees(); /*variable local, permet d'éviter la répétition d'un nom de type dans une déclaration de variable */
partitions.AddRange(donnees.Item1); partitions.AddRange(donnees.Item1);
favoris.AddRange(donnees.Item2); favoris.AddRange(donnees.Item2);
} }
public void sauvegardeDonnees() public void sauvegardeDonnees() /*Sauvegarde les partitions et favoris*/
{ {
Persistance.sauvegardeDonnees(partitions, favoris); Persistance.sauvegardeDonnees(partitions, favoris);
} }
public void sauvegardeFavoriAdd(Partition fav) public void sauvegardeFavoriAdd(Partition fav) /*Sauvegarde des Favoris*/
{ {
Persistance.sauvegardeFavoriAdd(fav); Persistance.sauvegardeFavoriAdd(fav);
} }
public void sauvegardeFavoriRemove(Partition fav) public void sauvegardeFavoriRemove(Partition fav) /*Suppression d'une partition contenu dans les Favoris*/
{ {
Persistance.sauvegardeFavoriRemove(fav); Persistance.sauvegardeFavoriRemove(fav);
} }

@ -17,38 +17,38 @@ namespace MusiLib.Model
public Metronome() public Metronome()
{ {
player = DependencyService.Get<AudioPlayer>(); player = DependencyService.Get<AudioPlayer>(); /* DependencyService = méthode utilisée pour obtenir une instance d'un service audio personnalisé.*/
isMusicPlaying = false; isMusicPlaying = false;
} }
public async Task Lancer(string cheminFichier) public async Task Lancer(string cheminFichier)
{ {
var fichierAudio = (AudioPlayer)AudioManager.Current.CreatePlayer(await FileSystem.OpenAppPackageFileAsync(cheminFichier)); var fichierAudio = (AudioPlayer)AudioManager.Current.CreatePlayer(await FileSystem.OpenAppPackageFileAsync(cheminFichier)); /*Créer un lecteur Audio à partir d'un fichier se trouvant dans le package de l'application*/
player = fichierAudio; player = fichierAudio;
player.Play(); player.Play(); /*Méthode permettant de lancer la musique venant de Plugin.Maui.Audio */
isMusicPlaying=true; isMusicPlaying=true;
isMusicBeginning =true; isMusicBeginning =true;
} }
public void PlayMusic() public void PlayMusic() /*Méthode permettant de jouer/relancer la musique*/
{ {
player.Play(); player.Play();
isMusicPlaying = true; isMusicPlaying = true;
} }
public void PauseMusic() public void PauseMusic() /*Méthode permettant la mise en pause de la musique*/
{ {
player.Pause(); player.Pause();
isMusicPlaying = false; isMusicPlaying = false;
} }
public void StopMusic() public void StopMusic() /*Méthode permettant de stopper la lecture de la musique*/
{ {
if (isMusicBeginning) if (isMusicBeginning)
{ {
player.Stop(); player.Stop(); /*Méthode permettant de stopper la musique venant de Plugin.Maui.Audio*/
isMusicPlaying = false; isMusicPlaying = false;
isMusicBeginning = false; isMusicBeginning = false;
} }
} }
public void ReglerTempo(float tempo) public void ReglerTempo(float tempo) /*Méthode permettant de regler la vitesse d'un objet de classe méttronome*/
{ {
if(!isMusicBeginning) if(!isMusicBeginning)
{ {
@ -56,7 +56,7 @@ namespace MusiLib.Model
} }
if(!isMusicPlaying) if(!isMusicPlaying)
{ {
player.Speed = tempo; player.Speed = tempo; /*Méthode de Plugin.maui.Audio permettant de régler la vitesse d'un audio/vidéo*/
player.Pause(); player.Pause();
return; return;
} }

@ -12,17 +12,17 @@ namespace MusiLib.Model
public Trier(List<Partition> partitions) public Trier(List<Partition> partitions)
{ {
partitionsInitiales = partitions.ToList(); partitionsInitiales = partitions;
partitionsFiltrees = new List<Partition>(partitionsInitiales); partitionsFiltrees = new List<Partition>(partitionsInitiales);
} }
public List<Partition> TrierParInstrument(string instrument) public List<Partition> TrierParInstrument(string instrument) /*Méthode permettant de trier les partitions par instrument*/
{ {
partitionsFiltrees = partitionsInitiales.Where(p => p.Instrument.ToLower() == instrument.ToLower()).ToList(); partitionsFiltrees = partitionsInitiales.Where(p => p.Instrument.ToLower() == instrument.ToLower()).ToList(); /*ToLower permet la convertion d'une chaine de caractères en minuscules*/
return partitionsFiltrees; return partitionsFiltrees;
} }
public List<Partition> TrierParComplexite(string complexite) public List<Partition> TrierParComplexite(string complexite) /*Méthode permettant de trier les partitions par leur complexité (difficulté à les jouer)*/
{ {
partitionsFiltrees = partitionsInitiales.Where(p => p.Complexite.ToLower() == complexite.ToLower()).ToList(); partitionsFiltrees = partitionsInitiales.Where(p => p.Complexite.ToLower() == complexite.ToLower()).ToList();
Console.WriteLine("string : " + complexite); Console.WriteLine("string : " + complexite);
@ -33,7 +33,7 @@ namespace MusiLib.Model
return partitionsFiltrees; return partitionsFiltrees;
} }
public List<Partition> TrierParOrdreAlphabetique(string ordre) public List<Partition> TrierParOrdreAlphabetique(string ordre) /*Méthode permetttant de trier les partitions par l'ordre alphabétique de leur Nom*/
{ {
if (ordre == "Croissant") if (ordre == "Croissant")
partitionsFiltrees = partitionsInitiales.OrderBy(p => p.Nom).ToList(); partitionsFiltrees = partitionsInitiales.OrderBy(p => p.Nom).ToList();

@ -15,13 +15,14 @@
<RowDefinition/> <RowDefinition/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition/> <ColumnDefinition/>
<ColumnDefinition/> <ColumnDefinition/>
<ColumnDefinition/> <ColumnDefinition/>
<ColumnDefinition/> <ColumnDefinition/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<! --
<Rectangle Grid.Row="0" Grid.Column="0" <Rectangle Grid.Row="0" Grid.Column="0"
BackgroundColor="#64C1FF" BackgroundColor="#64C1FF"
WidthRequest="650" WidthRequest="650"
@ -29,6 +30,7 @@
VerticalOptions="Start" VerticalOptions="Start"
HorizontalOptions="Start" HorizontalOptions="Start"
/> />
-->
<Image Grid.Row="0" Grid.Column="0" <Image Grid.Row="0" Grid.Column="0"

Loading…
Cancel
Save