Début persistance + enlever favoris
continuous-integration/drone/push Build is failing Details

pull/15/head
Yoan BRUGIÈRE 2 years ago
parent bf1fb8db82
commit 70f1b2fd33

@ -1,9 +1,12 @@
using Microsoft.VisualBasic; using Microsoft.VisualBasic;
using Model.Serializer;
using Model.Stub; using Model.Stub;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using System.IO;
using System.Linq; using System.Linq;
using System.Resources;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
@ -13,7 +16,7 @@ namespace Model
public class Manager public class Manager
{ {
public IDataManager DataManager { get; set; } public IDataManager DataManager { get; set; }
public XML_Serializer XML_Serializer { get; set; }
public ObservableCollection<Bateau> Bateaux { get; set; } public ObservableCollection<Bateau> Bateaux { get; set; }
public ObservableCollection<Personnage> Personnages { get; set; } public ObservableCollection<Personnage> Personnages { get; set; }
public ObservableCollection<FruitDuDemon> Fruits { get; set; } public ObservableCollection<FruitDuDemon> Fruits { get; set; }
@ -25,8 +28,16 @@ namespace Model
public Manager() { public Manager() {
DataManager = new StubManager(); DataManager = new StubManager();
Bateaux = new ObservableCollection<Bateau>(DataManager.GetBateaux()); XML_Serializer = new XML_Serializer();
Personnages = new ObservableCollection<Personnage>(DataManager.GetPersonnages()); if (File.Exists(@"C:\Users\yobrugiere1\Documents\Ohara\Sources\Ohara\Resources\XML\bateau.xml"))
Bateaux = new ObservableCollection<Bateau>(XML_Serializer.GetBateaux());
else
Bateaux = new ObservableCollection<Bateau>(DataManager.GetBateaux());
if (File.Exists(@"C:\Users\yobrugiere1\Documents\Ohara\Sources\Ohara\Resources\XML\personnage.xml"))
Personnages = new ObservableCollection<Personnage>(XML_Serializer.GetPersonnages());
else
Personnages = new ObservableCollection<Personnage>(DataManager.GetPersonnages());
Fruits = new ObservableCollection<FruitDuDemon>(DataManager.GetFruits()); Fruits = new ObservableCollection<FruitDuDemon>(DataManager.GetFruits());
Iles = new ObservableCollection<Ile>(DataManager.GetIles()); Iles = new ObservableCollection<Ile>(DataManager.GetIles());
Bestiaire = new ObservableCollection<Bestiaire>(DataManager.GetBestiaires()); Bestiaire = new ObservableCollection<Bestiaire>(DataManager.GetBestiaires());
@ -149,7 +160,7 @@ namespace Model
return listeFavoris; return listeFavoris;
} }
public void AddFavoris(ObjetOhara obj) public void ModifierFavoris(ObjetOhara obj,bool value)
{ {
Type t = obj.GetType(); Type t = obj.GetType();
@ -158,7 +169,8 @@ namespace Model
{ {
if (b.Equals(obj)) if (b.Equals(obj))
{ {
b.EstFavori = true; b.EstFavori = value;
XML_Serializer.SetBateau(Bateaux.ToList());
} }
} }
else if (t.Equals(typeof(Equipage))) else if (t.Equals(typeof(Equipage)))
@ -166,7 +178,8 @@ namespace Model
{ {
if (b.Equals(obj)) if (b.Equals(obj))
{ {
b.EstFavori = true; b.EstFavori = value;
XML_Serializer.SetEquipage(Equipages.ToList());
} }
} }
@ -175,7 +188,8 @@ namespace Model
{ {
if (b.Equals(obj)) if (b.Equals(obj))
{ {
b.EstFavori = true; b.EstFavori = value;
XML_Serializer.SetPersonnage(Personnages.ToList());
} }
} }
@ -184,7 +198,8 @@ namespace Model
{ {
if (b.Equals(obj)) if (b.Equals(obj))
{ {
b.EstFavori = true; b.EstFavori = value;
XML_Serializer.SetIle(Iles.ToList());
} }
} }
@ -194,6 +209,7 @@ namespace Model
if (b.Equals(obj)) if (b.Equals(obj))
{ {
b.EstFavori = true; b.EstFavori = true;
XML_Serializer.SetFDD(Fruits.ToList());
} }
} }
@ -202,11 +218,14 @@ namespace Model
{ {
if (b.Equals(obj)) if (b.Equals(obj))
{ {
b.EstFavori = true; b.EstFavori = value;
XML_Serializer.SetBestiaire(Bestiaire.ToList());
} }
} }
} }
} }
} }

