using ReAct_PME.WPF_FrameWork;
using ToolsServices;

namespace ReAct_PME.ViewModels
{
    public class ParametresPrompts_VM : BaseViewModel
    {
        #region Propriétés
        public string IntitulePrompt { get; set; } = "Prompt : Aucun";
        public string Prompt { get; set; } = "";
        public PromptService.ePrompt? SelectItem { get; set; } = new();
        public IEnumerable<PromptService.ePrompt> ListeItems => PromptService.GetAllPrompts();
        #endregion

        #region Constructeur
        public ParametresPrompts_VM()
        {
            SelectItem = null;
        }
        #endregion

        #region Méthodes publiques
        public void SelectPrompt()
        {
            if(SelectItem == null)
                return;

            PromptService.ePrompt selectItem = (PromptService.ePrompt)SelectItem;
            Prompt = PromptService.GetPromptBrut(selectItem);
            IntitulePrompt = $"Prompt : {SelectItem}";

            OnPropertyChanged(nameof(Prompt));
            OnPropertyChanged(nameof(IntitulePrompt));
        }

        public (bool, string) SavePrompt(bool isConfirm = false)
        {
            if (SelectItem == null)
                return (false,"Aucun prompt sélectionné");

            PromptService.ePrompt selectItem = (PromptService.ePrompt)SelectItem;
            return PromptService.SavePrompt(selectItem, Prompt, isConfirm);
        }
        #endregion
    }
}
