/// <summary>
 /// AI點位新增畫面
 /// </summary>
 /// <param name="CaseUserControl">AI資訊主畫面</param>
 /// <param name="form1">繼承主物件-泡泡視窗使用</param>
 /// <param name="ewatch_MySqlMethod">資料庫方法</param>
 public AiConfigUserControl1(Ewatch_Field4UserControl CaseUserControl, Form1 form1, Ewatch_MySqlMethod ewatch_MySqlMethod)
 {
     InitializeComponent();
     caseUserControl    = CaseUserControl;
     Form1              = form1;
     Ewatch_MySqlMethod = ewatch_MySqlMethod;
 }
Example #2
0
 /// <summary>
 /// 狀態新增畫面
 /// </summary>
 /// <param name="CaseUserControl">狀態主畫面</param>
 /// <param name="form1">繼承主物件-泡泡視窗使用</param>
 /// <param name="ewatch_MySqlMethod">資料庫方法</param>
 public StateSettingUserControl1cs(Ewatch_Field4UserControl CaseUserControl, Form1 form1, Ewatch_MySqlMethod ewatch_MySqlMethod)
 {
     InitializeComponent();
     caseUserControl    = CaseUserControl;
     Form1              = form1;
     Ewatch_MySqlMethod = ewatch_MySqlMethod;
 }
        private void ChangesimpleButton_Click(object sender, EventArgs e)
        {
            ElectricSetting electricSetting = new ElectricSetting()
            {
                CaseNo       = CaseNotextEdit.Text,
                ElectricNo   = Convert.ToInt32(ElectricNotextEdit.Text),
                ElectricName = ElectricNametextEdit.Text,
                NotifyFlag   = NotifyFlagtoggleSwitch.IsOn,
                TimeoutSpan  = Convert.ToInt32(TimeoutSpantextEdit.Text),
                MTimeoutSpan = Convert.ToInt32(MTimeoutSpantextEdit.Text)
            };

            Ewatch_MySqlMethod.Update_ElectricSetting(electricSetting);
            Search_Setting();
        }
        private void ChangesimpleButton_Click(object sender, EventArgs e)
        {
            StateSetting stateSetting = new StateSetting()
            {
                CaseNo     = CaseNotextEdit.Text,
                StateNo    = Convert.ToInt32(StateNotextEdit.Text),
                StateName  = StateNametextEdit.Text,
                NotifyFlag = NotifyFlagtoggleSwitch.IsOn,
                StateFlag  = Convert.ToInt32(StateFlagcomboBoxEdit.SelectedIndex),
                StateHigh  = StateHightextEdit.Text,
                StateLow   = StateLowtextEdit.Text
            };

            Ewatch_MySqlMethod.Update_StateSetting(stateSetting);
            Search_Setting();
        }
        private void SavesimpleButton_Click(object sender, EventArgs e)
        {
            ElectricSetting electricSetting = new ElectricSetting()
            {
                CaseNo       = CaseNotextEdit.Text,
                ElectricNo   = Convert.ToInt32(ElectricNotextEdit.Text),
                ElectricName = ElectricNametextEdit.Text,
                NotifyFlag   = NotifyFlagtoggleSwitch.IsOn,
                TimeoutSpan  = Convert.ToInt32(TimeoutSpantextEdit.Text),
                MTimeoutSpan = Convert.ToInt32(MTimeoutSpantextEdit.Text)
            };

            Ewatch_MySqlMethod.Insert_ElectricSetting(electricSetting);
            caseUserControl.Search_Setting();
            caseUserControl.FlyoutFlag = false;
            caseUserControl.flyout.Close();
        }
 protected override void AfterMyWorkStateChanged(object sender, EventArgs e)
 {
     if (myWorkState)
     {
         CaseSettings     = Ewatch_MySqlMethod.CaseLoad();
         AiSettings       = Ewatch_MySqlMethod.AiLoad();
         ElectricSettings = Ewatch_MySqlMethod.ElectricLoad();
         ConnectionThread = new Thread(Connection_Mysql);
         ConnectionThread.Start();
     }
     else
     {
         if (ConnectionThread != null)
         {
             ConnectionThread.Abort();
         }
     }
 }
Example #7
0
        private void SavesimpleButton_Click(object sender, EventArgs e)
        {
            StateSetting stateSetting = new StateSetting()
            {
                CaseNo     = CaseNotextEdit.Text,
                StateNo    = Convert.ToInt32(StateNotextEdit.Text),
                StateName  = StateNametextEdit.Text,
                NotifyFlag = NotifyFlagtoggleSwitch.IsOn,
                StateFlag  = Convert.ToInt32(StateFlagcomboBoxEdit.SelectedIndex),
                StateHigh  = StateHightextEdit.Text,
                StateLow   = StateLowtextEdit.Text
            };

            Ewatch_MySqlMethod.Insert_StateSetting(stateSetting);
            caseUserControl.Search_Setting();
            caseUserControl.FlyoutFlag = false;
            caseUserControl.flyout.Close();
        }
