DlgUpdateDevice.xaml.cs 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. using MV485.db;
  2. using MV485.model;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. using System.Windows;
  9. using System.Windows.Controls;
  10. using System.Windows.Data;
  11. using System.Windows.Documents;
  12. using System.Windows.Input;
  13. using System.Windows.Media;
  14. using System.Windows.Media.Imaging;
  15. using System.Windows.Shapes;
  16. namespace MV485.Dlg
  17. {
  18. /// <summary>
  19. /// DlgUpdateDevice.xaml 的交互逻辑
  20. /// </summary>
  21. public partial class DlgUpdateDevice : Window
  22. {
  23. private TSlave _slave;
  24. public DlgUpdateDevice(TSlave slave)
  25. {
  26. InitializeComponent();
  27. _slave = slave;
  28. InitView(slave);
  29. }
  30. private void InitView(TSlave slave)
  31. {
  32. txtPortName.Text = slave.PortName;
  33. txtBaudrate.Text = slave.BaudRate.ToString();
  34. txtDevId.Text = slave.Address.ToString();
  35. txtReadInterval.Text = slave.ReadInterval.ToString();
  36. chkReadImage.IsChecked = slave.ReadImageFlag == 1;
  37. chkRun.IsChecked = slave.RunFlag == 1;
  38. }
  39. private async void BtnOK_Click(object sender, RoutedEventArgs e)
  40. {
  41. if (!int.TryParse(txtReadInterval.Text, out int readInterval) || readInterval < 1 || readInterval > 1440)
  42. {
  43. MessageBox.Show(this, "请输入正确的间隔时间(5-1440)分钟", "提示", MessageBoxButton.OK, MessageBoxImage.Information);
  44. return;
  45. }
  46. string titleInfo = "正在更新数据库,请稍候...";
  47. WaitWindow waitWindow = new WaitWindow(titleInfo)
  48. {
  49. Owner = this,
  50. WindowStartupLocation = WindowStartupLocation.CenterOwner
  51. };
  52. waitWindow.Show();
  53. try
  54. {
  55. _slave.ReadInterval = readInterval;
  56. _slave.ReadImageFlag = chkReadImage.IsChecked == true ? 1 : 0;
  57. _slave.RunFlag = chkRun.IsChecked == true ? 1 : 0;
  58. bool blUpdate = await Task.Run(() =>
  59. {
  60. return DBSlave.UpdateTSlave(_slave);
  61. });
  62. if (blUpdate)
  63. {
  64. }
  65. }
  66. catch (Exception ex)
  67. {
  68. MessageBox.Show($"更新数据失败:{ex.Message}", "错误", MessageBoxButton.OK, MessageBoxImage.Error);
  69. }
  70. finally
  71. {
  72. waitWindow.Close();
  73. }
  74. DialogResult = true;
  75. this.Close();
  76. }
  77. private void BtnClose_Click(object sender, RoutedEventArgs e)
  78. {
  79. DialogResult = false;
  80. this.Close();
  81. }
  82. //-------------------------------------------------
  83. }
  84. }