using System;
using System.Windows.Controls;
using MECF.Framework.UI.Client.ClientBase;

namespace OpenSEMI.ClientBase
{
    public class MessageDialogViewModel : MessageDialog
    {
        protected override void OnInitialize()
        {
            base.OnInitialize();
            DisplayName = "Dialog Box";
        }

        public void OnButtonClick(object sender)
        {
            if (sender is Button btn)
            {
                // 某些按钮的标题可能来自于Description属性，无法直接从Content还原为DialogButton枚举。
                // 先尝试从Button.Tag获取其DialogButton枚举值，如果失败再尝试从Button.Content获取（兼容老代码）

                if (Enum.TryParse(btn.Content.ToString(), out DialogButton dlgRet))
                {
                    DialogResult = dlgRet;
                    TryClose();
                }
                else if (btn.Tag is DialogButton dlgRet1)
                {
                    DialogResult = dlgRet1;
                    TryClose();
                }
            }
        }
    }
}
