using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static System.Net.Mime.MediaTypeNames;

namespace Model
{
    public enum TipsType
    {
        Unknown = -10,
        Cleared = -1,
        Common = 0,
    }
    public class Tips
    {
        public string Message { get; set; }
        public TipsType Type { get; set; }
        public DateTime Timestamp { get; set; }

        public static List<(string Node,string Message,bool DesiredValue)>TipsNodeWithMessage = new List<(string Node, string Message, bool DesiredValue)>
        {
            ("Application.Var_Hand_Turntable.b转盘轴使能状态" , "A00转盘轴未使能",false),
            ("Application.GVL_A01_Auto.b下压轴使能状态" , "A00转盘轴未回原",false),
            ("Application.GVL_A01_Auto.b分离轴使能状态" , "A00转盘轴未回原",false),
            ("Application.GVL_A04_Auto.b下压轴使能状态" , "A04下压轴未使能",false),
            ("Application.GVL_A04_Auto.b旋转轴使能状态" , "A04旋转轴未使能",false),
            ("Application.GVL_A05_Auto.b下压轴使能状态" , "A05下压轴未使能",false),
            ("Application.GVL_A06_Auto.b下压轴使能状态" , "A06下压轴未使能",false),
            ("Application.GVL_A07_Auto.b下压轴使能状态" , "A07下压轴未使能",false),
            ("Application.GVL_A08_Auto.b下压轴使能状态" , "A08下压轴未使能",false),
            ("Application.GVL_A09_Auto.b料盒轴使能状态" , "A09料盒轴未使能",false),
            ("Application.GVL_A10_Auto.b料盒轴使能状态" , "A10料盒轴未使能",false),
            ("Application.GVL_A11_Auto.b下压轴使能状态" , "A11下压轴未使能",false),
            ("Application.GVL_A15_Auto.b下压轴使能状态" , "A15下压轴未使能",false),
            ("Application.GVL_A15_Auto.b热测升降轴使能状态" , "A15热测升降轴未使能",false),
            ("Application.GVL_A15_Auto.b热测盘使能状态" , "A15热测盘未使能",false),
            ("Application.GVL_A15_Auto.b翻转升降轴使能状态" , "A15翻转升降轴未使能",false),
            ("Application.GVL_A15_Auto.b翻转轴使能状态" , "A15翻转轴未使能",false),
            ("Application.GVL_A20_Auto.b下压轴使能状态" , "A20下压轴未使能",false),
            ("Application.GVL_A21_Auto.b下压轴使能状态" , "A21下压轴未使能",false),
            ("Application.GVL_A22_Auto.b料盒轴使能状态" , "A22料盒轴未使能",false),
            ("Application.GVL_A23_Auto.b下压轴使能状态" , "A23下压轴未使能",false),
            ("Application.GVL_A24_Auto.b下压轴使能状态" , "A24下压轴未使能",false),
            ("Application.GVL_A24_Auto.b镭射盘使能状态" , "A24镭射盘未使能",false),
            ("Application.GVL_A26_Auto.b下压轴使能状态" , "A26下压轴未使能",false),
            ("Application.GVL_A27_Auto.b下压轴使能状态" , "A27下压轴未使能",false),
            ("Application.GVL_A28_Auto.b下压轴使能状态" , "A28下压轴未使能",false),
            ("Application.GVL_A28_Auto.b旋转轴使能状态" , "A28旋转轴未使能",false),
            ("Application.GVL_A29_Auto.b下压轴使能状态" , "A29下压轴未使能",false),
            ("Application.GVL_A30_Auto.b料盒轴使能状态" , "A30料盒轴未使能",false),
            ("Application.GVL_A31_Auto.b下压轴使能状态" , "A31下压轴未使能",false),
            ("Application.Var_Hand_A33_Encapsulation1.b下压轴使能状态" , "A33下压轴未使能",false),
            ("Application.Var_Hand_A33_Encapsulation1.b封合轴使能状态" , "A33封合轴未使能",false),
            ("Application.Var_Hand_A33_Encapsulation1.b走带轴使能状态" , "A33走带轴未使能",false),
            ("Application.GVL_A35_Auto.b下压轴使能状态" , "A35下压轴未使能",false),
            ("Application.Var_Hand_A37_Encapsulation2.b下压轴使能状态" , "A37下压轴未使能",false),
            ("Application.Var_Hand_A37_Encapsulation2.b封合轴使能状态" , "A37封合轴未使能",false),
            ("Application.Var_Hand_A37_Encapsulation2.b走带轴使能状态" , "A37走带轴未使能",false),


            ("Application.Var_Hand_Turntable.b转盘轴回原完成" , "A00转盘轴未回原",false),
            ("Application.GVL_A01_Auto.b下压轴回原完成" , "A01入料站下压轴未回原",false),
            ("Application.GVL_A01_Auto.b分离轴回原完成" , "A01入料站分离轴未回原",false),
            ("Application.GVL_A04_Auto.b下压轴回原完成" , "A04下压轴未回原",false),
            ("Application.GVL_A04_Auto.b旋转轴回原完成" , "A04旋转轴未回原",false),
            ("Application.GVL_A05_Auto.b下压轴回原完成" , "A05下压轴未回原",false),
            ("Application.GVL_A06_Auto.b下压轴回原完成" , "A06下压轴未回原",false),
            ("Application.GVL_A07_Auto.b下压轴回原完成" , "A07下压轴未回原",false),
            ("Application.GVL_A08_Auto.b下压轴回原完成" , "A08下压轴未回原",false),
            ("Application.GVL_A09_Auto.b料盒轴回原完成" , "A09料盒轴未回原",false),
            ("Application.GVL_A10_Auto.b料盒轴回原完成" , "A10料盒轴未回原",false),
            ("Application.GVL_A11_Auto.b下压轴回原完成" , "A11下压轴未回原",false),
            ("Application.GVL_A15_Auto.b下压轴回原完成" , "A15下压轴未回原",false),
            ("Application.GVL_A15_Auto.b热测升降轴回原完成" , "A15热测升降轴未回原",false),
            ("Application.GVL_A15_Auto.b热测盘回原完成" , "A15热测盘未回原",false),
            ("Application.GVL_A15_Auto.b翻转升降轴回原完成" , "A15翻转升降轴未回原",false),
            ("Application.GVL_A15_Auto.b翻转轴回原完成" , "A15翻转轴未回原",false),
            ("Application.GVL_A20_Auto.b下压轴回原完成" , "A20下压轴未回原",false),
            ("Application.GVL_A21_Auto.b下压轴回原完成" , "A21下压轴未回原",false),
            ("Application.GVL_A22_Auto.b料盒轴回原完成" , "A22料盒轴未回原",false),
            ("Application.GVL_A23_Auto.b下压轴回原完成" , "A23下压轴未回原",false),
            ("Application.GVL_A24_Auto.b下压轴回原完成" , "A24下压轴未回原",false),
            ("Application.GVL_A24_Auto.b镭射盘回原完成" , "A24镭射盘未回原",false),
            ("Application.GVL_A26_Auto.b下压轴回原完成" , "A26下压轴未回原",false),
            ("Application.GVL_A27_Auto.b下压轴回原完成" , "A27下压轴未回原",false),
            ("Application.GVL_A28_Auto.b下压轴回原完成" , "A28下压轴未回原",false),
            ("Application.GVL_A28_Auto.b旋转轴回原完成" , "A28旋转轴未回原",false),
            ("Application.GVL_A29_Auto.b下压轴回原完成" , "A29下压轴未回原",false),
            ("Application.GVL_A30_Auto.b料盒轴回原完成" , "A30料盒轴未回原",false),
            ("Application.GVL_A31_Auto.b下压轴回原完成" , "A31下压轴未回原",false),
            ("Application.Var_Hand_A33_Encapsulation1.b下压轴回原完成" , "A33下压轴未回原",false),
            ("Application.Var_Hand_A33_Encapsulation1.b封合轴回原完成" , "A33封合轴未回原",false),
            ("Application.GVL_A35_Auto.b下压轴回原完成" , "A35下压轴未回原",false),
            ("Application.Var_Hand_A37_Encapsulation2.b下压轴回原完成" , "A37下压轴未回原",false),
            ("Application.Var_Hand_A37_Encapsulation2.b封合轴回原完成" , "A37封合轴未回原",false),
        };
    }
    public class TipsDisplay
    {
        public int Id { get; set; }
        public int RowNumber { get; set; }
        public DateTime Timestamp { get; set; }
        public string Username { get; set; }
        public string Message { get; set; }
        public string Type { get; set; } 
    }
}
