Ajout picker fournisseurs dans AddPiece et EditPiece
This commit is contained in:
parent
a2f833d35d
commit
96792c02d9
@ -4,11 +4,15 @@
|
|||||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">
|
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">
|
||||||
<StackLayout Padding="10">
|
<StackLayout Padding="10">
|
||||||
<Label Text="Ajouter une Pièce" FontSize="24" HorizontalOptions="Center"/>
|
<Label Text="Ajouter une Pièce" FontSize="24" HorizontalOptions="Center"/>
|
||||||
|
|
||||||
<Entry x:Name="NomEntry" Placeholder="Nom"/>
|
<Entry x:Name="NomEntry" Placeholder="Nom"/>
|
||||||
<Editor x:Name="DescriptionEditor" Placeholder="Description" HeightRequest="100"/>
|
<Editor x:Name="DescriptionEditor" Placeholder="Description" HeightRequest="100"/>
|
||||||
<Entry x:Name="PrixEntry" Placeholder="Prix" Keyboard="Numeric"/>
|
<Entry x:Name="PrixEntry" Placeholder="Prix" Keyboard="Numeric"/>
|
||||||
<Entry x:Name="StockEntry" Placeholder="Stock" Keyboard="Numeric"/>
|
<Entry x:Name="StockEntry" Placeholder="Stock" Keyboard="Numeric"/>
|
||||||
<Entry x:Name="FournisseurEntry" Placeholder="Fournisseur"/>
|
|
||||||
|
<Label Text="Sélectionnez un fournisseur:"/>
|
||||||
|
<Picker x:Name="FournisseurPicker" Title="Fournisseurs"/>
|
||||||
|
|
||||||
<Button Text="Enregistrer" Clicked="OnSaveClicked"/>
|
<Button Text="Enregistrer" Clicked="OnSaveClicked"/>
|
||||||
</StackLayout>
|
</StackLayout>
|
||||||
</ContentPage>
|
</ContentPage>
|
@ -1,27 +1,42 @@
|
|||||||
using MauiAppStock.Models;
|
using MauiAppStock.Models;
|
||||||
using MauiAppStock.Data;
|
using MauiAppStock.Data;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
namespace MauiAppStock.Views
|
namespace MauiAppStock.Views
|
||||||
{
|
{
|
||||||
public partial class AddPiecePage : ContentPage
|
public partial class AddPiecePage : ContentPage
|
||||||
{
|
{
|
||||||
|
private List<Fournisseur> _fournisseurs;
|
||||||
|
|
||||||
public AddPiecePage()
|
public AddPiecePage()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
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)
|
private async void OnSaveClicked(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (double.TryParse(PrixEntry.Text, out double prix) && int.TryParse(StockEntry.Text, out int stock))
|
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
|
var piece = new Piece
|
||||||
{
|
{
|
||||||
Nom = NomEntry.Text,
|
Nom = NomEntry.Text,
|
||||||
Description = DescriptionEditor.Text,
|
Description = DescriptionEditor.Text,
|
||||||
Prix = prix,
|
Prix = prix,
|
||||||
Stock = stock,
|
Stock = stock,
|
||||||
Fournisseur = FournisseurEntry.Text
|
Fournisseur = selectedFournisseur?.Nom
|
||||||
};
|
};
|
||||||
|
|
||||||
await Database.AddPieceAsync(piece);
|
await Database.AddPieceAsync(piece);
|
||||||
await Navigation.PopAsync();
|
await Navigation.PopAsync();
|
||||||
}
|
}
|
||||||
|
@ -4,11 +4,15 @@
|
|||||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">
|
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">
|
||||||
<StackLayout Padding="10">
|
<StackLayout Padding="10">
|
||||||
<Label Text="Modifier la Pièce" FontSize="24" HorizontalOptions="Center"/>
|
<Label Text="Modifier la Pièce" FontSize="24" HorizontalOptions="Center"/>
|
||||||
|
|
||||||
<Entry x:Name="NomEntry" Placeholder="Nom"/>
|
<Entry x:Name="NomEntry" Placeholder="Nom"/>
|
||||||
<Editor x:Name="DescriptionEditor" Placeholder="Description" HeightRequest="100"/>
|
<Editor x:Name="DescriptionEditor" Placeholder="Description" HeightRequest="100"/>
|
||||||
<Entry x:Name="PrixEntry" Placeholder="Prix" Keyboard="Numeric"/>
|
<Entry x:Name="PrixEntry" Placeholder="Prix" Keyboard="Numeric"/>
|
||||||
<Entry x:Name="StockEntry" Placeholder="Stock" Keyboard="Numeric"/>
|
<Entry x:Name="StockEntry" Placeholder="Stock" Keyboard="Numeric"/>
|
||||||
<Entry x:Name="FournisseurEntry" Placeholder="Fournisseur"/>
|
|
||||||
|
<Label Text="Sélectionnez un fournisseur:"/>
|
||||||
|
<Picker x:Name="FournisseurPicker" Title="Fournisseurs"/>
|
||||||
|
|
||||||
<Button Text="Enregistrer" Clicked="OnSaveClicked"/>
|
<Button Text="Enregistrer" Clicked="OnSaveClicked"/>
|
||||||
<Button Text="Supprimer" Clicked="OnDeleteClicked" TextColor="Red"/>
|
<Button Text="Supprimer" Clicked="OnDeleteClicked" TextColor="Red"/>
|
||||||
</StackLayout>
|
</StackLayout>
|
||||||
|
@ -6,15 +6,39 @@ namespace MauiAppStock.Views
|
|||||||
public partial class EditPiecePage : ContentPage
|
public partial class EditPiecePage : ContentPage
|
||||||
{
|
{
|
||||||
private Piece _piece;
|
private Piece _piece;
|
||||||
|
private List<Fournisseur> _fournisseurs;
|
||||||
|
|
||||||
public EditPiecePage(Piece piece)
|
public EditPiecePage(Piece piece)
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
_piece = piece;
|
_piece = piece;
|
||||||
|
|
||||||
|
// Remplir les champs de base
|
||||||
NomEntry.Text = piece.Nom;
|
NomEntry.Text = piece.Nom;
|
||||||
DescriptionEditor.Text = piece.Description;
|
DescriptionEditor.Text = piece.Description;
|
||||||
PrixEntry.Text = piece.Prix.ToString();
|
PrixEntry.Text = piece.Prix.ToString();
|
||||||
StockEntry.Text = piece.Stock.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)
|
private async void OnSaveClicked(object sender, EventArgs e)
|
||||||
@ -25,7 +49,10 @@ namespace MauiAppStock.Views
|
|||||||
_piece.Description = DescriptionEditor.Text;
|
_piece.Description = DescriptionEditor.Text;
|
||||||
_piece.Prix = prix;
|
_piece.Prix = prix;
|
||||||
_piece.Stock = stock;
|
_piece.Stock = stock;
|
||||||
_piece.Fournisseur = FournisseurEntry.Text;
|
|
||||||
|
var fournisseurSelectionne = FournisseurPicker.SelectedItem as Fournisseur;
|
||||||
|
_piece.Fournisseur = fournisseurSelectionne?.Nom;
|
||||||
|
|
||||||
await Database.UpdatePieceAsync(_piece);
|
await Database.UpdatePieceAsync(_piece);
|
||||||
await Navigation.PopAsync();
|
await Navigation.PopAsync();
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user