SystemSetForm.cs 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. using DevExpress.XtraEditors;
  2. using GCAS.Code;
  3. using GCAS.Dto;
  4. using GCAS.Localization;
  5. using GCAS.Model;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Configuration;
  9. using System.IO.Ports;
  10. using System.Linq;
  11. using System.Threading;
  12. using System.Windows.Forms;
  13. namespace GCAS
  14. {
  15. public partial class SystemSetForm : XtraForm
  16. {
  17. private List<NameValue> L;
  18. private ConfigRepository configRepository;
  19. public OperatorModel currentUser;
  20. private ActionsRepository actionsRepository;
  21. public SystemSetForm()
  22. {
  23. InitializeComponent();
  24. L = LocalizationHelper.GetSource(Thread.CurrentThread.CurrentUICulture);
  25. }
  26. private void SystemSetForm_Load(object sender, EventArgs e)
  27. {
  28. configRepository = new ConfigRepository();
  29. actionsRepository = new ActionsRepository();
  30. InitFeet();
  31. InitSerialPort();
  32. InitLanguage();
  33. if (currentUser.Role == 1)
  34. {
  35. panelControl1.Enabled = false;
  36. }
  37. }
  38. private void InitFeet()
  39. {
  40. var config = configRepository.Get();
  41. text_putMin.Text = config?.PutThresholdMin.ToString();
  42. text_putMax.Text = config?.PutThresholdMax.ToString();
  43. }
  44. private void InitSerialPort()
  45. {
  46. string[] ports = SerialPort.GetPortNames();
  47. cb_Serial.Properties.Items.AddRange(ports);
  48. var slave = ConfigurationManager.AppSettings["slave"];
  49. var portName = ConfigurationManager.AppSettings["portName"];
  50. var baudRate = ConfigurationManager.AppSettings["baudRate"];
  51. var dataBits = ConfigurationManager.AppSettings["dataBits"];
  52. var stopBits = ConfigurationManager.AppSettings["stopBits"];
  53. var parity = ConfigurationManager.AppSettings["parity"];
  54. se_slave.Value = int.Parse(slave);
  55. cb_Serial.EditValue = portName;
  56. cb_baudRate.EditValue = baudRate;
  57. cb_dataBits.EditValue = dataBits;
  58. cb_stopBits.EditValue = stopBits;
  59. cb_parity.EditValue = parity;
  60. }
  61. private void InitLanguage()
  62. {
  63. var language = Thread.CurrentThread.CurrentUICulture;
  64. switch (language.Name)
  65. {
  66. case "zh-Hans":
  67. lu_language.SelectedIndex = 0;
  68. break;
  69. case "en":
  70. lu_language.SelectedIndex = 1;
  71. break;
  72. default:
  73. lu_language.SelectedIndex = 0;
  74. break;
  75. }
  76. }
  77. private async void btn_Tare_Click(object sender, System.EventArgs e)
  78. {
  79. var entity = new ConfigDto();
  80. if (!int.TryParse(text_putMin.Text.Trim(), out int putMin))
  81. XtraMessageBox.Show(L.GetString("ThresholdMinError"), L.GetString("error"), MessageBoxButtons.OK, MessageBoxIcon.Error);
  82. if (!int.TryParse(text_putMax.Text.Trim(), out int putMax))
  83. XtraMessageBox.Show(L.GetString("ThresholdMaxError"), L.GetString("error"), MessageBoxButtons.OK, MessageBoxIcon.Error);
  84. entity.PutThresholdMax = putMax;
  85. entity.PutThresholdMin = putMin;
  86. if (await configRepository.UpdateThresholdAsync(entity) > 0)
  87. {
  88. await actionsRepository.Insert(new ActionsModel { Info = L.GetString("ThresholdSave"), Operator = currentUser.Name, RoleName = currentUser.RoleName, Time = DateTime.Now });
  89. XtraMessageBox.Show(L.GetString("saveFailed"), L.GetString("notification"), MessageBoxButtons.OK, MessageBoxIcon.Information);
  90. }
  91. }
  92. private void btn_language_Click(object sender, EventArgs e)
  93. {
  94. var language = Thread.CurrentThread.CurrentUICulture.Name;
  95. switch (lu_language.SelectedIndex)
  96. {
  97. case 0:
  98. language = "zh-Hans";
  99. break;
  100. case 1:
  101. language = "en";
  102. break;
  103. }
  104. Tools.UpdateAppConfig("language", language);
  105. XtraMessageBox.Show(L.GetString("restartEffective"));
  106. }
  107. private async void btn_SerialPort_Click(object sender, EventArgs e)
  108. {
  109. var slave = se_slave.Text;
  110. var portName = cb_Serial.Text;
  111. var baudRate = cb_baudRate.Text;
  112. var dataBits = cb_dataBits.Text;
  113. var stopBits = cb_stopBits.Text;
  114. var parity = cb_parity.Text;
  115. Tools.UpdateAppConfig("slave", slave);
  116. Tools.UpdateAppConfig("portName", portName);
  117. Tools.UpdateAppConfig("baudRate", baudRate);
  118. Tools.UpdateAppConfig("dataBits", dataBits);
  119. Tools.UpdateAppConfig("stopBits", stopBits);
  120. Tools.UpdateAppConfig("parity", parity);
  121. await actionsRepository.Insert(new ActionsModel { Info = L.GetString("ThresholdSave"), Operator = currentUser.Name, RoleName = currentUser.RoleName, Time = DateTime.Now });
  122. XtraMessageBox.Show(L.GetString("restartEffective"));
  123. }
  124. private void btn_TareSave_Click(object sender, EventArgs e)
  125. {
  126. var realForm = ParentForm.MdiChildren.FirstOrDefault(c => c.Name == "RealTimeForm") as RealTimeForm;
  127. realForm.ChangeConfigInfo();
  128. }
  129. private void text_putMin_Click(object sender, EventArgs e)
  130. {
  131. SoftKeyboard.ActiveSoftKeyboard(sender);
  132. }
  133. private void text_putMax_Click(object sender, EventArgs e)
  134. {
  135. SoftKeyboard.ActiveSoftKeyboard(sender);
  136. }
  137. }
  138. }