using ReAct_PME.ViewModels;
using System.Windows;
using System.Windows.Media;

namespace ReAct_PME
{
    /// <summary>
    /// Logique d'interaction pour GenerateEmail.xaml
    /// </summary>
    public partial class GenerateEmail : Window
    {
        private GenerateEmail_VM _VM = new();
        public GenerateEmail()
        {
            InitializeComponent();
            this.DataContext = _VM;
        }

        private async void OnGenerateClick(object sender, RoutedEventArgs e)
        {
            BtnGenerer.IsEnabled = false;
            BtnEnvoyer.IsEnabled = false;
            ShowMessage("Génération en cours...", true);
            var (b, m) = await _VM.Generer();
            BtnEnvoyer.IsEnabled = b;
            BtnGenerer.IsEnabled = true;
            if (b)
                ShowMessage("Email généré avec succès.", true);
            else
                ShowMessage($"Erreur lors de la génération de l'email : {m}", false);
        }

        private async void OnSendClick(object sender, RoutedEventArgs e)
        {
            var (b,m) = await _VM.Envoyer();
            if(b)
                ShowMessage("Email envoyé avec succès.", true);
            else
                ShowMessage($"Erreur lors de l'envoi de l'email", false);
        }

        private void OnFermerClick(object sender, RoutedEventArgs e)
        {
            this.Close();
        }

        private void ShowMessage(string msg, bool isSuccess)
        {
            StatusText.Text = msg;
            StatusText.Foreground = isSuccess ? Brushes.Green : Brushes.Red;
        }
    }

}
