diff --git a/MauiAppStock/Views/AddPiecePage.xaml b/MauiAppStock/Views/AddPiecePage.xaml
index 56f0f12..a23ab91 100644
--- a/MauiAppStock/Views/AddPiecePage.xaml
+++ b/MauiAppStock/Views/AddPiecePage.xaml
@@ -4,11 +4,15 @@
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">
+
-
+
+
+
+
\ No newline at end of file
diff --git a/MauiAppStock/Views/AddPiecePage.xaml.cs b/MauiAppStock/Views/AddPiecePage.xaml.cs
index b3c1bf3..6ea2749 100644
--- a/MauiAppStock/Views/AddPiecePage.xaml.cs
+++ b/MauiAppStock/Views/AddPiecePage.xaml.cs
@@ -1,27 +1,42 @@
using MauiAppStock.Models;
using MauiAppStock.Data;
+using System.Collections.Generic;
+using System.Linq;
namespace MauiAppStock.Views
{
public partial class AddPiecePage : ContentPage
{
+ private List _fournisseurs;
+
public AddPiecePage()
{
InitializeComponent();
+ LoadFournisseurs();
+ }
+
+ private async void LoadFournisseurs()
+ {
+ _fournisseurs = await Database.GetFournisseursAsync();
+ FournisseurPicker.ItemsSource = _fournisseurs;
+ FournisseurPicker.ItemDisplayBinding = new Binding("Nom");
}
private async void OnSaveClicked(object sender, EventArgs e)
{
if (double.TryParse(PrixEntry.Text, out double prix) && int.TryParse(StockEntry.Text, out int stock))
{
+ var selectedFournisseur = FournisseurPicker.SelectedItem as Fournisseur;
+
var piece = new Piece
{
Nom = NomEntry.Text,
Description = DescriptionEditor.Text,
Prix = prix,
Stock = stock,
- Fournisseur = FournisseurEntry.Text
+ Fournisseur = selectedFournisseur?.Nom
};
+
await Database.AddPieceAsync(piece);
await Navigation.PopAsync();
}
diff --git a/MauiAppStock/Views/EditPiecePage.xaml b/MauiAppStock/Views/EditPiecePage.xaml
index 8c720d1..3b14671 100644
--- a/MauiAppStock/Views/EditPiecePage.xaml
+++ b/MauiAppStock/Views/EditPiecePage.xaml
@@ -4,11 +4,15 @@
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">
+
-
+
+
+
+
diff --git a/MauiAppStock/Views/EditPiecePage.xaml.cs b/MauiAppStock/Views/EditPiecePage.xaml.cs
index 9283357..1b1fbbf 100644
--- a/MauiAppStock/Views/EditPiecePage.xaml.cs
+++ b/MauiAppStock/Views/EditPiecePage.xaml.cs
@@ -6,15 +6,39 @@ namespace MauiAppStock.Views
public partial class EditPiecePage : ContentPage
{
private Piece _piece;
+ private List _fournisseurs;
+
public EditPiecePage(Piece piece)
{
InitializeComponent();
_piece = piece;
+
+ // Remplir les champs de base
NomEntry.Text = piece.Nom;
DescriptionEditor.Text = piece.Description;
PrixEntry.Text = piece.Prix.ToString();
StockEntry.Text = piece.Stock.ToString();
- FournisseurEntry.Text = piece.Fournisseur;
+ }
+
+ protected override async void OnAppearing()
+ {
+ base.OnAppearing();
+
+ // Charger les fournisseurs
+ _fournisseurs = await Database.GetFournisseursAsync();
+
+ FournisseurPicker.ItemsSource = _fournisseurs;
+ FournisseurPicker.ItemDisplayBinding = new Binding("Nom");
+
+ // Sélectionner le fournisseur existant (si défini)
+ if (!string.IsNullOrEmpty(_piece.Fournisseur))
+ {
+ var fournisseurActuel = _fournisseurs.FirstOrDefault(f => f.Nom == _piece.Fournisseur);
+ if (fournisseurActuel != null)
+ {
+ FournisseurPicker.SelectedItem = fournisseurActuel;
+ }
+ }
}
private async void OnSaveClicked(object sender, EventArgs e)
@@ -25,7 +49,10 @@ namespace MauiAppStock.Views
_piece.Description = DescriptionEditor.Text;
_piece.Prix = prix;
_piece.Stock = stock;
- _piece.Fournisseur = FournisseurEntry.Text;
+
+ var fournisseurSelectionne = FournisseurPicker.SelectedItem as Fournisseur;
+ _piece.Fournisseur = fournisseurSelectionne?.Nom;
+
await Database.UpdatePieceAsync(_piece);
await Navigation.PopAsync();
}
@@ -45,4 +72,4 @@ namespace MauiAppStock.Views
}
}
}
-}
\ No newline at end of file
+}