@ -19,7 +19,7 @@ namespace Model.Serializer
{ {
var serializer = new DataContractSerializer(typeof(List<Personnage>)); var serializer = new DataContractSerializer(typeof(List<Personnage>));
string xmlFile = "personnage.xml"; string xmlFile = "personnage.xml";
Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "./")); Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "C:\\Users\\yobrugiere1\\Documents\\Ohara\\Sources\\Ohara\\Resources\\XML"));
XmlWriterSettings settings = new XmlWriterSettings() { Indent = true }; XmlWriterSettings settings = new XmlWriterSettings() { Indent = true };
using (TextWriter tw = File.CreateText(xmlFile)) using (TextWriter tw = File.CreateText(xmlFile))
{ {
@ -36,7 +36,7 @@ namespace Model.Serializer
{ {
var serializer = new DataContractSerializer(typeof(List<FruitDuDemon>)); var serializer = new DataContractSerializer(typeof(List<FruitDuDemon>));
string xmlFile = "fruitdudemon.xml"; string xmlFile = "fruitdudemon.xml";
Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "./")); Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "C:\\Users\\yobrugiere1\\Documents\\Ohara\\Sources\\Ohara\\Resources\\XML"));
XmlWriterSettings settings = new XmlWriterSettings() { Indent = true }; XmlWriterSettings settings = new XmlWriterSettings() { Indent = true };
using (TextWriter tw = File.CreateText(xmlFile)) using (TextWriter tw = File.CreateText(xmlFile))
{ {
@ -54,7 +54,7 @@ namespace Model.Serializer
{ {
var serializer = new DataContractSerializer(typeof(List<Bestiaire>)); var serializer = new DataContractSerializer(typeof(List<Bestiaire>));
string xmlFile = "bestiaire.xml"; string xmlFile = "bestiaire.xml";
Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "./")); Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "C:\\Users\\yobrugiere1\\Documents\\Ohara\\Sources\\Ohara\\Resources\\XML"));
XmlWriterSettings settings = new XmlWriterSettings() { Indent = true }; XmlWriterSettings settings = new XmlWriterSettings() { Indent = true };
using (TextWriter tw = File.CreateText(xmlFile)) using (TextWriter tw = File.CreateText(xmlFile))
{ {
@ -72,7 +72,7 @@ namespace Model.Serializer
{ {
var serializer = new DataContractSerializer(typeof(List<Equipage>)); var serializer = new DataContractSerializer(typeof(List<Equipage>));
string xmlFile = "equipage.xml"; string xmlFile = "equipage.xml";
Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "./")); Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "C:\\Users\\yobrugiere1\\Documents\\Ohara\\Sources\\Ohara\\Resources\\XML"));
XmlWriterSettings settings = new XmlWriterSettings() { Indent = true }; XmlWriterSettings settings = new XmlWriterSettings() { Indent = true };
using (TextWriter tw = File.CreateText(xmlFile)) using (TextWriter tw = File.CreateText(xmlFile))
{ {
@ -90,7 +90,7 @@ namespace Model.Serializer
{ {
var serializer = new DataContractSerializer(typeof(List<Ile>)); var serializer = new DataContractSerializer(typeof(List<Ile>));
string xmlFile = "ile.xml"; string xmlFile = "ile.xml";
Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "./")); Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "C:\\Users\\yobrugiere1\\Documents\\Ohara\\Sources\\Ohara\\Resources\\XML"));
XmlWriterSettings settings = new XmlWriterSettings() { Indent = true }; XmlWriterSettings settings = new XmlWriterSettings() { Indent = true };
using (TextWriter tw = File.CreateText(xmlFile)) using (TextWriter tw = File.CreateText(xmlFile))
{ {
@ -108,7 +108,7 @@ namespace Model.Serializer
{ {
var serializer = new DataContractSerializer(typeof(List<Bateau>)); var serializer = new DataContractSerializer(typeof(List<Bateau>));
string xmlFile = "bateau.xml"; string xmlFile = "bateau.xml";
Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "./")); Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "C:\\Users\\yobrugiere1\\Documents\\Ohara\\Sources\\Ohara\\Resources\\XML"));
XmlWriterSettings settings = new XmlWriterSettings() { Indent = true }; XmlWriterSettings settings = new XmlWriterSettings() { Indent = true };
using (TextWriter tw = File.CreateText(xmlFile)) using (TextWriter tw = File.CreateText(xmlFile))
{ {
@ -127,7 +127,7 @@ namespace Model.Serializer
List<Bateau> listeBateau = new List<Bateau>(); List<Bateau> listeBateau = new List<Bateau>();
var serializer = new DataContractSerializer(typeof(List<Bateau>)); var serializer = new DataContractSerializer(typeof(List<Bateau>));
string xmlFile = "bateau.xml"; string xmlFile = "bateau.xml";
Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "./")); Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "C:\\Users\\yobrugiere1\\Documents\\Ohara\\Sources\\Ohara\\Resources\\XML"));
using (Stream s = File.OpenRead(xmlFile)) using (Stream s = File.OpenRead(xmlFile))
{ {
@ -141,7 +141,7 @@ namespace Model.Serializer
List<Bestiaire> listeBest = new List<Bestiaire>(); List<Bestiaire> listeBest = new List<Bestiaire>();
var serializer = new DataContractSerializer(typeof(List<Bestiaire>)); var serializer = new DataContractSerializer(typeof(List<Bestiaire>));
string xmlFile = "bestiaire.xml"; string xmlFile = "bestiaire.xml";
Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "./")); Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "C:\\Users\\yobrugiere1\\Documents\\Ohara\\Sources\\Ohara\\Resources\\XML"));
using (Stream s = File.OpenRead(xmlFile)) using (Stream s = File.OpenRead(xmlFile))
{ {
@ -154,7 +154,7 @@ namespace Model.Serializer
List<Equipage> listeEquip = new List<Equipage>(); List<Equipage> listeEquip = new List<Equipage>();
var serializer = new DataContractSerializer(typeof(List<Equipage>)); var serializer = new DataContractSerializer(typeof(List<Equipage>));
string xmlFile = "equipage.xml"; string xmlFile = "equipage.xml";
Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "./")); Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "C:\\Users\\yobrugiere1\\Documents\\Ohara\\Sources\\Ohara\\Resources\\XML"));
using (Stream s = File.OpenRead(xmlFile)) using (Stream s = File.OpenRead(xmlFile))
{ {
@ -167,7 +167,7 @@ namespace Model.Serializer
List<FruitDuDemon> listeFDD = new List<FruitDuDemon>(); List<FruitDuDemon> listeFDD = new List<FruitDuDemon>();
var serializer = new DataContractSerializer(typeof(List<FruitDuDemon>)); var serializer = new DataContractSerializer(typeof(List<FruitDuDemon>));
string xmlFile = "fruitdudemon.xml"; string xmlFile = "fruitdudemon.xml";
Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "./")); Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "C:\\Users\\yobrugiere1\\Documents\\Ohara\\Sources\\Ohara\\Resources\\XML"));
using (Stream s = File.OpenRead(xmlFile)) using (Stream s = File.OpenRead(xmlFile))
{ {
@ -180,7 +180,7 @@ namespace Model.Serializer
List<Ile> listeIle = new List<Ile>(); List<Ile> listeIle = new List<Ile>();
var serializer = new DataContractSerializer(typeof(List<Ile>)); var serializer = new DataContractSerializer(typeof(List<Ile>));
string xmlFile = "ile.xml"; string xmlFile = "ile.xml";
Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "./")); Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "C:\\Users\\yobrugiere1\\Documents\\Ohara\\Sources\\Ohara\\Resources\\XML"));
using (Stream s = File.OpenRead(xmlFile)) using (Stream s = File.OpenRead(xmlFile))
{ {
@ -193,7 +193,7 @@ namespace Model.Serializer
List<Personnage> listePerso = new List<Personnage>(); List<Personnage> listePerso = new List<Personnage>();
var serializer = new DataContractSerializer(typeof(List<Personnage>)); var serializer = new DataContractSerializer(typeof(List<Personnage>));
string xmlFile = "personnage.xml"; string xmlFile = "personnage.xml";
Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "./")); Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "C:\\Users\\yobrugiere1\\Documents\\Ohara\\Sources\\Ohara\\Resources\\XML"));
using (Stream s = File.OpenRead(xmlFile)) using (Stream s = File.OpenRead(xmlFile))
{ {

@ -19,22 +19,50 @@ public partial class PageFavoris : ContentPage
searchBar.TextChanged += OnTextChanged; searchBar.TextChanged += OnTextChanged;
} }
async void listeFavs_SelectionChanged(object sender, SelectionChangedEventArgs e) void listeFavs_SelectionChanged(object sender, SelectionChangedEventArgs e)
{ {
Type t = listeFavs.SelectedItem.GetType(); Type t = listeFavs.SelectedItem.GetType();
Console.WriteLine(t); Console.WriteLine(t);
if (t.Equals(typeof(Bateau))) if (t.Equals(typeof(Bateau)))
await Navigation.PushAsync(new PageInfoBateau()); {
manager.SelectedItem = (Bateau)listeFavs.SelectedItem;
Navigation.PushAsync(new PageInfoBateau());
}
else if (t.Equals(typeof(Equipage))) else if (t.Equals(typeof(Equipage)))
await Navigation.PushAsync(new PageInfoEquipage()); {
manager.SelectedItem = (Equipage)listeFavs.SelectedItem;
Navigation.PushAsync(new PageInfoEquipage());
}
else if (t.Equals(typeof(Personnage))) else if (t.Equals(typeof(Personnage)))
await Navigation.PushAsync(new PageInfoPersonnage()); {
manager.SelectedItem = (Personnage)listeFavs.SelectedItem;
Navigation.PushAsync(new PageInfoPersonnage());
}
else if (t.Equals(typeof(Ile))) else if (t.Equals(typeof(Ile)))
await Navigation.PushAsync(new PageInfoIle()); {
manager.SelectedItem=(Ile)listeFavs.SelectedItem;
Navigation.PushAsync(new PageInfoIle());
}
else if (t.Equals(typeof(FruitDuDemon))) else if (t.Equals(typeof(FruitDuDemon)))
await Navigation.PushAsync(new PageInfoFdd()); {
manager.SelectedItem = (FruitDuDemon)listeFavs.SelectedItem;
Navigation.PushAsync(new PageInfoFdd());
}
else if (t.Equals(typeof(Bestiaire))) else if (t.Equals(typeof(Bestiaire)))
await Navigation.PushAsync(new PageInfoBestiaire()); {
manager.SelectedItem = (Bestiaire)listeFavs.SelectedItem;
Navigation.PushAsync(new PageInfoBestiaire());
}
} }

