AppSAV/MauiAppStock/Views/AddAppareilPiecePage.xaml.cs
2025-04-03 15:53:45 +02:00

51 lines
1.7 KiB
C#

using MauiAppStock.Models;
using MauiAppStock.Data;
using Microsoft.Maui.Controls;
namespace MauiAppStock.Views
{
public partial class AddAppareilPiecePage : ContentPage
{
private Appareil _appareil;
public AddAppareilPiecePage(Appareil appareil)
{
InitializeComponent();
_appareil = appareil;
LoadPieces();
}
private async void LoadPieces()
{
var pieces = await Database.GetPiecesAsync();
PiecesPicker.ItemsSource = pieces;
PiecesPicker.ItemDisplayBinding = new Binding("Nom");
}
private async void OnSaveClicked(object sender, EventArgs e)
{
if (PiecesPicker.SelectedItem is Piece selectedPiece)
{
// Vérification de l'existence d'une association pour cet appareil et cette pièce
var existingAssociation = await Database.GetAppareilPieceAsync(_appareil.Id, selectedPiece.Id);
if (existingAssociation != null)
{
await DisplayAlert("Erreur", "Cette pièce est déjà associée à cet appareil.", "OK");
return;
}
var association = new AppareilPiece
{
AppareilId = _appareil.Id,
PieceId = selectedPiece.Id,
EstRecommandee = RecommandeeSwitch.IsToggled
};
await Database.AddAppareilPieceAsync(association);
await Navigation.PopAsync();
}
else
{
await DisplayAlert("Erreur", "Veuillez sélectionner une pièce.", "OK");
}
}
}
}