Example #8
0
        /// <summary>
        /// 修改按鈕
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ChangesimpleButton_Click(object sender, EventArgs e)
        {
            CaseSetting caseSetting = new CaseSetting()
            {
                CaseNo         = CaseNotextEdit.Text,
                Address        = AddresstextEdit.Text,
                Contacter      = ContactertextEdit.Text,
                Phone          = PhonetextEdit.Text,
                TitleName      = TitleNametextEdit.Text,
                NotifyTypeEnum = NotifyTypeEnumcomboBoxEdit.SelectedIndex,
                NotifyApi      = NotifyApitextEdit.Text,
                NotifyToken    = NotifyTokentextEdit.Text,
                Longitude      = Convert.ToSingle(LongitudetextEdit.Text),
                Latitude       = Convert.ToSingle(LatitudetextEdit.Text)
            };

            Ewatch_MySqlMethod.Update_CaseSetting(caseSetting);
            Search_Setting();
        }
        private void ChangesimpleButton_Click(object sender, EventArgs e)
        {
            AiConfig aiConfig = new AiConfig()
            {
                CaseNo          = CaseNotextEdit.Text,
                AiNo            = Convert.ToInt32(AiNotextEdit.Text),
                AiName          = AiNametextEdit.Text,
                Ai              = AitextEdit.Text,
                AiCalculateFlag = AicalculateFlagtoggleSwitch.IsOn,
                Aiunit          = AiunittextEdit.Text,
                CompareFlag     = CompareFlagFlagtoggleSwitch.IsOn,
                AiMax           = Convert.ToDecimal(AiMaxtextEdit.Text),
                AiMin           = Convert.ToDecimal(AiMintextEdit.Text),
                EnumFlag        = EnumFlagtoggleSwitch.IsOn,
                Enum_Array      = Enum_ArraytextEdit.Text
            };

            Ewatch_MySqlMethod.Update_AiConfig(aiConfig);
            Search_Setting();
        }
        private void SavesimpleButton_Click(object sender, EventArgs e)
        {
            CaseSetting caseSetting = new CaseSetting()
            {
                CaseNo         = CaseNotextEdit.Text,
                Address        = AddresstextEdit.Text,
                Contacter      = ContactertextEdit.Text,
                Phone          = PhonetextEdit.Text,
                TitleName      = TitleNametextEdit.Text,
                NotifyTypeEnum = NotifyTypeEnumcomboBoxEdit.SelectedIndex,
                NotifyApi      = NotifyApitextEdit.Text,
                NotifyToken    = NotifyTokentextEdit.Text,
                Longitude      = Convert.ToSingle(LongitudetextEdit.Text),
                Latitude       = Convert.ToSingle(LatitudetextEdit.Text)
            };

            Ewatch_MySqlMethod.Insert_CaseSetting(caseSetting);
            caseUserControl.Search_Setting();
            caseUserControl.FlyoutFlag = false;
            caseUserControl.flyout.Close();
        }
        private void SavesimpleButton_Click(object sender, EventArgs e)
        {
            AiConfig aiConfig = new AiConfig()
            {
                CaseNo          = CaseNotextEdit.Text,
                AiNo            = Convert.ToInt32(AiNotextEdit.Text),
                AiName          = AiNametextEdit.Text,
                Ai              = AitextEdit.Text,
                AiCalculateFlag = AicalculateFlagtoggleSwitch.IsOn,
                Aiunit          = AiunittextEdit.Text,
                CompareFlag     = CompareFlagFlagtoggleSwitch.IsOn,
                AiMax           = Convert.ToDecimal(AiMaxtextEdit.Text),
                AiMin           = Convert.ToDecimal(AiMintextEdit.Text),
                EnumFlag        = EnumFlagtoggleSwitch.IsOn,
                Enum_Array      = Enum_ArraytextEdit.Text,
            };

            Ewatch_MySqlMethod.Insert_AiConfig(aiConfig);
            caseUserControl.Search_Setting();
            caseUserControl.FlyoutFlag = false;
            caseUserControl.flyout.Close();
        }
        public override void Search_Setting()
        {
            var ElectricSetting = Ewatch_MySqlMethod.ElectricLoad();

            gridControl1.DataSource = ElectricSetting;
            if (!Flag)
            {
                gridView1.OptionsBehavior.Editable = false;
                gridView1.OptionsSelection.EnableAppearanceFocusedCell = false;
                for (int i = 0; i < gridView1.Columns.Count; i++)
                {
                    gridView1.Columns[i].BestFit();
                }
                RepositoryItemToggleSwitch toggleSwitch = new RepositoryItemToggleSwitch();
                gridControl1.RepositoryItems.Add(toggleSwitch);
                gridView1.Columns["PK"].Visible             = false;
                gridView1.Columns["NotifyFlag"].ColumnEdit  = toggleSwitch;
                gridView1.Columns["CaseNo"].Caption         = "案場編號";
                gridView1.Columns["ElectricNo"].Caption     = "電表編號";
                gridView1.Columns["ElectricName"].Caption   = "電表名稱";
                gridView1.Columns["PhaseTypeEnum"].Caption  = "相位類型";
                gridView1.Columns["NotifyFlag"].Caption     = "推播功能";
                gridView1.Columns["TimeoutSpan"].Caption    = "延遲推播(h)";
                gridView1.Columns["MTimeoutSpan"].Caption   = "延遲推播(m)";
                gridView1.Columns["SendTime"].Visible       = false;
                gridView1.Columns["ConnectionFlag"].Visible = false;
                #region 報表行聚焦
                gridView1.FocusedRowChanged += (s, ex) =>
                {
                    ColumnView view = (ColumnView)s;
                    if ((view.FindFilterText == "" || view.ActiveFilterString != "") & !SortGlyphFlag)
                    {
                        if (ex.FocusedRowHandle > -1)
                        {
                            CaseNotextEdit.Text       = view.GetListSourceRowCellValue(ex.FocusedRowHandle, "CaseNo").ToString();
                            ElectricNotextEdit.Text   = view.GetListSourceRowCellValue(ex.FocusedRowHandle, "ElectricNo").ToString();
                            ElectricNametextEdit.Text = view.GetListSourceRowCellValue(ex.FocusedRowHandle, "ElectricName").ToString();
                            PhaseTypeEnumcomboBoxEdit.SelectedIndex = Convert.ToInt32(view.GetListSourceRowCellValue(ex.FocusedRowHandle, "PhaseTypeEnum"));
                            NotifyFlagtoggleSwitch.IsOn             = Convert.ToBoolean(view.GetListSourceRowCellValue(ex.FocusedRowHandle, "NotifyFlag"));
                            TimeoutSpantextEdit.Text  = view.GetListSourceRowCellValue(ex.FocusedRowHandle, "TimeoutSpan").ToString();
                            MTimeoutSpantextEdit.Text = view.GetListSourceRowCellValue(ex.FocusedRowHandle, "MTimeoutSpan").ToString();
                        }
                    }
                    else
                    {
                        if (ex.FocusedRowHandle > -1)
                        {
                            if (FilterElectricSetting.Count > 0 && FilterElectricSetting.Count > ex.FocusedRowHandle)
                            {
                                CaseNotextEdit.Text       = FilterElectricSetting[ex.FocusedRowHandle].CaseNo;
                                ElectricNotextEdit.Text   = FilterElectricSetting[ex.FocusedRowHandle].ElectricNo.ToString();
                                ElectricNametextEdit.Text = FilterElectricSetting[ex.FocusedRowHandle].ElectricName;
                                PhaseTypeEnumcomboBoxEdit.SelectedIndex = FilterElectricSetting[ex.FocusedRowHandle].PhaseTypeEnum;
                                NotifyFlagtoggleSwitch.IsOn             = FilterElectricSetting[ex.FocusedRowHandle].NotifyFlag;
                                TimeoutSpantextEdit.Text  = FilterElectricSetting[ex.FocusedRowHandle].TimeoutSpan.ToString();
                                MTimeoutSpantextEdit.Text = FilterElectricSetting[ex.FocusedRowHandle].MTimeoutSpan.ToString();
                            }
                        }
                    }
                };
                #endregion
                #region 報表行刪除
                gridView1.RowDeleting += (s, ex) =>
                {
                    ColumnView view       = (ColumnView)s;
                    string     CaseNo     = CaseNotextEdit.Text;
                    int        ElectricNo = Convert.ToInt32(ElectricNotextEdit.Text);
                    Ewatch_MySqlMethod.Delete_ElectricSetting(CaseNo, ElectricNo);
                };
                #endregion
                #region 關鍵字搜尋
                gridView1.ColumnFilterChanged += (s, e) =>
                {
                    GridView view = s as GridView;
                    if (view.FindFilterText != "" || view.ActiveFilterString != "")
                    {
                        FilterElectricSetting = new List <ElectricSetting>();
                        for (int i = 0; i < view.RowCount; i++)
                        {
                            if (view.IsGroupRow(i))
                            {
                                continue;
                            }
                            var entity = view.GetRow(i) as ElectricSetting;
                            if (entity == null)
                            {
                                continue;
                            }
                            FilterElectricSetting.Add(entity);
                        }
                    }
                    if (FilterElectricSetting.Count > 0)
                    {
                        CaseNotextEdit.Text       = FilterElectricSetting[0].CaseNo;
                        ElectricNotextEdit.Text   = FilterElectricSetting[0].ElectricNo.ToString();
                        ElectricNametextEdit.Text = FilterElectricSetting[0].ElectricName;
                        PhaseTypeEnumcomboBoxEdit.SelectedIndex = FilterElectricSetting[0].PhaseTypeEnum;
                        NotifyFlagtoggleSwitch.IsOn             = FilterElectricSetting[0].NotifyFlag;
                        TimeoutSpantextEdit.Text  = FilterElectricSetting[0].TimeoutSpan.ToString();
                        MTimeoutSpantextEdit.Text = FilterElectricSetting[0].MTimeoutSpan.ToString();
                    }
                };
                #endregion
                #region 表頭篩選
                gridView1.EndSorting += (s, e) =>
                {
                    GridView view = s as GridView;
                    FilterElectricSetting = new List <ElectricSetting>();
                    for (int i = 0; i < view.RowCount; i++)
                    {
                        if (view.IsGroupRow(i))
                        {
                            continue;
                        }
                        var entity = view.GetRow(i) as ElectricSetting;
                        if (entity == null)
                        {
                            continue;
                        }
                        FilterElectricSetting.Add(entity);
                    }
                    SortGlyphFlag = true;
                    gridView1.FocusedRowHandle = 0;
                };
                #endregion
                gridView1.FocusedRowHandle = 1;
                Flag = true;
            }
            else
            {
                gridControl1.Refresh();
            }
        }
 /// <summary>
 /// 電表主畫面
 /// </summary>
 /// <param name="ewatch_MySqlMethod">資料庫方法</param>
 public ElectricSettingUserControl(Ewatch_MySqlMethod ewatch_MySqlMethod)
 {
     InitializeComponent();
     Ewatch_MySqlMethod = ewatch_MySqlMethod;
     Search_Setting();
 }
        public override void Search_Setting()
        {
            var AiConfig = Ewatch_MySqlMethod.AiConfigLoad();

            gridControl1.DataSource = AiConfig;
            if (!Flag)
            {
                //gridView1.OptionsView.ColumnAutoWidth = false;
                gridView1.OptionsBehavior.Editable = false;
                gridView1.OptionsSelection.EnableAppearanceFocusedCell = false;

                RepositoryItemToggleSwitch toggleSwitch = new RepositoryItemToggleSwitch();
                gridControl1.RepositoryItems.Add(toggleSwitch);
                gridView1.Columns["PK"].Visible                 = false;
                gridView1.Columns["CaseNo"].Caption             = "案場編號";
                gridView1.Columns["AiNo"].Caption               = "Ai編號";
                gridView1.Columns["Ai"].Caption                 = "Ai點位";
                gridView1.Columns["AiName"].Caption             = "Ai名稱";
                gridView1.Columns["AiCalculateFlag"].ColumnEdit = toggleSwitch;
                gridView1.Columns["AiCalculateFlag"].Caption    = "累積功能";
                gridView1.Columns["Aiunit"].Caption             = "Ai單位";
                gridView1.Columns["CompareFlag"].ColumnEdit     = toggleSwitch;
                gridView1.Columns["CompareFlag"].Caption        = "上下限功能";
                gridView1.Columns["AiMax"].Caption              = "上限值";
                gridView1.Columns["AiMin"].Caption              = "下限值";
                gridView1.Columns["GroupNo"].Visible            = false;
                gridView1.Columns["CompareType"].Visible        = false;
                gridView1.Columns["EnumFlag"].ColumnEdit        = toggleSwitch;
                gridView1.Columns["EnumFlag"].Caption           = "類型旗標";
                gridView1.Columns["EnumType"].Visible           = false;
                gridView1.Columns["Enum_Array"].Caption         = "類型內容";
                for (int i = 0; i < gridView1.Columns.Count; i++)
                {
                    gridView1.Columns[i].BestFit();
                }
                #region 報表行聚焦
                gridView1.FocusedRowChanged += (s, ex) =>
                {
                    ColumnView view = (ColumnView)s;
                    if ((view.FindFilterText == "" || view.ActiveFilterString != "") & !SortGlyphFlag)
                    {
                        if (ex.FocusedRowHandle > -1)
                        {
                            CaseNotextEdit.Text = view.GetListSourceRowCellValue(ex.FocusedRowHandle, "CaseNo").ToString();
                            AiNotextEdit.Text   = view.GetListSourceRowCellValue(ex.FocusedRowHandle, "AiNo").ToString();
                            AitextEdit.Text     = view.GetListSourceRowCellValue(ex.FocusedRowHandle, "Ai").ToString();
                            AiNametextEdit.Text = view.GetListSourceRowCellValue(ex.FocusedRowHandle, "AiName").ToString();
                            AicalculateFlagtoggleSwitch.IsOn = Convert.ToBoolean(view.GetListSourceRowCellValue(ex.FocusedRowHandle, "AiCalculateFlag"));
                            CompareFlagFlagtoggleSwitch.IsOn = Convert.ToBoolean(view.GetListSourceRowCellValue(ex.FocusedRowHandle, "CompareFlag"));
                            AiMaxtextEdit.Text        = view.GetListSourceRowCellValue(ex.FocusedRowHandle, "AiMax").ToString();
                            AiMintextEdit.Text        = view.GetListSourceRowCellValue(ex.FocusedRowHandle, "AiMin").ToString();
                            AiunittextEdit.Text       = (view.GetListSourceRowCellValue(ex.FocusedRowHandle, "Aiunit") == null ? "" : view.GetListSourceRowCellValue(ex.FocusedRowHandle, "Aiunit").ToString());
                            EnumFlagtoggleSwitch.IsOn = Convert.ToBoolean(view.GetListSourceRowCellValue(ex.FocusedRowHandle, "EnumFlag"));
                            Enum_ArraytextEdit.Text   = (view.GetListSourceRowCellValue(ex.FocusedRowHandle, "Enum_Array") == null ? "" : view.GetListSourceRowCellValue(ex.FocusedRowHandle, "Enum_Array").ToString());
                        }
                    }
                    else
                    {
                        if (ex.FocusedRowHandle > -1)
                        {
                            if (FilterAiConfig.Count > 0 && FilterAiConfig.Count > ex.FocusedRowHandle)
                            {
                                CaseNotextEdit.Text = FilterAiConfig[ex.FocusedRowHandle].CaseNo;
                                AiNotextEdit.Text   = FilterAiConfig[ex.FocusedRowHandle].AiNo.ToString();
                                AitextEdit.Text     = FilterAiConfig[ex.FocusedRowHandle].Ai;
                                AiNametextEdit.Text = FilterAiConfig[ex.FocusedRowHandle].AiName;
                                AicalculateFlagtoggleSwitch.IsOn = FilterAiConfig[ex.FocusedRowHandle].AiCalculateFlag;
                                CompareFlagFlagtoggleSwitch.IsOn = FilterAiConfig[ex.FocusedRowHandle].CompareFlag;
                                AiMaxtextEdit.Text        = FilterAiConfig[ex.FocusedRowHandle].AiMax.ToString();
                                AiMintextEdit.Text        = FilterAiConfig[ex.FocusedRowHandle].AiMin.ToString();
                                AiunittextEdit.Text       = (FilterAiConfig[ex.FocusedRowHandle].Aiunit == null ? "" : FilterAiConfig[ex.FocusedRowHandle].Aiunit);
                                EnumFlagtoggleSwitch.IsOn = FilterAiConfig[ex.FocusedRowHandle].EnumFlag;
                                Enum_ArraytextEdit.Text   = (FilterAiConfig[ex.FocusedRowHandle].Enum_Array == null ? "" : FilterAiConfig[ex.FocusedRowHandle].Enum_Array);
                            }
                        }
                    }
                };
                #endregion
                #region 報表行刪除
                gridView1.RowDeleting += (s, ex) =>
                {
                    ColumnView view   = (ColumnView)s;
                    string     CaseNo = CaseNotextEdit.Text;
                    int        AiNo   = Convert.ToInt32(AiNotextEdit.Text);
                    string     Ai     = AitextEdit.Text;
                    Ewatch_MySqlMethod.Delete_AiConfig(CaseNo, AiNo, Ai);
                };
                #endregion
                #region 關鍵字搜尋
                gridView1.ColumnFilterChanged += (s, e) =>
                {
                    GridView view = s as GridView;
                    if (view.FindFilterText != "" || view.ActiveFilterString != "")
                    {
                        FilterAiConfig = new List <AiConfig>();
                        for (int i = 0; i < view.RowCount; i++)
                        {
                            if (view.IsGroupRow(i))
                            {
                                continue;
                            }
                            var entity = view.GetRow(i) as AiConfig;
                            if (entity == null)
                            {
                                continue;
                            }
                            FilterAiConfig.Add(entity);
                        }
                    }
                    if (FilterAiConfig.Count > 0)
                    {
                        CaseNotextEdit.Text = FilterAiConfig[0].CaseNo;
                        AiNotextEdit.Text   = FilterAiConfig[0].AiNo.ToString();
                        AitextEdit.Text     = FilterAiConfig[0].Ai;
                        AiNametextEdit.Text = FilterAiConfig[0].AiName;
                        AicalculateFlagtoggleSwitch.IsOn = FilterAiConfig[0].AiCalculateFlag;
                        CompareFlagFlagtoggleSwitch.IsOn = FilterAiConfig[0].CompareFlag;
                        AiMaxtextEdit.Text        = FilterAiConfig[0].AiMax.ToString();
                        AiMintextEdit.Text        = FilterAiConfig[0].AiMin.ToString();
                        AiunittextEdit.Text       = (FilterAiConfig[0].Aiunit == null ? "" : FilterAiConfig[0].Aiunit);
                        EnumFlagtoggleSwitch.IsOn = FilterAiConfig[0].EnumFlag;
                        Enum_ArraytextEdit.Text   = (FilterAiConfig[0].Enum_Array == null ? "" : FilterAiConfig[0].Enum_Array);
                    }
                };
                #endregion
                #region 表頭篩選
                gridView1.EndSorting += (s, e) =>
                {
                    GridView view = s as GridView;
                    FilterAiConfig = new List <AiConfig>();
                    for (int i = 0; i < view.RowCount; i++)
                    {
                        if (view.IsGroupRow(i))
                        {
                            continue;
                        }
                        var entity = view.GetRow(i) as AiConfig;
                        if (entity == null)
                        {
                            continue;
                        }
                        FilterAiConfig.Add(entity);
                    }
                    SortGlyphFlag = true;
                    gridView1.FocusedRowHandle = 0;
                };
                #endregion
                gridView1.FocusedRowHandle = 1;
                Flag = true;
            }
            else
            {
                gridControl1.Refresh();
            }
        }
        private void Connection_Mysql()
        {
            while (myWorkState)
            {
                TimeSpan timeSpan = DateTime.Now.Subtract(ConnectionTime);
                if (timeSpan.TotalMilliseconds > 5000) //每一秒查詢動作
                {
                    var NewCaseSettings     = Ewatch_MySqlMethod.CaseLoad();
                    var NewAiSettings       = Ewatch_MySqlMethod.AiLoad();
                    var NewElectricSettings = Ewatch_MySqlMethod.ElectricLoad();
                    var casevalue           = Ewatch_MySqlMethod.CaseLoad();
                    foreach (var caseitem in casevalue)
                    {
                        #region AI接收
                        var aivalue = Ewatch_MySqlMethod.AiLoad(caseitem);
                        foreach (var aiitem in aivalue)
                        {
                            if (aiitem.NotifyFlag)                                      //AI點位需要發報
                            {
                                if (Ewatch_MySqlMethod.AI64Load(aiitem))                //檢查即時數值是否超過時間
                                {
                                    var TimeValue = Ewatch_MySqlMethod.Ai_Time(aiitem); //檢查發報數值是否達到
                                    if (TimeValue == null || TimeValue >= aiitem.TimeoutSpan)
                                    {
                                        if (NewAiSettings.SingleOrDefault(g => g.PK == aiitem.PK) != null)
                                        {
                                            NewAiSettings.Single(g => g.PK == aiitem.PK).ConnectionFlag = "斷線";
                                            NotifyTypeEnum notifyTypeEnum = (NotifyTypeEnum)caseitem.NotifyTypeEnum;
                                            switch (notifyTypeEnum)
                                            {
                                            case NotifyTypeEnum.None:
                                                break;

                                            case NotifyTypeEnum.Line:
                                            {
                                                LineNotifyClass lineNotifyClass = new LineNotifyClass();
                                                lineNotifyClass.LineNotifyFunction(caseitem.NotifyToken, $"設備名稱:{aiitem.AiName} \r最後上傳時間 : {Ewatch_MySqlMethod.AI_LastTime(aiitem)}\r上傳逾時請檢查");
                                            }
                                            break;

                                            case NotifyTypeEnum.Telegram:
                                            {
                                                TelegramBotClass telegramBotClass = new TelegramBotClass(caseitem.NotifyApi)
                                                {
                                                    Chat_ID = caseitem.NotifyToken
                                                };
                                                telegramBotClass.Send_Message_Group($"設備名稱:{aiitem.AiName} \r最後上傳時間 : {Ewatch_MySqlMethod.AI_LastTime(aiitem)}\r上傳逾時請檢查");
                                            }
                                            break;
                                            }
                                            Ewatch_MySqlMethod.UpdataAi_Time(aiitem, true);
                                        }
                                    }
                                    else
                                    {
                                        NewAiSettings.Single(g => g.PK == aiitem.PK).ConnectionFlag = "斷線";
                                    }
                                }
                                else
                                {
                                    if (NewAiSettings.SingleOrDefault(g => g.PK == aiitem.PK) != null)
                                    {
                                        NewAiSettings.Single(g => g.PK == aiitem.PK).ConnectionFlag = "連線";
                                        Ewatch_MySqlMethod.UpdataAi_Time(aiitem, false);
                                    }
                                }
                            }
                            else
                            {
                                //AiSettings.Single(g => g.PK == aiitem.PK).ConnectionFlag = "不使用";
                                if (Ewatch_MySqlMethod.AI64Load(aiitem))//檢查即時數值是否超過時間
                                {
                                    if (NewAiSettings.SingleOrDefault(g => g.PK == aiitem.PK) != null)
                                    {
                                        NewAiSettings.Single(g => g.PK == aiitem.PK).ConnectionFlag = "斷線";
                                        //Ewatch_MySqlMethod.UpdataAi_Time(aiitem, true);
                                    }
                                }
                                else
                                {
                                    if (NewAiSettings.SingleOrDefault(g => g.PK == aiitem.PK) != null)
                                    {
                                        NewAiSettings.Single(g => g.PK == aiitem.PK).ConnectionFlag = "連線";
                                        Ewatch_MySqlMethod.UpdataAi_Time(aiitem, false);
                                    }
                                }
                            }
                        }
                        #endregion

                        #region 電表接收
                        var electricvalue = Ewatch_MySqlMethod.ElectricLoad(caseitem);
                        foreach (var electricitem in electricvalue)
                        {
                            if (electricitem.NotifyFlag)//電表點位需要發報
                            {
                                if (Ewatch_MySqlMethod.ElectricMeterLoad(electricitem))
                                {
                                    var TimeValue = Ewatch_MySqlMethod.ElectricMeter_Time(electricitem);
                                    if (TimeValue == null || TimeValue >= electricitem.TimeoutSpan)
                                    {
                                        if (NewElectricSettings.SingleOrDefault(g => g.PK == electricitem.PK) != null)
                                        {
                                            NewElectricSettings.Single(g => g.PK == electricitem.PK).ConnectionFlag = "斷線";
                                            NotifyTypeEnum notifyTypeEnum = (NotifyTypeEnum)caseitem.NotifyTypeEnum;
                                            switch (notifyTypeEnum)
                                            {
                                            case NotifyTypeEnum.None:
                                                break;

                                            case NotifyTypeEnum.Line:
                                            {
                                                LineNotifyClass lineNotifyClass = new LineNotifyClass();
                                                lineNotifyClass.LineNotifyFunction(caseitem.NotifyToken, $"設備名稱:{electricitem.ElectricName} \r最後上傳時間 : {Ewatch_MySqlMethod.ElectricMeter_LastTime(electricitem)}\r上傳逾時請檢查");
                                            }
                                            break;

                                            case NotifyTypeEnum.Telegram:
                                            {
                                                TelegramBotClass telegramBotClass = new TelegramBotClass(caseitem.NotifyApi)
                                                {
                                                    Chat_ID = caseitem.NotifyToken
                                                };
                                                telegramBotClass.Send_Message_Group($"設備名稱:{electricitem.ElectricName} \r最後上傳時間 : {Ewatch_MySqlMethod.ElectricMeter_LastTime(electricitem)}\r上傳逾時請檢查");
                                            }
                                            break;
                                            }
                                            Ewatch_MySqlMethod.UpdataElectricMeter_Time(electricitem, true);
                                        }
                                    }
                                    else
                                    {
                                        NewElectricSettings.Single(g => g.PK == electricitem.PK).ConnectionFlag = "斷線";
                                    }
                                }
                                else
                                {
                                    if (NewElectricSettings.SingleOrDefault(g => g.PK == electricitem.PK) != null)
                                    {
                                        NewElectricSettings.Single(g => g.PK == electricitem.PK).ConnectionFlag = "連線";
                                        Ewatch_MySqlMethod.UpdataElectricMeter_Time(electricitem, false);
                                    }
                                }
                            }
                            else
                            {
                                //ElectricSettings.Single(g => g.PK == electricitem.PK).ConnectionFlag = "不使用";
                                var TimeValue = Ewatch_MySqlMethod.ElectricMeter_Time(electricitem);
                                if (TimeValue == null || TimeValue >= electricitem.TimeoutSpan)
                                {
                                    if (NewElectricSettings.SingleOrDefault(g => g.PK == electricitem.PK) != null)
                                    {
                                        NewElectricSettings.Single(g => g.PK == electricitem.PK).ConnectionFlag = "斷線";
                                    }
                                }
                                else
                                {
                                    if (NewElectricSettings.SingleOrDefault(g => g.PK == electricitem.PK) != null)
                                    {
                                        NewElectricSettings.Single(g => g.PK == electricitem.PK).ConnectionFlag = "連線";
                                        Ewatch_MySqlMethod.UpdataElectricMeter_Time(electricitem, false);
                                    }
                                }
                            }
                        }
                        #endregion
                    }
                    CaseSettings     = NewCaseSettings;
                    AiSettings       = NewAiSettings;
                    ElectricSettings = NewElectricSettings;
                    ConnectionTime   = DateTime.Now;
                }
                else
                {
                    Thread.Sleep(80);
                }
            }
        }
