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"); } } } }