예제 #1
0
 public DeviceConfigUserControl1(ChungHsin_Field4UserControl UserControl, Form1 form1, ChungHsin_MySqlMethod chungHsin_MySqlMethod)
 {
     InitializeComponent();
     caseUserControl = UserControl;
     Form1 = form1;
     ChungHsin_MySqlMethod = chungHsin_MySqlMethod;
 }
 public CH_CaseSettingUserControl1(ChungHsin_Field4UserControl CaseUserControl, Form1 form1, ChungHsin_MySqlMethod chungHsin_MySqlMethod)
 {
     InitializeComponent();
     caseUserControl       = CaseUserControl;
     Form1                 = form1;
     ChungHsin_MySqlMethod = chungHsin_MySqlMethod;
 }
예제 #3
0
        private void ChangesimpleButton_Click(object sender, EventArgs e)
        {
            DeviceConfig deviceConfig = new DeviceConfig()
            {
                DeviceTypeEnum = Convert.ToInt32(DeviceTypeEnumtextEdit.Text),
                DeviceName     = DeviceNametextEdit.Text
            };

            ChungHsin_MySqlMethod.Update_DeviceConfig(deviceConfig);
            Search_Setting();
        }
예제 #4
0
 private void SavesimpleButton_Click(object sender, EventArgs e)
 {
     DeviceConfig deviceConfig = new DeviceConfig()
     {
         DeviceTypeEnum = Convert.ToInt32(DeviceTypeEnumtextEdit.Text),
         DeviceName = DeviceNametextEdit.Text
     };
     ChungHsin_MySqlMethod.Insert_DeviceConfig(deviceConfig);
     caseUserControl.Search_Setting();
     caseUserControl.FlyoutFlag = false;
     caseUserControl.flyout.Close();
 }
        private void SavesimpleButton_Click(object sender, EventArgs e)
        {
            ReceiveSetting receiveSetting = new ReceiveSetting()
            {
                CaseNo         = CaseNotextEdit.Text,
                DeviceTypeEnum = DeviceTypeEnumcomboBoxEdit.SelectedIndex,
                ReceiveNo      = Convert.ToInt32(ReceiveNotextEdit.Text),
                ReceiveName    = ReceiveNametextEdit.Text,
                NotifyFlag     = NotifyFlagtoggleSwitch.IsOn,
                HTimeoutSpan   = Convert.ToInt32(TimeoutSpantextEdit.Text),
                MTimeoutSpan   = Convert.ToInt32(MTimeoutSpantextEdit.Text)
            };

            ChungHsin_MySqlMethod.Insert_ReceiveSettig(receiveSetting);
            var aiconfig    = ChungHsin_MySqlMethod.AiConfigLoad(receiveSetting.DeviceTypeEnum);
            var stateconfig = ChungHsin_MySqlMethod.StateConfigLoad(receiveSetting.DeviceTypeEnum);
            List <AiSetting>    aiSettings    = new List <AiSetting>();
            List <StateSetting> stateSettings = new List <StateSetting>();

            if (aiconfig != null)
            {
                foreach (var item in aiconfig)
                {
                    AiSetting setting = new AiSetting()
                    {
                        CaseNo    = receiveSetting.CaseNo,
                        ReceiveNo = receiveSetting.ReceiveNo,
                        AINo      = item.AINo,
                    };
                    aiSettings.Add(setting);
                }
                ChungHsin_MySqlMethod.Insert_AiSetting(aiSettings);
            }
            if (stateconfig != null)
            {
                foreach (var item in stateconfig)
                {
                    StateSetting setting = new StateSetting()
                    {
                        CaseNo    = receiveSetting.CaseNo,
                        ReceiveNo = receiveSetting.ReceiveNo,
                        StateNo   = item.StateNo
                    };
                    stateSettings.Add(setting);
                }
                ChungHsin_MySqlMethod.Insert_StateSetting(stateSettings);
            }
            caseUserControl.Search_Setting();
            caseUserControl.FlyoutFlag = false;
            caseUserControl.flyout.Close();
        }
        public ReceiveSettingUserControl1(ChungHsin_Field4UserControl CaseUserControl, Form1 form1, ChungHsin_MySqlMethod chungHsin_MySqlMethod)
        {
            InitializeComponent();
            caseUserControl       = CaseUserControl;
            Form1                 = form1;
            ChungHsin_MySqlMethod = chungHsin_MySqlMethod;
            var DeviceSetting = ChungHsin_MySqlMethod.DevicesLoad();

            foreach (var item in DeviceSetting)
            {
                DeviceTypeEnumcomboBoxEdit.Properties.Items.Add(item.DeviceName);
            }
            DeviceTypeEnumcomboBoxEdit.SelectedIndex = 0;
        }