Example #16
0
        /// <summary>
        /// 查詢案場
        /// </summary>
        public override void Search_Setting()
        {
            var CaseSetting = Ewatch_MySqlMethod.CaseLoad();

            gridControl1.DataSource = CaseSetting;
            if (!Flag)
            {
                gridView1.CustomColumnDisplayText += (s, ex) =>
                {
                    if (ex.Column.FieldName == "NotifyTypeEnum")
                    {
                        int val = (int)ex.Value;
                        switch (val)
                        {
                        case 0:
                        {
                            ex.DisplayText = "None";
                        }
                        break;

                        case 1:
                        {
                            ex.DisplayText = "LineNotify";
                        }
                        break;

                        case 2:
                        {
                            ex.DisplayText = "TelegramBot";
                        }
                        break;
                        }
                    }
                };
                gridView1.OptionsBehavior.Editable = false;
                gridView1.OptionsSelection.EnableAppearanceFocusedCell = false;
                for (int i = 0; i < gridView1.Columns.Count; i++)
                {
                    gridView1.Columns[i].BestFit();
                }
                gridView1.Columns["PK"].Visible             = false;
                gridView1.Columns["CaseNo"].Caption         = "案場編號";
                gridView1.Columns["Address"].Caption        = "地址";
                gridView1.Columns["Contacter"].Caption      = "聯絡人";
                gridView1.Columns["Phone"].Caption          = "聯絡電話";
                gridView1.Columns["TitleName"].Caption      = "案場名稱";
                gridView1.Columns["NotifyTypeEnum"].Caption = "推播類型";
                gridView1.Columns["NotifyApi"].Caption      = "推播網址";
                gridView1.Columns["NotifyToken"].Caption    = "推播權杖";
                gridView1.Columns["Longitude"].Caption      = "經度";
                gridView1.Columns["Latitude"].Caption       = "緯度";
                #region 報表行聚焦
                gridView1.FocusedRowChanged += (s, ex) =>
                {
                    ColumnView view = (ColumnView)s;
                    if ((view.FindFilterText == "" || view.ActiveFilterString != "") & !SortGlyphFlag)
                    {
                        if (ex.FocusedRowHandle > -1)
                        {
                            CaseNotextEdit.Text    = view.GetListSourceRowCellValue(ex.FocusedRowHandle, "CaseNo").ToString();
                            AddresstextEdit.Text   = view.GetListSourceRowCellValue(ex.FocusedRowHandle, "Address").ToString();
                            ContactertextEdit.Text = view.GetListSourceRowCellValue(ex.FocusedRowHandle, "Contacter").ToString();
                            PhonetextEdit.Text     = view.GetListSourceRowCellValue(ex.FocusedRowHandle, "Phone").ToString();
                            TitleNametextEdit.Text = view.GetListSourceRowCellValue(ex.FocusedRowHandle, "TitleName").ToString();
                            NotifyTypeEnumcomboBoxEdit.SelectedIndex = Convert.ToInt32(view.GetListSourceRowCellValue(ex.FocusedRowHandle, "NotifyTypeEnum"));
                            NotifyApitextEdit.Text   = view.GetListSourceRowCellValue(ex.FocusedRowHandle, "NotifyApi").ToString();
                            NotifyTokentextEdit.Text = view.GetListSourceRowCellValue(ex.FocusedRowHandle, "NotifyToken").ToString();
                            LongitudetextEdit.Text   = view.GetListSourceRowCellValue(ex.FocusedRowHandle, "Longitude").ToString();
                            LatitudetextEdit.Text    = view.GetListSourceRowCellValue(ex.FocusedRowHandle, "Latitude").ToString();
                        }
                    }
                    else
                    {
                        if (ex.FocusedRowHandle > -1)
                        {
                            if (FilterCaseSetting.Count > 0 && FilterCaseSetting.Count > ex.FocusedRowHandle)
                            {
                                CaseNotextEdit.Text    = FilterCaseSetting[ex.FocusedRowHandle].CaseNo;
                                AddresstextEdit.Text   = FilterCaseSetting[ex.FocusedRowHandle].Address;
                                ContactertextEdit.Text = FilterCaseSetting[ex.FocusedRowHandle].Contacter;
                                PhonetextEdit.Text     = FilterCaseSetting[ex.FocusedRowHandle].Phone;
                                TitleNametextEdit.Text = FilterCaseSetting[ex.FocusedRowHandle].TitleName;
                                NotifyTypeEnumcomboBoxEdit.SelectedIndex = FilterCaseSetting[ex.FocusedRowHandle].NotifyTypeEnum;
                                NotifyApitextEdit.Text   = FilterCaseSetting[ex.FocusedRowHandle].NotifyApi;
                                NotifyTokentextEdit.Text = FilterCaseSetting[ex.FocusedRowHandle].NotifyToken;
                                LongitudetextEdit.Text   = FilterCaseSetting[ex.FocusedRowHandle].Longitude.ToString();
                                LatitudetextEdit.Text    = FilterCaseSetting[ex.FocusedRowHandle].Latitude.ToString();
                            }
                        }
                    }
                };
                #endregion
                #region 報表行刪除
                gridView1.RowDeleting += (s, ex) =>
                {
                    ColumnView view   = (ColumnView)s;
                    string     CaseNo = CaseNotextEdit.Text;
                    Ewatch_MySqlMethod.Delete_CaseSetting(CaseNo);
                };
                #endregion
                #region 關鍵字搜尋
                gridView1.ColumnFilterChanged += (s, e) =>
                {
                    GridView view = s as GridView;
                    if (view.FindFilterText != "" || view.ActiveFilterString != "")
                    {
                        FilterCaseSetting = new List <CaseSetting>();
                        for (int i = 0; i < view.RowCount; i++)
                        {
                            if (view.IsGroupRow(i))
                            {
                                continue;
                            }
                            var entity = view.GetRow(i) as CaseSetting;
                            if (entity == null)
                            {
                                continue;
                            }
                            FilterCaseSetting.Add(entity);
                        }
                    }
                    if (FilterCaseSetting.Count > 0)
                    {
                        CaseNotextEdit.Text    = FilterCaseSetting[0].CaseNo;
                        AddresstextEdit.Text   = FilterCaseSetting[0].Address;
                        ContactertextEdit.Text = FilterCaseSetting[0].Contacter;
                        PhonetextEdit.Text     = FilterCaseSetting[0].Phone;
                        TitleNametextEdit.Text = FilterCaseSetting[0].TitleName;
                        NotifyTypeEnumcomboBoxEdit.SelectedIndex = FilterCaseSetting[0].NotifyTypeEnum;
                        NotifyApitextEdit.Text   = FilterCaseSetting[0].NotifyApi;
                        NotifyTokentextEdit.Text = FilterCaseSetting[0].NotifyToken;
                        LongitudetextEdit.Text   = FilterCaseSetting[0].Longitude.ToString();
                        LatitudetextEdit.Text    = FilterCaseSetting[0].Latitude.ToString();
                    }
                };
                #endregion
                #region 表頭篩選
                gridView1.EndSorting += (s, e) =>
                {
                    GridView view = s as GridView;
                    FilterCaseSetting = new List <CaseSetting>();
                    for (int i = 0; i < view.RowCount; i++)
                    {
                        if (view.IsGroupRow(i))
                        {
                            continue;
                        }
                        var entity = view.GetRow(i) as CaseSetting;
                        if (entity == null)
                        {
                            continue;
                        }
                        FilterCaseSetting.Add(entity);
                    }
                    SortGlyphFlag = true;
                    gridView1.FocusedRowHandle = 0;
                };
                #endregion
                gridView1.FocusedRowHandle = 1;
                Flag = true;
            }
            else
            {
                gridControl1.Refresh();
            }
        }