@ -16,6 +16,7 @@
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<VerticalStackLayout Grid.Column="0" Spacing="4"> <VerticalStackLayout Grid.Column="0" Spacing="4">
<Button x:Name="bouttonFav" Text="Ajouter aux favoris" Style="{StaticResource buttonFavsInfo}" Clicked="AjouterFav_Clicked" /> <Button x:Name="bouttonFav" Text="Ajouter aux favoris" Style="{StaticResource buttonFavsInfo}" Clicked="AjouterFav_Clicked" />
<Button x:Name="retirerFav" Text="Retirer des favoris" IsVisible="false" Style="{StaticResource buttonRetirerFavInfo}" Clicked="RetirerFav_Clicked"/>
<Frame Style="{StaticResource frameInfo}"> <Frame Style="{StaticResource frameInfo}">
<Label Text="Sommaire" Style="{StaticResource titreInfo}"/> <Label Text="Sommaire" Style="{StaticResource titreInfo}"/>
</Frame> </Frame>

@ -15,6 +15,8 @@ public partial class PageInfoBateau : ContentPage
{ {
bouttonFav.IsEnabled = false; bouttonFav.IsEnabled = false;
bouttonFav.Text = "Ajouté au favoris"; bouttonFav.Text = "Ajouté au favoris";
retirerFav.IsVisible = true;
} }
BindingContext=manager.SelectedItem; BindingContext=manager.SelectedItem;
@ -22,8 +24,17 @@ public partial class PageInfoBateau : ContentPage
private void AjouterFav_Clicked(object sender, EventArgs e) private void AjouterFav_Clicked(object sender, EventArgs e)
{ {
manager.AddFavoris(manager.SelectedItem); manager.ModifierFavoris(manager.SelectedItem,true);
bouttonFav.IsEnabled = false; bouttonFav.IsEnabled = false;
bouttonFav.Text = "Ajouté au favoris"; bouttonFav.Text = "Ajouté au favoris";
retirerFav.IsVisible = true;
}
private void RetirerFav_Clicked(object sender, EventArgs e)
{
manager.ModifierFavoris(manager.SelectedItem, false);
bouttonFav.IsEnabled = true;
bouttonFav.Text = "Ajouter au favoris";
retirerFav.IsVisible = false;
} }
} }