예제 #7
0
        private void ChangesimpleButton_Click(object sender, EventArgs e)
        {
            ReceiveSetting receiveSetting = new ReceiveSetting()
            {
                CaseNo         = CaseNotextEdit.Text,
                DeviceTypeEnum = Convert.ToInt32(DeviceTypeEnumcomboBoxEdit.SelectedIndex),
                ReceiveNo      = Convert.ToInt32(ReceiveNotextEdit.Text),
                ReceiveName    = ReceiveNametextEdit.Text,
                NotifyFlag     = NotifyFlagtoggleSwitch.IsOn,
                HTimeoutSpan   = Convert.ToInt32(TimeoutSpantextEdit.Text),
                MTimeoutSpan   = Convert.ToInt32(MTimeoutSpantextEdit.Text)
            };

            ChungHsin_MySqlMethod.Updata_ReceiveSetting(receiveSetting);
            Search_Setting();
        }
 protected override void AfterMyWorkStateChanged(object sender, EventArgs e)
 {
     if (myWorkState)
     {
         CaseSettings     = ChungHsin_MySqlMethod.CaseLoad();
         ReceiveSettings  = ChungHsin_MySqlMethod.ReceiveLoad();
         DeviceConfigs    = ChungHsin_MySqlMethod.DevicesLoad();
         ConnectionThread = new Thread(Connection_Mysql);
         ConnectionThread.Start();
     }
     else
     {
         if (ConnectionThread != null)
         {
             ConnectionThread.Abort();
         }
     }
 }
예제 #9
0
        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)
            };

            ChungHsin_MySqlMethod.Update_CaseSetting(caseSetting);
            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)
            };

            ChungHsin_MySqlMethod.Insert_CaseSetting(caseSetting);
            caseUserControl.Search_Setting();
            caseUserControl.FlyoutFlag = false;
            caseUserControl.flyout.Close();
        }
        private void Connection_Mysql()
        {
            while (myWorkState)
            {
                TimeSpan timeSpan = DateTime.Now.Subtract(ConnectionTime);
                if (timeSpan.TotalMilliseconds > 5000)
                {
                    var NewCaseSettings    = ChungHsin_MySqlMethod.CaseLoad();
                    var NewReceiveSettings = ChungHsin_MySqlMethod.ReceiveLoad();
                    var NewDeviceConfigs   = ChungHsin_MySqlMethod.DevicesLoad();
                    foreach (var Caseitem in NewCaseSettings)
                    {
                        #region 接收
                        var ReceiveValue = ChungHsin_MySqlMethod.ReceiveLoad(Caseitem);
                        foreach (var Receiveitem in ReceiveValue)
                        {
                            if (Receiveitem.NotifyFlag)
                            {
                                if (ChungHsin_MySqlMethod.AI64Load(Receiveitem))
                                {
                                    var TimeValue = ChungHsin_MySqlMethod.Receive_Time(Receiveitem);
                                    if (TimeValue == null || TimeValue >= Receiveitem.HTimeoutSpan)
                                    {
                                        if (NewReceiveSettings.SingleOrDefault(g => g.PK == Receiveitem.PK) != null)
                                        {
                                            NewReceiveSettings.Single(g => g.PK == Receiveitem.PK).ConnectionFlag = "斷線";
                                            NotifyTypeEnum notifyTypeEnum = (NotifyTypeEnum)Caseitem.NotifyTypeEnum;
                                            switch (notifyTypeEnum)
                                            {
                                            case NotifyTypeEnum.None:
                                                break;

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

                                            case NotifyTypeEnum.Telegram:
                                            {
                                                TelegramBotClass telegramBotClass = new TelegramBotClass(Caseitem.NotifyApi)
                                                {
                                                    Chat_ID = Caseitem.NotifyToken
                                                };
                                                telegramBotClass.Send_Message_Group($"設備名稱:{Receiveitem.ReceiveName} \r最後上傳時間 : {ChungHsin_MySqlMethod.AI_LastTime(Receiveitem)}\r上傳逾時請檢查");
                                            }
                                            break;
                                            }
                                            ChungHsin_MySqlMethod.UpdataReceive_Time(Receiveitem, true);
                                        }
                                    }
                                    else
                                    {
                                        NewReceiveSettings.Single(g => g.PK == Receiveitem.PK).ConnectionFlag = "斷線";
                                    }
                                }
                                else
                                {
                                    if (NewReceiveSettings.SingleOrDefault(g => g.PK == Receiveitem.PK) != null)
                                    {
                                        NewReceiveSettings.Single(g => g.PK == Receiveitem.PK).ConnectionFlag = "連線";
                                        ChungHsin_MySqlMethod.UpdataReceive_Time(Receiveitem, false);
                                    }
                                }
                            }
                            else
                            {
                                if (ChungHsin_MySqlMethod.AI64Load(Receiveitem))
                                {
                                    if (NewReceiveSettings.SingleOrDefault(g => g.PK == Receiveitem.PK) != null)
                                    {
                                        NewReceiveSettings.Single(g => g.PK == Receiveitem.PK).ConnectionFlag = "斷線";
                                        //ChungHsin_MySqlMethod.UpdataReceive_Time(Receiveitem, true);
                                    }
                                }
                                else
                                {
                                    if (NewReceiveSettings.SingleOrDefault(g => g.PK == Receiveitem.PK) != null)
                                    {
                                        NewReceiveSettings.Single(g => g.PK == Receiveitem.PK).ConnectionFlag = "連線";
                                        ChungHsin_MySqlMethod.UpdataReceive_Time(Receiveitem, false);
                                    }
                                }
                            }
                        }
                        #endregion
                    }
                    CaseSettings    = NewCaseSettings;
                    ReceiveSettings = NewReceiveSettings;
                    DeviceConfigs   = NewDeviceConfigs;
                    ConnectionTime  = DateTime.Now;
                }
                else
                {
                    Thread.Sleep(80);
                }
            }
        }
 public ChungHsin_MySqlComponent(ChungHsin_MySqlMethod chungHsin_MySqlMethod)
 {
     InitializeComponent();
     ChungHsin_MySqlMethod = chungHsin_MySqlMethod;
 }