Example #17
0
 public Ewatch_AlarmComponent(Ewatch_MySqlMethod ewatch_MySqlMethod)
 {
     InitializeComponent();
     Ewatch_MySqlMethod = ewatch_MySqlMethod;
 }
        public override void Search_Setting()
        {
            var StateSetting = Ewatch_MySqlMethod.StateLoad();

            gridControl1.DataSource = StateSetting;
            if (!Flag)
            {
                gridView1.OptionsBehavior.Editable = false;                     //不允取編輯
                gridView1.OptionsSelection.EnableAppearanceFocusedCell = false; //不允許欄位聚焦
                gridView1.OptionsFind.FindMode = FindMode.FindClick;            //搜尋需要點擊 Find或Enter
                for (int i = 0; i < gridView1.Columns.Count; i++)
                {
                    gridView1.Columns[i].BestFit();
                }
                RepositoryItemToggleSwitch toggleSwitch = new RepositoryItemToggleSwitch();
                gridControl1.RepositoryItems.Add(toggleSwitch);
                gridView1.Columns["PK"].Visible            = false;
                gridView1.Columns["NotifyFlag"].ColumnEdit = toggleSwitch;
                gridView1.Columns["CaseNo"].Caption        = "案場編號";
                gridView1.Columns["StateNo"].Caption       = "狀態編號";
                gridView1.Columns["StateName"].Caption     = "狀態名稱";
                gridView1.Columns["NotifyFlag"].Caption    = "推播功能";
                gridView1.Columns["StateFlag"].Caption     = "狀態類型";
                gridView1.Columns["StateHigh"].Caption     = "狀態高位元";
                gridView1.Columns["StateLow"].Caption      = "狀態低位元";
                gridView1.Columns["LastStateFlag"].Visible = false;
                #region DI/O狀態顯示
                gridView1.CustomColumnDisplayText += (s, e) =>
                {
                    if (e.Column.FieldName == "StateFlag")
                    {
                        string valueCell = e.DisplayText.ToString();
                        if (valueCell == "0")
                        {
                            e.DisplayText = "DI狀態";
                        }
                        else if (valueCell == "1")
                        {
                            e.DisplayText = "DO狀態";
                        }
                    }
                };
                #endregion
                #region 報表行聚焦
                gridView1.FocusedRowChanged += (s, ex) =>
                {
                    ColumnView view = (ColumnView)s;
                    if ((view.FindFilterText == "" || view.ActiveFilterString != "") & !SortGlyphFlag)
                    {
                        if (ex.FocusedRowHandle > -1)
                        {
                            CaseNotextEdit.Text                 = view.GetListSourceRowCellValue(ex.FocusedRowHandle, "CaseNo").ToString();
                            StateNotextEdit.Text                = view.GetListSourceRowCellValue(ex.FocusedRowHandle, "StateNo").ToString();
                            StateNametextEdit.Text              = view.GetListSourceRowCellValue(ex.FocusedRowHandle, "StateName").ToString();
                            NotifyFlagtoggleSwitch.IsOn         = Convert.ToBoolean(view.GetListSourceRowCellValue(ex.FocusedRowHandle, "NotifyFlag"));
                            StateFlagcomboBoxEdit.SelectedIndex = Convert.ToInt32(view.GetListSourceRowCellValue(ex.FocusedRowHandle, "StateFlag"));
                            StateHightextEdit.Text              = view.GetListSourceRowCellValue(ex.FocusedRowHandle, "StateHigh").ToString();
                            StateLowtextEdit.Text               = view.GetListSourceRowCellValue(ex.FocusedRowHandle, "StateLow").ToString();
                        }
                    }
                    else
                    {
                        if (ex.FocusedRowHandle > -1)
                        {
                            if (FilterStateSetting.Count > 0 && FilterStateSetting.Count > ex.FocusedRowHandle)
                            {
                                CaseNotextEdit.Text                 = FilterStateSetting[ex.FocusedRowHandle].CaseNo;
                                StateNotextEdit.Text                = FilterStateSetting[ex.FocusedRowHandle].StateNo.ToString();
                                StateNametextEdit.Text              = FilterStateSetting[ex.FocusedRowHandle].StateName;
                                NotifyFlagtoggleSwitch.IsOn         = FilterStateSetting[ex.FocusedRowHandle].NotifyFlag;
                                StateFlagcomboBoxEdit.SelectedIndex = FilterStateSetting[ex.FocusedRowHandle].StateFlag;
                                StateHightextEdit.Text              = FilterStateSetting[ex.FocusedRowHandle].StateHigh;
                                StateLowtextEdit.Text               = FilterStateSetting[ex.FocusedRowHandle].StateLow;
                            }
                        }
                    }
                };
                #endregion
                #region 報表行刪除
                gridView1.RowDeleting += (s, ex) =>
                {
                    ColumnView view    = (ColumnView)s;
                    string     CaseNo  = CaseNotextEdit.Text;
                    int        StateNo = Convert.ToInt32(StateNotextEdit.Text);
                    Ewatch_MySqlMethod.Delete_StateSetting(CaseNo, StateNo);
                };
                #endregion
                #region 關鍵字搜尋
                gridView1.ColumnFilterChanged += (s, e) =>
                {
                    GridView view = s as GridView;
                    if (view.FindFilterText != "" || view.ActiveFilterString != "")
                    {
                        FilterStateSetting = new List <StateSetting>();
                        for (int i = 0; i < view.RowCount; i++)
                        {
                            if (view.IsGroupRow(i))
                            {
                                continue;
                            }
                            var entity = view.GetRow(i) as StateSetting;
                            if (entity == null)
                            {
                                continue;
                            }
                            FilterStateSetting.Add(entity);
                        }
                    }
                    if (FilterStateSetting.Count > 0)
                    {
                        CaseNotextEdit.Text                 = FilterStateSetting[0].CaseNo;
                        StateNotextEdit.Text                = FilterStateSetting[0].StateNo.ToString();
                        StateNametextEdit.Text              = FilterStateSetting[0].StateName;
                        NotifyFlagtoggleSwitch.IsOn         = FilterStateSetting[0].NotifyFlag;
                        StateFlagcomboBoxEdit.SelectedIndex = FilterStateSetting[0].StateFlag;
                        StateHightextEdit.Text              = FilterStateSetting[0].StateHigh;
                        StateLowtextEdit.Text               = FilterStateSetting[0].StateLow;
                    }
                };
                #endregion
                #region 表頭篩選
                gridView1.EndSorting += (s, e) =>
                {
                    GridView view = s as GridView;
                    FilterStateSetting = new List <StateSetting>();
                    for (int i = 0; i < view.RowCount; i++)
                    {
                        if (view.IsGroupRow(i))
                        {
                            continue;
                        }
                        var entity = view.GetRow(i) as StateSetting;
                        if (entity == null)
                        {
                            continue;
                        }
                        FilterStateSetting.Add(entity);
                    }
                    SortGlyphFlag = true;
                    gridView1.FocusedRowHandle = 0;
                };
                #endregion
                gridView1.FocusedRowHandle = 1;
                Flag = true;
            }
            else
            {
                gridControl1.Refresh();
            }
        }
