using ivf_tl_Entity.DebugEntitys; using ivf_tl_Operate.Converts; using ivf_tl_Operate.ViewModel; using ivf_tl_Operate.Windows; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace ivf_tl_Operate.View { /// /// AutoFocusSettingView.xaml 的交互逻辑 /// public partial class AutoFocusSettingView : UserControl { private AutoFocusSettingViewModel vm = null; public AutoFocusSettingView(AutoFocusSettingViewModel _vm) { InitializeComponent(); vm = _vm; this.DataContext = vm; } private void Return_Click(object sender, RoutedEventArgs e) { SettingPageView settingPageView = new SettingPageView(); AppData.Instance.MainWindow.LoadPage(settingPageView); } private void SettCheck_Click(object sender, RoutedEventArgs e) { string newValueString = this._newValue_TextBox.Text.Trim(); if (string.IsNullOrEmpty(newValueString)) { //new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, "请输入数字"); new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("C0259")); return; } if (int.TryParse(newValueString, out int newValue)) { foreach (var item in vm.HouseInfoList) { if (this._newAutoFocus_CheckBox.IsChecked == true) item.NewAutoFocusNumber = newValue; if (this._updateFocusNumber_CheckBox.IsChecked == true) item.NewUpdateFocusNumber = newValue; if (this._updateClearestNumber_CheckBox.IsChecked == true) item.NewUpdateClearestNumber = newValue; } if (this._newAutoFocus_CheckBox.IsChecked == true) this._newAutoFocus_CheckBox.IsChecked = false; if (this._updateFocusNumber_CheckBox.IsChecked == true) this._updateFocusNumber_CheckBox.IsChecked = false; if (this._updateClearestNumber_CheckBox.IsChecked == true) this._updateClearestNumber_CheckBox.IsChecked = false; } else { //new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, "请输入正确的数字"); new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("C0259")); return; } } private void SaveHouse_Click(object sender, RoutedEventArgs e) { bool isUp = false; bool isUpHouse = false; List upList = new List(); foreach (var item in vm.HouseInfoList) { isUpHouse = false; if(item.autoFocus != item.autoFocusNew) { item.autoFocus = item.autoFocusNew; isUpHouse = true; } if (item.NewPhotographPictureNumber.HasValue && item.NewPhotographPictureNumber >=0 && item.NewPhotographPictureNumber != item.photographPictureNumber) { item.photographPictureNumber = item.NewPhotographPictureNumber.Value; item.autoFocus = 1; isUpHouse = true; } if (item.NewAutoFocusNumber.HasValue && item.NewAutoFocusNumber >= 0 && item.NewAutoFocusNumber != item.autoFocusNumber) { item.autoFocusNumber = item.NewAutoFocusNumber.Value; item.autoFocus = 1; isUpHouse = true; } if (item.NewUpdateFocusNumber.HasValue && item.NewUpdateFocusNumber >= 0 && item.NewUpdateFocusNumber != item.updateFocusNumber) { item.updateFocusNumber = item.NewUpdateFocusNumber.Value; item.autoFocus = 1; isUpHouse = true; } if (item.NewUpdateClearestNumber.HasValue && item.NewUpdateClearestNumber >= 0 && item.NewUpdateClearestNumber != item.updateClearestNumber) { item.updateClearestNumber = item.NewUpdateClearestNumber.Value; item.autoFocus = 1; isUpHouse = true; } if (item.updateFocusNumber > item.autoFocusNumber) { MessageBox.Show($"{item.houseSn}号舱室抠图成功数-更新对焦起点不能大于对焦次数"); return; } if (item.updateClearestNumber > item.autoFocusNumber) { MessageBox.Show($"{item.houseSn}号舱室抠图成功数-更新拍照位置不能大于对焦次数"); return; } AutoFocusHouseInfoRequest autoFocusHouseInfoRequest = null; if (isUpHouse) { autoFocusHouseInfoRequest = new AutoFocusHouseInfoRequest { photographPictureNumber = item.photographPictureNumber, autoFocusNumber = item.autoFocusNumber, updateFocusNumber = item.updateFocusNumber, updateClearestNumber = item.updateClearestNumber, autoFocus = item.autoFocus, tlSn=item.tlSn, houseSn=item.houseSn, }; upList.Add(autoFocusHouseInfoRequest); } if(item.wellFocusSetting != null && item.wellFocusSetting.Any()) { List wellList = new List(); foreach (var itemWell in item.wellFocusSetting) { isUp = false; if (itemWell.NewFocusStartingPoint.HasValue && itemWell.NewFocusStartingPoint >= 0 && itemWell.NewFocusStartingPoint != itemWell.focusStartingPoint) { itemWell.focusStartingPoint = itemWell.NewFocusStartingPoint.Value; isUp = true; } if (itemWell.NewMoveDownLayer.HasValue && itemWell.NewMoveDownLayer >= 0 && itemWell.NewMoveDownLayer != itemWell.moveDownLayer) { itemWell.moveDownLayer = itemWell.NewMoveDownLayer.Value; isUp = true; } if (itemWell.NewLeftOffset.HasValue && itemWell.NewLeftOffset >= 0 && itemWell.NewLeftOffset != itemWell.leftOffset) { itemWell.leftOffset = itemWell.NewLeftOffset.Value; isUp = true; } if (itemWell.NewBottomOffset.HasValue && itemWell.NewBottomOffset >= 0 && itemWell.NewBottomOffset != itemWell.bottomOffset) { itemWell.bottomOffset = itemWell.NewBottomOffset.Value; isUp = true; } if (isUp) { wellList.Add(itemWell); } } if (wellList.Any()) { if(autoFocusHouseInfoRequest == null) { autoFocusHouseInfoRequest = new AutoFocusHouseInfoRequest { photographPictureNumber = item.photographPictureNumber, autoFocusNumber = item.autoFocusNumber, updateFocusNumber = item.updateFocusNumber, updateClearestNumber = item.updateClearestNumber, autoFocus = item.autoFocus, tlSn = item.tlSn, houseSn = item.houseSn, }; upList.Add(autoFocusHouseInfoRequest); } autoFocusHouseInfoRequest.wellFocusSetting = wellList; } } } if (AppData.Instance.HttpHelper.HouseImmediatelyAPi(upList)) { //new MessagePrompt().ShowCenterOwnerSuccess(AppData.Instance.MainWindow, "保存成功"); new MessagePrompt().ShowCenterOwnerSuccess(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("C0242")); } else { //new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, "保存失败"); new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("C0243")); } } private void TextBox_PreviewTextInput(object sender, TextCompositionEventArgs e) { e.Handled = !Regex.IsMatch(e.Text, @"[0-9]"); } } }