You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
277 lines
8.3 KiB
277 lines
8.3 KiB
using CanYouBuildIt.Model;
|
|
using System.Diagnostics;
|
|
|
|
namespace CanYouBuildIt.Views;
|
|
|
|
public partial class Ordinateur : ContentPage
|
|
{
|
|
public Manager manager => (App.Current as App).manager;
|
|
public Dictionary<TypeComposant, Composant> dico = new Dictionary<TypeComposant, Composant>();
|
|
int user { get; set;}
|
|
int idPc { get; set;}
|
|
|
|
public Ordinateur(int IdPc)
|
|
{
|
|
InitializeComponent();
|
|
dico = manager.listBuild[IdPc].dComp;
|
|
fillGrid(IdPc);
|
|
}
|
|
|
|
public Ordinateur(int IdPc,int idUser)
|
|
{
|
|
InitializeComponent();
|
|
dico = manager.listBuild[IdPc].dComp;
|
|
idPc = IdPc;
|
|
fillGrid(IdPc);
|
|
bouttonFav(idUser);
|
|
}
|
|
|
|
//dépile la fenêtre pour retourner à la précédente
|
|
public async void BackHome(object sender, EventArgs e)
|
|
{
|
|
|
|
await Navigation.PopAsync();
|
|
}
|
|
|
|
public void bouttonFav(int user)
|
|
{
|
|
//if (manager.rechercheFav(user, idPc) != -1)
|
|
if (manager.listUtil[user].listFav.Contains(idPc))
|
|
{
|
|
ImageButton favbtn = new ImageButton()
|
|
{
|
|
Source = "favon.png",
|
|
HeightRequest = 50,
|
|
HorizontalOptions = LayoutOptions.End,
|
|
VerticalOptions = LayoutOptions.Start
|
|
};
|
|
favbtn.Clicked += switchFav;
|
|
Grid.SetRow(favbtn, 1);
|
|
Grid.SetColumn(favbtn, 1);
|
|
pcG.Children.Add(favbtn);
|
|
}
|
|
else
|
|
{
|
|
ImageButton favbtn = new ImageButton()
|
|
{
|
|
Source = "favoff.png",
|
|
HeightRequest = 50,
|
|
HorizontalOptions = LayoutOptions.End,
|
|
VerticalOptions = LayoutOptions.Start
|
|
};
|
|
favbtn.Clicked += switchFav;
|
|
Grid.SetRow(favbtn, 1);
|
|
Grid.SetColumn(favbtn, 1);
|
|
pcG.Children.Add(favbtn);
|
|
}
|
|
|
|
}
|
|
|
|
public void switchFav(object sender, EventArgs e)
|
|
{
|
|
ImageButton imageButton = (ImageButton)sender;
|
|
|
|
if (imageButton.Source.ToString() == "favon.png")
|
|
{
|
|
imageButton.Source = "favoff.png";
|
|
int adressFav = manager.rechercheFav(user, idPc);
|
|
manager.listUtil[user].listFav.RemoveAt(adressFav);
|
|
manager.sauvegardeDonnee();
|
|
}
|
|
else
|
|
{
|
|
imageButton.Source = "favon.png";
|
|
manager.listUtil[user].listFav.Add(idPc);
|
|
manager.sauvegardeDonnee();
|
|
}
|
|
}
|
|
|
|
public void fillGrid(int Pc)
|
|
{
|
|
|
|
// -- Processeur -- //
|
|
Label cpu = new Label()
|
|
{
|
|
Text = dico[TypeComposant.Processeur].id,
|
|
TextColor = Color.FromArgb("#FFFFFF"),
|
|
HorizontalOptions = LayoutOptions.Center,
|
|
VerticalOptions = LayoutOptions.Center
|
|
};
|
|
//Défini la case de la grille ou sera l'image
|
|
Grid.SetRow(cpu, 0);
|
|
Grid.SetColumn(cpu, 0);
|
|
//Met l'image dans la grille
|
|
pcG.Children.Add(cpu);
|
|
|
|
// -- Boitier -- //
|
|
Label boite = new Label()
|
|
{
|
|
Text = dico[TypeComposant.Boitier].id,
|
|
TextColor = Color.FromArgb("#FFFFFF"),
|
|
HorizontalOptions = LayoutOptions.Center,
|
|
VerticalOptions = LayoutOptions.Center
|
|
};
|
|
Grid.SetRow(boite, 0);
|
|
Grid.SetColumn(boite, 1);
|
|
pcG.Children.Add(boite);
|
|
|
|
// -- RAM -- //
|
|
Label ram = new Label()
|
|
{
|
|
Text = dico[TypeComposant.RAM].id,
|
|
TextColor = Color.FromArgb("#FFFFFF"),
|
|
HorizontalOptions = LayoutOptions.Center,
|
|
VerticalOptions = LayoutOptions.Center
|
|
};
|
|
Grid.SetRow(ram, 0);
|
|
Grid.SetColumn(ram, 2);
|
|
pcG.Children.Add(ram);
|
|
|
|
// -- Carte Graphique -- //
|
|
Label gpu = new Label()
|
|
{
|
|
Text = dico[TypeComposant.CarteGraphique].id,
|
|
TextColor = Color.FromArgb("#FFFFFF"),
|
|
HorizontalOptions = LayoutOptions.Center,
|
|
VerticalOptions = LayoutOptions.Center
|
|
};
|
|
Grid.SetRow(gpu, 1);
|
|
Grid.SetColumn(gpu, 0);
|
|
pcG.Children.Add(gpu);
|
|
|
|
// -- Ventirad -- //
|
|
Label ventir = new Label()
|
|
{
|
|
Text = dico[TypeComposant.Ventirad].id,
|
|
TextColor = Color.FromArgb("#FFFFFF"),
|
|
HorizontalOptions = LayoutOptions.Center,
|
|
VerticalOptions = LayoutOptions.Center
|
|
};
|
|
Grid.SetRow(ventir, 1);
|
|
Grid.SetColumn(ventir, 2);
|
|
pcG.Children.Add(ventir);
|
|
|
|
// -- Carte Mère -- //
|
|
Label mboard = new Label()
|
|
{
|
|
Text = dico[TypeComposant.CarteMere].id,
|
|
TextColor = Color.FromArgb("#FFFFFF"),
|
|
HorizontalOptions = LayoutOptions.Center,
|
|
VerticalOptions = LayoutOptions.Center
|
|
};
|
|
Grid.SetRow(mboard, 2);
|
|
Grid.SetColumn(mboard, 0);
|
|
pcG.Children.Add(mboard);
|
|
|
|
// -- Ventilateur -- //
|
|
if (dico.ContainsKey(TypeComposant.Ventilateur))
|
|
{
|
|
Label ventilo = new Label()
|
|
{
|
|
Text = dico[TypeComposant.Ventilateur].id,
|
|
TextColor = Color.FromArgb("#FFFFFF"),
|
|
HorizontalOptions = LayoutOptions.Center,
|
|
VerticalOptions = LayoutOptions.Center
|
|
};
|
|
Grid.SetRow(ventilo, 2);
|
|
Grid.SetColumn(ventilo, 2);
|
|
pcG.Children.Add(ventilo);
|
|
}
|
|
else
|
|
{
|
|
Label ventilo = new Label()
|
|
{
|
|
Text = "Pas de ventilateur suplémentaire",
|
|
TextColor = Color.FromArgb("#FFFFFF"),
|
|
HorizontalOptions = LayoutOptions.Center,
|
|
VerticalOptions = LayoutOptions.Center
|
|
};
|
|
Grid.SetRow(ventilo, 2);
|
|
Grid.SetColumn(ventilo, 2);
|
|
pcG.Children.Add(ventilo);
|
|
}
|
|
|
|
// -- SSD -- //
|
|
if (dico.ContainsKey(TypeComposant.SSD))
|
|
{
|
|
Label ssd = new Label()
|
|
{
|
|
Text = dico[TypeComposant.SSD].id,
|
|
TextColor = Color.FromArgb("#FFFFFF"),
|
|
HorizontalOptions = LayoutOptions.Center,
|
|
VerticalOptions = LayoutOptions.Center
|
|
};
|
|
Grid.SetRow(ssd, 3);
|
|
Grid.SetColumn(ssd, 0);
|
|
pcG.Children.Add(ssd);
|
|
}
|
|
else
|
|
{
|
|
Label ssd = new Label()
|
|
{
|
|
Text = "Pas de SSD",
|
|
TextColor = Color.FromArgb("#FFFFFF"),
|
|
HorizontalOptions = LayoutOptions.Center,
|
|
VerticalOptions = LayoutOptions.Center
|
|
};
|
|
Grid.SetRow(ssd, 3);
|
|
Grid.SetColumn(ssd, 0);
|
|
pcG.Children.Add(ssd);
|
|
}
|
|
|
|
|
|
// -- Alimentation -- //
|
|
Label alim = new Label()
|
|
{
|
|
Text = dico[TypeComposant.Alimentation].id,
|
|
TextColor = Color.FromArgb("#FFFFFF"),
|
|
HorizontalOptions = LayoutOptions.Center,
|
|
VerticalOptions = LayoutOptions.Center
|
|
};
|
|
Grid.SetRow(alim, 3);
|
|
Grid.SetColumn(alim, 1);
|
|
pcG.Children.Add(alim);
|
|
|
|
// -- HDD -- //
|
|
if (dico.ContainsKey(TypeComposant.HDD))
|
|
{
|
|
Label hdd = new Label()
|
|
{
|
|
Text = dico[TypeComposant.HDD].id,
|
|
TextColor = Color.FromArgb("#FFFFFF"),
|
|
HorizontalOptions = LayoutOptions.Center,
|
|
VerticalOptions = LayoutOptions.Center
|
|
};
|
|
Grid.SetRow(hdd, 3);
|
|
Grid.SetColumn(hdd, 2);
|
|
pcG.Children.Add(hdd);
|
|
}
|
|
else
|
|
{
|
|
Label hdd = new Label()
|
|
{
|
|
Text = "Pas de HDD",
|
|
TextColor = Color.FromArgb("#FFFFFF"),
|
|
HorizontalOptions = LayoutOptions.Center,
|
|
VerticalOptions = LayoutOptions.Center
|
|
};
|
|
Grid.SetRow(hdd, 3);
|
|
Grid.SetColumn(hdd, 2);
|
|
pcG.Children.Add(hdd);
|
|
}
|
|
|
|
Image pcI = new Image()
|
|
{
|
|
Source = manager.listBuild[Pc].image,
|
|
Margin = new Thickness(0,-50,0,0),
|
|
HeightRequest = 300,
|
|
};
|
|
Grid.SetRow(pcI, 2);
|
|
Grid.SetColumn(pcI, 1);
|
|
pcG.Children.Add(pcI);
|
|
|
|
prixL.Text = manager.listBuild[idPc].prix.ToString();
|
|
}
|
|
|
|
|
|
} |