예제 #13
0
        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;
        }
예제 #14
0
        public override void Search_Setting()
        {
            var DeviceConfig = ChungHsin_MySqlMethod.DevicesLoad();

            gridControl1.DataSource = DeviceConfig;
            if (!Flag)
            {
                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["DeviceTypeEnum"].Caption = "設備類型";
                gridView1.Columns["DeviceName"].Caption     = "設備名稱";
                #region 報表行聚焦
                gridView1.FocusedRowChanged += (s, ex) =>
                {
                    ColumnView view = (ColumnView)s;
                    if ((view.FindFilterText == "" || view.ActiveFilterString != "") & !SortGlyphFlag)
                    {
                        if (ex.FocusedRowHandle > -1)
                        {
                            DeviceTypeEnumtextEdit.Text = view.GetListSourceRowCellValue(ex.FocusedRowHandle, "DeviceTypeEnum").ToString();
                            DeviceNametextEdit.Text     = view.GetListSourceRowCellValue(ex.FocusedRowHandle, "DeviceName").ToString();
                        }
                    }
                    else
                    {
                        if (ex.FocusedRowHandle > -1)
                        {
                            if (FilterDeviceConfig.Count > 0 && FilterDeviceConfig.Count > ex.FocusedRowHandle)
                            {
                                DeviceTypeEnumtextEdit.Text = FilterDeviceConfig[ex.FocusedRowHandle].DeviceName;
                                DeviceNametextEdit.Text     = FilterDeviceConfig[ex.FocusedRowHandle].DeviceTypeEnum.ToString();
                            }
                        }
                    }
                };
                #endregion
                #region 報表行刪除
                gridView1.RowDeleting += (s, ex) =>
                {
                    ColumnView view           = (ColumnView)s;
                    int        DeviceTypeEnum = Convert.ToInt32(DeviceTypeEnumtextEdit.Text);
                    ChungHsin_MySqlMethod.Delete_DeviceConfig(DeviceTypeEnum);
                };
                #endregion
                #region 關鍵字搜尋
                gridView1.ColumnFilterChanged += (s, e) =>
                {
                    GridView view = s as GridView;
                    if (view.FindFilterText != "" || view.ActiveFilterString != "")
                    {
                        FilterDeviceConfig = new List <DeviceConfig>();
                        for (int i = 0; i < view.RowCount; i++)
                        {
                            if (view.IsGroupRow(i))
                            {
                                continue;
                            }
                            var entity = view.GetRow(i) as DeviceConfig;
                            if (entity == null)
                            {
                                continue;
                            }
                            FilterDeviceConfig.Add(entity);
                        }
                    }
                    if (FilterDeviceConfig.Count > 0)
                    {
                        DeviceNametextEdit.Text     = FilterDeviceConfig[0].DeviceName;
                        DeviceTypeEnumtextEdit.Text = FilterDeviceConfig[0].DeviceTypeEnum.ToString();
                    }
                };
                #endregion
                #region 表頭篩選
                gridView1.EndSorting += (s, e) =>
                {
                    GridView view = s as GridView;
                    FilterDeviceConfig = new List <DeviceConfig>();
                    for (int i = 0; i < view.RowCount; i++)
                    {
                        if (view.IsGroupRow(i))
                        {
                            continue;
                        }
                        var entity = view.GetRow(i) as DeviceConfig;
                        if (entity == null)
                        {
                            continue;
                        }
                        FilterDeviceConfig.Add(entity);
                    }
                    SortGlyphFlag = true;
                    gridView1.FocusedRowHandle = 0;
                };
                #endregion
                gridView1.FocusedRowHandle = 1;
                Flag = true;
            }
            else
            {
                gridControl1.Refresh();
            }
        }
