AutoFocusSettingView.xaml.cs 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. using ivf_tl_Entity.DebugEntitys;
  2. using ivf_tl_Operate.Converts;
  3. using ivf_tl_Operate.ViewModel;
  4. using ivf_tl_Operate.Windows;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Text.RegularExpressions;
  10. using System.Threading.Tasks;
  11. using System.Windows;
  12. using System.Windows.Controls;
  13. using System.Windows.Data;
  14. using System.Windows.Documents;
  15. using System.Windows.Input;
  16. using System.Windows.Media;
  17. using System.Windows.Media.Imaging;
  18. using System.Windows.Navigation;
  19. using System.Windows.Shapes;
  20. namespace ivf_tl_Operate.View
  21. {
  22. /// <summary>
  23. /// AutoFocusSettingView.xaml 的交互逻辑
  24. /// </summary>
  25. public partial class AutoFocusSettingView : UserControl
  26. {
  27. private AutoFocusSettingViewModel vm = null;
  28. public AutoFocusSettingView(AutoFocusSettingViewModel _vm)
  29. {
  30. InitializeComponent();
  31. vm = _vm;
  32. this.DataContext = vm;
  33. }
  34. private void Return_Click(object sender, RoutedEventArgs e)
  35. {
  36. SettingPageView settingPageView = new SettingPageView();
  37. AppData.Instance.MainWindow.LoadPage(settingPageView);
  38. }
  39. private void SettCheck_Click(object sender, RoutedEventArgs e)
  40. {
  41. string newValueString = this._newValue_TextBox.Text.Trim();
  42. if (string.IsNullOrEmpty(newValueString))
  43. {
  44. //new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, "请输入数字");
  45. new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("C0259"));
  46. return;
  47. }
  48. if (int.TryParse(newValueString, out int newValue))
  49. {
  50. foreach (var item in vm.HouseInfoList)
  51. {
  52. if (this._newAutoFocus_CheckBox.IsChecked == true) item.NewAutoFocusNumber = newValue;
  53. if (this._updateFocusNumber_CheckBox.IsChecked == true)
  54. item.NewUpdateFocusNumber = newValue;
  55. if (this._updateClearestNumber_CheckBox.IsChecked == true)
  56. item.NewUpdateClearestNumber = newValue;
  57. }
  58. if (this._newAutoFocus_CheckBox.IsChecked == true)
  59. this._newAutoFocus_CheckBox.IsChecked = false;
  60. if (this._updateFocusNumber_CheckBox.IsChecked == true)
  61. this._updateFocusNumber_CheckBox.IsChecked = false;
  62. if (this._updateClearestNumber_CheckBox.IsChecked == true)
  63. this._updateClearestNumber_CheckBox.IsChecked = false;
  64. }
  65. else
  66. {
  67. //new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, "请输入正确的数字");
  68. new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("C0259"));
  69. return;
  70. }
  71. }
  72. private void SaveHouse_Click(object sender, RoutedEventArgs e)
  73. {
  74. bool isUp = false;
  75. bool isUpHouse = false;
  76. List<AutoFocusHouseInfoRequest> upList = new List<AutoFocusHouseInfoRequest>();
  77. foreach (var item in vm.HouseInfoList)
  78. {
  79. isUpHouse = false;
  80. if(item.autoFocus != item.autoFocusNew)
  81. {
  82. item.autoFocus = item.autoFocusNew;
  83. isUpHouse = true;
  84. }
  85. if (item.NewPhotographPictureNumber.HasValue && item.NewPhotographPictureNumber >=0 && item.NewPhotographPictureNumber != item.photographPictureNumber)
  86. {
  87. item.photographPictureNumber = item.NewPhotographPictureNumber.Value;
  88. item.autoFocus = 1;
  89. isUpHouse = true;
  90. }
  91. if (item.NewAutoFocusNumber.HasValue && item.NewAutoFocusNumber >= 0 && item.NewAutoFocusNumber != item.autoFocusNumber)
  92. {
  93. item.autoFocusNumber = item.NewAutoFocusNumber.Value;
  94. item.autoFocus = 1;
  95. isUpHouse = true;
  96. }
  97. if (item.NewUpdateFocusNumber.HasValue && item.NewUpdateFocusNumber >= 0 && item.NewUpdateFocusNumber != item.updateFocusNumber)
  98. {
  99. item.updateFocusNumber = item.NewUpdateFocusNumber.Value;
  100. item.autoFocus = 1;
  101. isUpHouse = true;
  102. }
  103. if (item.NewUpdateClearestNumber.HasValue && item.NewUpdateClearestNumber >= 0 && item.NewUpdateClearestNumber != item.updateClearestNumber)
  104. {
  105. item.updateClearestNumber = item.NewUpdateClearestNumber.Value;
  106. item.autoFocus = 1;
  107. isUpHouse = true;
  108. }
  109. if (item.updateFocusNumber > item.autoFocusNumber)
  110. {
  111. MessageBox.Show($"{item.houseSn}号舱室抠图成功数-更新对焦起点不能大于对焦次数");
  112. return;
  113. }
  114. if (item.updateClearestNumber > item.autoFocusNumber)
  115. {
  116. MessageBox.Show($"{item.houseSn}号舱室抠图成功数-更新拍照位置不能大于对焦次数");
  117. return;
  118. }
  119. AutoFocusHouseInfoRequest autoFocusHouseInfoRequest = null;
  120. if (isUpHouse)
  121. {
  122. autoFocusHouseInfoRequest = new AutoFocusHouseInfoRequest
  123. {
  124. photographPictureNumber = item.photographPictureNumber,
  125. autoFocusNumber = item.autoFocusNumber,
  126. updateFocusNumber = item.updateFocusNumber,
  127. updateClearestNumber = item.updateClearestNumber,
  128. autoFocus = item.autoFocus,
  129. tlSn=item.tlSn,
  130. houseSn=item.houseSn,
  131. };
  132. upList.Add(autoFocusHouseInfoRequest);
  133. }
  134. if(item.wellFocusSetting != null && item.wellFocusSetting.Any())
  135. {
  136. List<AutoFocusWellInfo> wellList = new List<AutoFocusWellInfo>();
  137. foreach (var itemWell in item.wellFocusSetting)
  138. {
  139. isUp = false;
  140. if (itemWell.NewFocusStartingPoint.HasValue && itemWell.NewFocusStartingPoint >= 0 && itemWell.NewFocusStartingPoint != itemWell.focusStartingPoint)
  141. {
  142. itemWell.focusStartingPoint = itemWell.NewFocusStartingPoint.Value;
  143. isUp = true;
  144. }
  145. if (itemWell.NewMoveDownLayer.HasValue && itemWell.NewMoveDownLayer >= 0 && itemWell.NewMoveDownLayer != itemWell.moveDownLayer)
  146. {
  147. itemWell.moveDownLayer = itemWell.NewMoveDownLayer.Value;
  148. isUp = true;
  149. }
  150. if (itemWell.NewLeftOffset.HasValue && itemWell.NewLeftOffset >= 0 && itemWell.NewLeftOffset != itemWell.leftOffset)
  151. {
  152. itemWell.leftOffset = itemWell.NewLeftOffset.Value;
  153. isUp = true;
  154. }
  155. if (itemWell.NewBottomOffset.HasValue && itemWell.NewBottomOffset >= 0 && itemWell.NewBottomOffset != itemWell.bottomOffset)
  156. {
  157. itemWell.bottomOffset = itemWell.NewBottomOffset.Value;
  158. isUp = true;
  159. }
  160. if (isUp)
  161. {
  162. wellList.Add(itemWell);
  163. }
  164. }
  165. if (wellList.Any())
  166. {
  167. if(autoFocusHouseInfoRequest == null)
  168. {
  169. autoFocusHouseInfoRequest = new AutoFocusHouseInfoRequest
  170. {
  171. photographPictureNumber = item.photographPictureNumber,
  172. autoFocusNumber = item.autoFocusNumber,
  173. updateFocusNumber = item.updateFocusNumber,
  174. updateClearestNumber = item.updateClearestNumber,
  175. autoFocus = item.autoFocus,
  176. tlSn = item.tlSn,
  177. houseSn = item.houseSn,
  178. };
  179. upList.Add(autoFocusHouseInfoRequest);
  180. }
  181. autoFocusHouseInfoRequest.wellFocusSetting = wellList;
  182. }
  183. }
  184. }
  185. if (AppData.Instance.HttpHelper.HouseImmediatelyAPi(upList))
  186. {
  187. //new MessagePrompt().ShowCenterOwnerSuccess(AppData.Instance.MainWindow, "保存成功");
  188. new MessagePrompt().ShowCenterOwnerSuccess(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("C0242"));
  189. }
  190. else
  191. {
  192. //new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, "保存失败");
  193. new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("C0243"));
  194. }
  195. }
  196. private void TextBox_PreviewTextInput(object sender, TextCompositionEventArgs e)
  197. {
  198. e.Handled = !Regex.IsMatch(e.Text, @"[0-9]");
  199. }
  200. }
  201. }