@ -16,6 +16,7 @@
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<VerticalStackLayout Grid.Column="0" Spacing="4"> <VerticalStackLayout Grid.Column="0" Spacing="4">
<Button x:Name="bouttonFav" Text="Ajouter aux favoris" Style="{StaticResource buttonFavsInfo}" Clicked="AjouterFav_Clicked" /> <Button x:Name="bouttonFav" Text="Ajouter aux favoris" Style="{StaticResource buttonFavsInfo}" Clicked="AjouterFav_Clicked" />
<Button x:Name="retirerFav" Text="Retirer des favoris" IsVisible="false" Style="{StaticResource buttonRetirerFavInfo}" Clicked="RetirerFav_Clicked"/>
<Frame Style="{StaticResource frameInfo}"> <Frame Style="{StaticResource frameInfo}">
<Label Text="Sommaire" Style="{StaticResource titreInfo}"/> <Label Text="Sommaire" Style="{StaticResource titreInfo}"/>
</Frame> </Frame>

@ -13,6 +13,8 @@ public partial class PageInfoBestiaire : ContentPage
{ {
bouttonFav.IsEnabled = false; bouttonFav.IsEnabled = false;
bouttonFav.Text = "Ajouté au favoris"; bouttonFav.Text = "Ajouté au favoris";
retirerFav.IsVisible = true;
} }
BindingContext = manager.SelectedItem; BindingContext = manager.SelectedItem;
@ -20,8 +22,17 @@ public partial class PageInfoBestiaire : ContentPage
private void AjouterFav_Clicked(object sender, EventArgs e) private void AjouterFav_Clicked(object sender, EventArgs e)
{ {
manager.AddFavoris(manager.SelectedItem); manager.ModifierFavoris(manager.SelectedItem, true);
bouttonFav.IsEnabled = false; bouttonFav.IsEnabled = false;
bouttonFav.Text = "Ajouté au favoris"; bouttonFav.Text = "Ajouté au favoris";
retirerFav.IsVisible = true;
}
private void RetirerFav_Clicked(object sender, EventArgs e)
{
manager.ModifierFavoris(manager.SelectedItem, false);
bouttonFav.IsEnabled = true;
bouttonFav.Text = "Ajouter au favoris";
retirerFav.IsVisible = false;
} }
} }