예제 #15
0
 public CH_CaseSettingUserControl(ChungHsin_MySqlMethod chungHsin_MySqlMethod)
 {
     InitializeComponent();
     ChungHsin_MySqlMethod = chungHsin_MySqlMethod;
     Search_Setting();
 }
예제 #16
0
        public override void Search_Setting()
        {
            var ReceiveSetting = ChungHsin_MySqlMethod.ReceiveLoad();

            gridControl1.DataSource = ReceiveSetting;
            var DeviceConfig = ChungHsin_MySqlMethod.DevicesLoad();

            foreach (var item in DeviceConfig)
            {
                DeviceTypeEnumcomboBoxEdit.Properties.Items.Add(item.DeviceName);
            }
            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["DeviceTypeEnum"].Caption = "設備類型";
                gridView1.Columns["ReceiveNo"].Caption      = "接收編號";
                gridView1.Columns["ReceiveName"].Caption    = "接收名稱";
                gridView1.Columns["NotifyFlag"].Caption     = "推播功能";
                gridView1.Columns["HTimeoutSpan"].Caption   = "延遲推播(h)";
                gridView1.Columns["MTimeoutSpan"].Caption   = "延遲推播(m)";
                gridView1.Columns["SendTime"].Visible       = false;
                gridView1.Columns["ConnectionFlag"].Visible = false;
                gridView1.CustomColumnDisplayText          += (s, ex) =>
                {
                    if (ex.Column.FieldName == "DeviceTypeEnum")
                    {
                        int val = (int)ex.Value;
                        ex.DisplayText = DeviceConfig.Single(g => g.DeviceTypeEnum == val).DeviceName;
                    }
                };
                #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();
                            DeviceTypeEnumcomboBoxEdit.SelectedIndex = Convert.ToInt32(view.GetListSourceRowCellValue(ex.FocusedRowHandle, "DeviceTypeEnum"));
                            ReceiveNotextEdit.Text      = view.GetListSourceRowCellValue(ex.FocusedRowHandle, "ReceiveNo").ToString();
                            ReceiveNametextEdit.Text    = view.GetListSourceRowCellValue(ex.FocusedRowHandle, "ReceiveName").ToString();
                            NotifyFlagtoggleSwitch.IsOn = Convert.ToBoolean(view.GetListSourceRowCellValue(ex.FocusedRowHandle, "NotifyFlag"));
                            TimeoutSpantextEdit.Text    = view.GetListSourceRowCellValue(ex.FocusedRowHandle, "HTimeoutSpan").ToString();
                            MTimeoutSpantextEdit.Text   = view.GetListSourceRowCellValue(ex.FocusedRowHandle, "MTimeoutSpan").ToString();
                        }
                    }
                    else
                    {
                        if (ex.FocusedRowHandle > -1)
                        {
                            if (FilterReceiveSetting.Count > 0 && FilterReceiveSetting.Count > ex.FocusedRowHandle)
                            {
                                CaseNotextEdit.Text = FilterReceiveSetting[ex.FocusedRowHandle].CaseNo;
                                DeviceTypeEnumcomboBoxEdit.SelectedIndex = Convert.ToInt32(FilterReceiveSetting[ex.FocusedRowHandle].DeviceTypeEnum);
                                ReceiveNotextEdit.Text      = FilterReceiveSetting[ex.FocusedRowHandle].ReceiveNo.ToString();
                                ReceiveNametextEdit.Text    = FilterReceiveSetting[ex.FocusedRowHandle].ReceiveName;
                                NotifyFlagtoggleSwitch.IsOn = FilterReceiveSetting[ex.FocusedRowHandle].NotifyFlag;
                                TimeoutSpantextEdit.Text    = FilterReceiveSetting[ex.FocusedRowHandle].HTimeoutSpan.ToString();
                                MTimeoutSpantextEdit.Text   = FilterReceiveSetting[ex.FocusedRowHandle].MTimeoutSpan.ToString();
                            }
                        }
                    }
                };
                #endregion
                #region 報表行刪除
                gridView1.RowDeleting += (s, ex) =>
                {
                    ColumnView view      = (ColumnView)s;
                    string     CaseNo    = CaseNotextEdit.Text;
                    int        ReceiveNo = Convert.ToInt32(ReceiveNotextEdit.Text);
                    ChungHsin_MySqlMethod.Delete_ReceiveSetting(CaseNo, ReceiveNo);
                    ChungHsin_MySqlMethod.Delete_AiSetting(CaseNo, ReceiveNo);
                    ChungHsin_MySqlMethod.Delete_StateSetting(CaseNo, ReceiveNo);
                };
                #endregion
                #region 關鍵字搜尋
                gridView1.ColumnFilterChanged += (s, e) =>
                {
                    GridView view = s as GridView;
                    if (view.FindFilterText != "")
                    {
                        FilterReceiveSetting = new List <ReceiveSetting>();
                        for (int i = 0; i < view.RowCount; i++)
                        {
                            if (view.IsGroupRow(i))
                            {
                                continue;
                            }
                            var entity = view.GetRow(i) as ReceiveSetting;
                            if (entity == null)
                            {
                                continue;
                            }
                            FilterReceiveSetting.Add(entity);
                        }
                    }
                    if (FilterReceiveSetting.Count > 0)
                    {
                        CaseNotextEdit.Text = FilterReceiveSetting[0].CaseNo;
                        DeviceTypeEnumcomboBoxEdit.SelectedIndex = FilterReceiveSetting[0].DeviceTypeEnum;
                        ReceiveNotextEdit.Text      = FilterReceiveSetting[0].ReceiveNo.ToString();
                        ReceiveNametextEdit.Text    = FilterReceiveSetting[0].ReceiveName;
                        NotifyFlagtoggleSwitch.IsOn = FilterReceiveSetting[0].NotifyFlag;
                        TimeoutSpantextEdit.Text    = FilterReceiveSetting[0].HTimeoutSpan.ToString();
                        MTimeoutSpantextEdit.Text   = FilterReceiveSetting[0].MTimeoutSpan.ToString();
                    }
                };
                #endregion
                #region 表頭篩選
                gridView1.EndSorting += (s, e) =>
                {
                    GridView view = s as GridView;
                    FilterReceiveSetting = new List <ReceiveSetting>();
                    for (int i = 0; i < view.RowCount; i++)
                    {
                        if (view.IsGroupRow(i))
                        {
                            continue;
                        }
                        var entity = view.GetRow(i) as ReceiveSetting;
                        if (entity == null)
                        {
                            continue;
                        }
                        FilterReceiveSetting.Add(entity);
                    }
                    SortGlyphFlag = true;
                    gridView1.FocusedRowHandle = 0;
                };
                #endregion
                gridView1.FocusedRowHandle = 1;
                Flag = true;
            }
            else
            {
                gridControl1.Refresh();
            }
        }
예제 #17
0
        /// <summary>
        /// 查詢案場
        /// </summary>
        public override void Search_Setting()
        {
            var CaseSetting = ChungHsin_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;
                    ChungHsin_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();
            }
        }