using Services;
using System.Net.Http.Json;

namespace ReAct_PME.WebUI.Pages.Paramètres
{
    public class ParametresCompteMail_VM
    {
        private readonly HttpClient _httpClient;

        public CompteMailUser SelectedItem { get; set; } = new();

        public string Message { get; set; } = "";

        public ParametresCompteMail_VM(HttpClient httpClient)
        {
            _httpClient = httpClient;
        }

        public async Task LoadDataAsync()
        {
            try
            {
                var item = await _httpClient.GetFromJsonAsync<CompteMailUser>("api/Parametres/CompteMailUser");
                if (item != null)
                    SelectedItem = item;
            }
            catch(Exception ex)
            {
                Message = $"Erreur lors du chargement des données : {ex.Message}";
            }
        }

        public async Task<bool> SaveDataAsync()
        {
            try
            {
                var response = await _httpClient.PostAsJsonAsync("api/Parametres/CompteMailUser", SelectedItem);
                if (response.IsSuccessStatusCode)
                {
                    Message = "✅ Données sauvegardées.";
                    return true;
                }
                else
                {
                    Message = "❌ Erreur de sauvegarde.";
                    return false;
                }
            }
            catch
            {
                Message = "Erreur réseau.";
                return false;
            }
        }
    }

}