@ -17,6 +17,7 @@
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<VerticalStackLayout Grid.Column="0" Spacing="4"> <VerticalStackLayout Grid.Column="0" Spacing="4">
<Button x:Name="bouttonFav" Text="Ajouter aux favoris" Style="{StaticResource buttonFavsInfo}" Clicked="AjouterFav_Clicked" /> <Button x:Name="bouttonFav" Text="Ajouter aux favoris" Style="{StaticResource buttonFavsInfo}" Clicked="AjouterFav_Clicked" />
<Button x:Name="retirerFav" Text="Retirer des favoris" IsVisible="false" Style="{StaticResource buttonRetirerFavInfo}" Clicked="RetirerFav_Clicked"/>
<Frame Style="{StaticResource frameInfo}"> <Frame Style="{StaticResource frameInfo}">
<Label Text="Sommaire" Style="{StaticResource titreInfo}"/> <Label Text="Sommaire" Style="{StaticResource titreInfo}"/>
</Frame> </Frame>

@ -13,6 +13,8 @@ public partial class PageInfoEquipage : ContentPage
{ {
bouttonFav.IsEnabled = false; bouttonFav.IsEnabled = false;
bouttonFav.Text = "Ajouté au favoris"; bouttonFav.Text = "Ajouté au favoris";
retirerFav.IsVisible = true;
} }
BindingContext = manager.SelectedItem; BindingContext = manager.SelectedItem;
@ -20,8 +22,17 @@ public partial class PageInfoEquipage : ContentPage
private void AjouterFav_Clicked(object sender, EventArgs e) private void AjouterFav_Clicked(object sender, EventArgs e)
{ {
manager.AddFavoris(manager.SelectedItem); manager.ModifierFavoris(manager.SelectedItem, true);
bouttonFav.IsEnabled = false; bouttonFav.IsEnabled = false;
bouttonFav.Text = "Ajouté au favoris"; bouttonFav.Text = "Ajouté au favoris";
retirerFav.IsVisible = true;
}
private void RetirerFav_Clicked(object sender, EventArgs e)
{
manager.ModifierFavoris(manager.SelectedItem, false);
bouttonFav.IsEnabled = true;
bouttonFav.Text = "Ajouter au favoris";
retirerFav.IsVisible = false;
} }
} }

