51 lines
1.7 KiB
C#
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");
|
|
}
|
|
}
|
|
}
|
|
} |