using MauiAppStock.Models;
using MauiAppStock.Data;
using System.Collections.Generic;
using System.Linq;

namespace MauiAppStock.Views
{
    public partial class AddPiecePage : ContentPage
    {
        private List<Fournisseur> _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 = selectedFournisseur?.Nom
                };

                await Database.AddPieceAsync(piece);
                await Navigation.PopAsync();
            }
            else
            {
                await DisplayAlert("Erreur", "Veuillez vérifier les valeurs du prix et du stock.", "OK");
            }
        }
    }
}