@ -16,6 +16,7 @@
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<VerticalStackLayout Grid.Column="0" Spacing="2" Padding="5"> <VerticalStackLayout Grid.Column="0" Spacing="2" Padding="5">
<Button x:Name="bouttonFav" Text="Ajouter aux favoris" Style="{StaticResource buttonFavsInfo}" Clicked="AjouterFav_Clicked" /> <Button x:Name="bouttonFav" Text="Ajouter aux favoris" Style="{StaticResource buttonFavsInfo}" Clicked="AjouterFav_Clicked" />
<Button x:Name="retirerFav" Text="Retirer des favoris" IsVisible="false" Style="{StaticResource buttonRetirerFavInfo}" Clicked="RetirerFav_Clicked"/>
<Frame Style="{StaticResource frameInfo}"> <Frame Style="{StaticResource frameInfo}">
<Label Text="Sommaire :" Style="{StaticResource titreInfo}" /> <Label Text="Sommaire :" Style="{StaticResource titreInfo}" />
</Frame> </Frame>

@ -13,6 +13,8 @@ public partial class PageInfoFdd : ContentPage
{ {
bouttonFav.IsEnabled = false; bouttonFav.IsEnabled = false;
bouttonFav.Text = "Ajouté au favoris"; bouttonFav.Text = "Ajouté au favoris";
retirerFav.IsVisible = true;
} }
BindingContext = manager.SelectedItem; BindingContext = manager.SelectedItem;
@ -20,8 +22,17 @@ public partial class PageInfoFdd : ContentPage
private void AjouterFav_Clicked(object sender, EventArgs e) private void AjouterFav_Clicked(object sender, EventArgs e)
{ {
manager.AddFavoris(manager.SelectedItem); manager.ModifierFavoris(manager.SelectedItem, true);
bouttonFav.IsEnabled = false; bouttonFav.IsEnabled = false;
bouttonFav.Text = "Ajouté au favoris"; bouttonFav.Text = "Ajouté au favoris";
retirerFav.IsVisible = true;
}
private void RetirerFav_Clicked(object sender, EventArgs e)
{
manager.ModifierFavoris(manager.SelectedItem, false);
bouttonFav.IsEnabled = true;
bouttonFav.Text = "Ajouter au favoris";
retirerFav.IsVisible = false;
} }
} }