Example #19
0
        private void Connection_Mysql()
        {
            while (myWorkState)
            {
                TimeSpan timeSpan = DateTime.Now.Subtract(ConnectionTime);
                if (timeSpan.TotalMilliseconds > 5000)
                {
                    CaseSettings = Ewatch_MySqlMethod.CaseLoad();
                    #region AI上下限
                    var Alarmdata = Ewatch_MySqlMethod.AiConfig_Compare_Load();
                    foreach (var item in Alarmdata)
                    {
                        var caseSetting = CaseSettings.Where(g => g.CaseNo == item.CaseNo).ToList()[0];
                        var value       = Ewatch_MySqlMethod.Ai64web(item);
                        if (value != null)
                        {
                            var nowdata = Ewatch_MySqlMethod.Alarm_Procedure(item, value);

                            var Adata = AiConfigs.Where(g => g.PK == item.PK).ToList();
                            if (Adata.Count > 0)
                            {
                                if (item.CompareType != Adata[0].CompareType)
                                {
                                    NotifyTypeEnum notifyTypeEnum = (NotifyTypeEnum)caseSetting.NotifyTypeEnum;
                                    switch (notifyTypeEnum)
                                    {
                                    case NotifyTypeEnum.None:
                                        break;

                                    case NotifyTypeEnum.Line:
                                    {
                                        switch (item.CompareType)
                                        {
                                        case 0:             //上限
                                        {
                                            LineNotifyClass lineNotifyClass = new LineNotifyClass();
                                            lineNotifyClass.LineNotifyFunction(caseSetting.NotifyToken, $"\r案場名稱: {caseSetting.TitleName}\r點位名稱: {item.AiName}\r超過上限值: {item.AiMax}\r目前數值為 {nowdata}");
                                        }
                                        break;

                                        case 1:             //正常
                                        {
                                            LineNotifyClass lineNotifyClass = new LineNotifyClass();
                                            lineNotifyClass.LineNotifyFunction(caseSetting.NotifyToken, $"\r案場名稱: {caseSetting.TitleName}\r點位名稱: {item.AiName}\r上限值: {item.AiMax}\r下限值: {item.AiMin}\r恢復正常,目前數值為 {nowdata}");
                                        }
                                        break;

                                        case 2:             //下限
                                        {
                                            LineNotifyClass lineNotifyClass = new LineNotifyClass();
                                            lineNotifyClass.LineNotifyFunction(caseSetting.NotifyToken, $"\r案場名稱: {caseSetting.TitleName}\r點位名稱: {item.AiName}\r低於下限值: {item.AiMin}\r目前數值為 {nowdata}");
                                        }
                                        break;
                                        }
                                    }
                                    break;

                                    case NotifyTypeEnum.Telegram:
                                    {
                                        switch (item.CompareType)
                                        {
                                        case 0:             //上限
                                        {
                                            TelegramBotClass telegramBotClass = new TelegramBotClass(caseSetting.NotifyApi)
                                            {
                                                Chat_ID = caseSetting.NotifyToken
                                            };
                                            telegramBotClass.Send_Message_Group($"\r案場名稱: {caseSetting.TitleName}\r點位名稱: {item.AiName}\r超過上限值: {item.AiMax}\r目前數值為 {nowdata}");
                                        }
                                        break;

                                        case 1:             //正常
                                        {
                                            TelegramBotClass telegramBotClass = new TelegramBotClass(caseSetting.NotifyApi)
                                            {
                                                Chat_ID = caseSetting.NotifyToken
                                            };
                                            telegramBotClass.Send_Message_Group($"\r案場名稱: {caseSetting.TitleName}\r點位名稱: {item.AiName}\r上限值: {item.AiMax}\r下限值: {item.AiMin}\r恢復正常,目前數值為 {nowdata}");
                                        }
                                        break;

                                        case 2:             //下限
                                        {
                                            TelegramBotClass telegramBotClass = new TelegramBotClass(caseSetting.NotifyApi)
                                            {
                                                Chat_ID = caseSetting.NotifyToken
                                            };
                                            telegramBotClass.Send_Message_Group($"\r案場名稱: {caseSetting.TitleName}\r點位名稱: {item.AiName}\r低於下限值: {item.AiMin}\r目前數值為 {nowdata}");
                                        }
                                        break;
                                        }
                                    }
                                    break;
                                    }
                                }
                            }
                        }
                    }
                    #endregion
                    AiConfigs      = Alarmdata;
                    ConnectionTime = DateTime.Now;
                }
                else
                {
                    Thread.Sleep(80);
                }
            }
        }
        public Form1()
        {
            Log.Logger = new LoggerConfiguration()
                         .WriteTo.Console()
                         .WriteTo.File($"{AppDomain.CurrentDomain.BaseDirectory}\\log\\log-.txt",
                                       rollingInterval: RollingInterval.Day,
                                       outputTemplate: "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] {Message:lj}{NewLine}{Exception}")
                         .CreateLogger(); //宣告Serilog初始化

            MySqlSetting  = InitialMethod.MySqlLoad();
            ButtonSetting = InitialMethod.InitialButtonLoad();
            InitializeComponent();
            NavigationFrame = new NavigationFrame()
            {
                Dock = DockStyle.Fill
            };
            NavigationFrame.Parent = DisPlaypanelControl;

            ButtonMethod = new ButtonMethod()
            {
                Form1 = this, navigationFrame = NavigationFrame
            };
            ButtonMethod.AccordionLoad(accordionControl1, ButtonSetting);

            #region Ewatch平台
            Ewatch_MySqlMethod                = new Ewatch_MySqlMethod(MySqlSetting);
            Ewatch_MySqlComponent             = new Ewatch_MySqlComponent(Ewatch_MySqlMethod);
            Ewatch_MySqlComponent.MyWorkState = true;
            Ewatch_Field4Component.Add(Ewatch_MySqlComponent);
            Ewatch_AlarmComponent             = new Ewatch_AlarmComponent(Ewatch_MySqlMethod);
            Ewatch_AlarmComponent.MyWorkState = true;
            Ewatch_Field4Component.Add(Ewatch_AlarmComponent);

            EwatchConnectionUserControl ewatchConnectionUserControl = new EwatchConnectionUserControl(Ewatch_MySqlComponent)
            {
                Dock = DockStyle.Fill
            };
            NavigationFrame.AddPage(ewatchConnectionUserControl);
            Ewatch_Field4UserControl.Add(ewatchConnectionUserControl);

            CaseUserControl caseUserControl = new CaseUserControl(Ewatch_MySqlMethod)
            {
                Form1 = this, Dock = DockStyle.Fill
            };
            NavigationFrame.AddPage(caseUserControl);
            Ewatch_Field4UserControl.Add(caseUserControl);

            AiSettingUserControl aiSettingUserControl = new AiSettingUserControl(Ewatch_MySqlMethod)
            {
                Form1 = this, Dock = DockStyle.Fill
            };
            NavigationFrame.AddPage(aiSettingUserControl);
            Ewatch_Field4UserControl.Add(aiSettingUserControl);

            AiConfigUserControl aiConfigUserControl = new AiConfigUserControl(Ewatch_MySqlMethod)
            {
                Form1 = this, Dock = DockStyle.Fill
            };
            NavigationFrame.AddPage(aiConfigUserControl);
            Ewatch_Field4UserControl.Add(aiConfigUserControl);

            ElectricSettingUserControl electricSettingUserControl = new ElectricSettingUserControl(Ewatch_MySqlMethod)
            {
                Form1 = this, Dock = DockStyle.Fill
            };
            NavigationFrame.AddPage(electricSettingUserControl);
            Ewatch_Field4UserControl.Add(electricSettingUserControl);

            StateSettingUserControl stateSettingUserControl = new StateSettingUserControl(Ewatch_MySqlMethod)
            {
                Form1 = this, Dock = DockStyle.Fill
            };
            NavigationFrame.AddPage(stateSettingUserControl);
            Ewatch_Field4UserControl.Add(stateSettingUserControl);
            #endregion

            #region ChungHsin平台
            ChungHsin_MySqlMethod                = new ChungHsin_MySqlMethod(MySqlSetting);
            ChungHsin_MySqlComponent             = new ChungHsin_MySqlComponent(ChungHsin_MySqlMethod);
            ChungHsin_MySqlComponent.MyWorkState = true;
            ChungHsin_Field4Component.Add(ChungHsin_MySqlComponent);

            ChumgHsinConnectionUserControl chumgHsinConnectionUserControl = new ChumgHsinConnectionUserControl(ChungHsin_MySqlComponent)
            {
                Dock = DockStyle.Fill
            };
            NavigationFrame.AddPage(chumgHsinConnectionUserControl);
            ChungHsin_Field4UserControl.Add(chumgHsinConnectionUserControl);

            DeviceConfigUserControl deviceConfigUserControl = new DeviceConfigUserControl(ChungHsin_MySqlMethod)
            {
                Dock = DockStyle.Fill
            };
            NavigationFrame.AddPage(deviceConfigUserControl);
            ChungHsin_Field4UserControl.Add(deviceConfigUserControl);

            CH_CaseSettingUserControl cH_CaseSettingUserControl = new CH_CaseSettingUserControl(ChungHsin_MySqlMethod)
            {
                Dock = DockStyle.Fill
            };
            NavigationFrame.AddPage(cH_CaseSettingUserControl);
            ChungHsin_Field4UserControl.Add(cH_CaseSettingUserControl);

            ReceiveSettingUserControl receiveSettingUserControl = new ReceiveSettingUserControl(ChungHsin_MySqlMethod)
            {
                Dock = DockStyle.Fill
            };
            NavigationFrame.AddPage(receiveSettingUserControl);
            ChungHsin_Field4UserControl.Add(receiveSettingUserControl);
            #endregion

            timer1.Interval = 1000;
            timer1.Enabled  = true;
        }