@ -16,6 +16,7 @@
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<VerticalStackLayout Grid.Column="0" Spacing="4"> <VerticalStackLayout Grid.Column="0" Spacing="4">
<Button x:Name="bouttonFav" Text="Ajouter aux favoris" Style="{StaticResource buttonFavsInfo}" Clicked="AjouterFav_Clicked" /> <Button x:Name="bouttonFav" Text="Ajouter aux favoris" Style="{StaticResource buttonFavsInfo}" Clicked="AjouterFav_Clicked" />
<Button x:Name="retirerFav" Text="Retirer des favoris" IsVisible="false" Style="{StaticResource buttonRetirerFavInfo}" Clicked="RetirerFav_Clicked"/>
<Frame Style="{StaticResource frameInfo}"> <Frame Style="{StaticResource frameInfo}">
<Label Text="Sommaire" Style="{StaticResource titreInfo}"/> <Label Text="Sommaire" Style="{StaticResource titreInfo}"/>
</Frame> </Frame>

@ -13,6 +13,8 @@ public partial class PageInfoIle : ContentPage
{ {
bouttonFav.IsEnabled = false; bouttonFav.IsEnabled = false;
bouttonFav.Text = "Ajouté au favoris"; bouttonFav.Text = "Ajouté au favoris";
retirerFav.IsVisible = true;
} }
BindingContext = manager.SelectedItem; BindingContext = manager.SelectedItem;
@ -20,8 +22,17 @@ public partial class PageInfoIle : ContentPage
private void AjouterFav_Clicked(object sender, EventArgs e) private void AjouterFav_Clicked(object sender, EventArgs e)
{ {
manager.AddFavoris(manager.SelectedItem); manager.ModifierFavoris(manager.SelectedItem, true);
bouttonFav.IsEnabled = false; bouttonFav.IsEnabled = false;
bouttonFav.Text = "Ajouté au favoris"; bouttonFav.Text = "Ajouté au favoris";
retirerFav.IsVisible = true;
}
private void RetirerFav_Clicked(object sender, EventArgs e)
{
manager.ModifierFavoris(manager.SelectedItem, false);
bouttonFav.IsEnabled = true;
bouttonFav.Text = "Ajouter au favoris";
retirerFav.IsVisible = false;
} }
} }

@ -16,6 +16,7 @@
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<VerticalStackLayout Grid.Column="0" Spacing="4"> <VerticalStackLayout Grid.Column="0" Spacing="4">
<Button x:Name="bouttonFav" Text="Ajouter aux favoris" Style="{StaticResource buttonFavsInfo}" Clicked="AjouterFav_Clicked" /> <Button x:Name="bouttonFav" Text="Ajouter aux favoris" Style="{StaticResource buttonFavsInfo}" Clicked="AjouterFav_Clicked" />
<Button x:Name="retirerFav" Text="Retirer des favoris" IsVisible="false" Style="{StaticResource buttonRetirerFavInfo}" Clicked="RetirerFav_Clicked"/>
<Frame Style="{StaticResource frameInfo}"> <Frame Style="{StaticResource frameInfo}">
<Label Text="Sommaire" Style="{StaticResource titreInfo}"/> <Label Text="Sommaire" Style="{StaticResource titreInfo}"/>
</Frame> </Frame>

@ -13,6 +13,8 @@ public partial class PageInfoPersonnage : ContentPage
{ {
bouttonFav.IsEnabled = false; bouttonFav.IsEnabled = false;
bouttonFav.Text = "Ajouté au favoris"; bouttonFav.Text = "Ajouté au favoris";
retirerFav.IsVisible = true;
} }
BindingContext = manager.SelectedItem; BindingContext = manager.SelectedItem;
@ -20,8 +22,17 @@ public partial class PageInfoPersonnage : ContentPage
private void AjouterFav_Clicked(object sender, EventArgs e) private void AjouterFav_Clicked(object sender, EventArgs e)
{ {
manager.AddFavoris(manager.SelectedItem); manager.ModifierFavoris(manager.SelectedItem, true);
bouttonFav.IsEnabled = false; bouttonFav.IsEnabled = false;
bouttonFav.Text = "Ajouté au favoris"; bouttonFav.Text = "Ajouté au favoris";
retirerFav.IsVisible = true;
}
private void RetirerFav_Clicked(object sender, EventArgs e)
{
manager.ModifierFavoris(manager.SelectedItem, false);
bouttonFav.IsEnabled = true;
bouttonFav.Text = "Ajouter au favoris";
retirerFav.IsVisible = false;
} }
} }

@ -83,12 +83,4 @@
</ScrollView> </ScrollView>
</VerticalStackLayout> </VerticalStackLayout>
<!--<Rectangle WidthRequest="200" HeightRequest="300" HorizontalOptions="Start" BackgroundColor="#72a3b3">
<Rectangle.Fill>
<LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5">
<GradientStop Color="#cdffd8" Offset="0.0" />-->
<!--<GradientStop Color="#94b9ff" Offset="1.0" /></LinearGradientBrush></Rectangle.Fill></Rectangle>-->
</ContentPage> </ContentPage>

@ -10,15 +10,18 @@ public partial class PagePersonnage : ContentPage
public Manager manager => (App.Current as App).manager; public Manager manager => (App.Current as App).manager;
public PagePersonnage() public PagePersonnage()
{ {
InitializeComponent(); InitializeComponent();
listePerso.ItemsSource = manager.GetPersonnages(); listePerso.ItemsSource = manager.GetPersonnages();
} }
async void listePerso_SelectionChanged(object sender, SelectionChangedEventArgs e) void listePerso_SelectionChanged(object sender, SelectionChangedEventArgs e)
{ {
manager.SelectedItem = (Personnage)listePerso.SelectedItem; manager.SelectedItem = (Personnage)listePerso.SelectedItem;
await Navigation.PushAsync(new PageInfoPersonnage());
Navigation.PushAsync(new PageInfoPersonnage());
} }
} }

@ -669,6 +669,7 @@
<Setter Property="TextColor" Value="White"/> <Setter Property="TextColor" Value="White"/>
<Setter Property="FontSize" Value="20"/> <Setter Property="FontSize" Value="20"/>
<Setter Property="Padding" Value="17"/> <Setter Property="Padding" Value="17"/>
<Setter Property="BorderColor" Value="Transparent"/>
</VisualState.Setters> </VisualState.Setters>
</VisualState> </VisualState>
<VisualState x:Name="Disabled"> <VisualState x:Name="Disabled">
@ -684,7 +685,34 @@
</VisualStateGroupList> </VisualStateGroupList>
</Setter> </Setter>
</Style> </Style>
<Style TargetType="Button" x:Key="buttonRetirerFavInfo">
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>
<VisualStateGroup>
<VisualState x:Name="Normal">
<VisualState.Setters>
<Setter Property="BackgroundColor" Value="DarkRed"/>
<Setter Property="TextColor" Value="White"/>
<Setter Property="FontSize" Value="20"/>
<Setter Property="Padding" Value="17"/>
<Setter Property="BorderColor" Value="DarkRed"/>
</VisualState.Setters>
</VisualState>
<VisualState x:Name="PointerOver">
<VisualState.Setters>
<Setter Property="BackgroundColor" Value="Red"/>
<Setter Property="TextColor" Value="White"/>
<Setter Property="FontSize" Value="20"/>
<Setter Property="Padding" Value="17"/>
<Setter Property="BorderColor" Value="Red"/>
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateGroupList>
</Setter>
</Style>
<!--<Style TargetType="Label" <!--<Style TargetType="Label"
Class="FlyoutItemLabelStyle"> Class="FlyoutItemLabelStyle">
<Setter Property="TextColor" <Setter Property="TextColor"

@ -11,7 +11,7 @@ Bateau luffy = new Bateau("Sunny", "", 15, 15,"","");
ObjetOhara b = luffy; ObjetOhara b = luffy;
Console.WriteLine(luffy.EstFavori); Console.WriteLine(luffy.EstFavori);
manager.AddFavoris(b); manager.ModifierFavoris(b);
foreach(Bateau s in manager.Bateaux) foreach(Bateau s in manager.Bateaux)
{ {

Loading…
Cancel
Save