using ivf_tl_Entity.DebugEntitys; using ivf_tl_Operate.Converts; using ivf_tl_Operate.ViewModel; using ivf_tl_Operate.Windows; using System.Text.RegularExpressions; using System.Windows; using System.Windows.Controls; namespace ivf_tl_Operate.View { /// /// HouseSettingPageView.xaml 的交互逻辑 /// public partial class HouseSettingPageView : UserControl { private HouseSettingPageViewModel vm { get { return (HouseSettingPageViewModel)this.DataContext; } } public HouseSettingPageView() { InitializeComponent(); TextBlock t = new TextBlock(); t.FontWeight = FontWeights.Bold; } public void TestData() { int k = 1; HouseInfo houseDB = new HouseInfo(); houseDB.xuHao = k; houseDB.tlSn = "tlSn"; houseDB.houseSn = k; houseDB.houseName = "1号舱室"; houseDB.housePort = "COM3"; houseDB.ccdId = k; houseDB.ccdSn = "ccdSn"; houseDB.ccdHeight = 1944; houseDB.ccdWidth = 2592; houseDB.targetHeight = 910; houseDB.targetWidth = 910; houseDB.verticalMotorSpacePulse = 128; houseDB.ccdExposure = 100; houseDB.autoFocusNumber = 40; houseDB.photographPictureNumber = 11; houseDB.updateFocusNumber = 5; houseDB.updateClearestNumber = 10; houseDB.openCcd = k; houseDB.openPort = k; houseDB.autoFocus = k; houseDB.noImagePreview = k; houseDB.inletValveOpeningTime = 40; houseDB.temperatureLowerHeatingPlate = 37.2m; vm.HouseInfoList.Add(houseDB); k = 2; HouseInfo houseDB1 = new HouseInfo(); houseDB1.xuHao = k; houseDB1.tlSn = "tlSn"; houseDB1.houseSn = k; houseDB1.houseName = "1号舱室"; houseDB1.housePort = "COM3"; houseDB1.ccdId = k; houseDB1.ccdSn = "ccdSn"; houseDB1.ccdHeight = 1944; houseDB1.ccdWidth = 2592; houseDB1.targetHeight = 910; houseDB1.targetWidth = 910; houseDB1.verticalMotorSpacePulse = 128; houseDB1.ccdExposure = 100; houseDB1.autoFocusNumber = 40; houseDB1.photographPictureNumber = 11; houseDB1.updateFocusNumber = 5; houseDB1.updateClearestNumber = 10; houseDB1.openCcd = k; houseDB1.openPort = k; houseDB1.autoFocus = k; houseDB1.noImagePreview = k; houseDB1.inletValveOpeningTime = 40; houseDB1.temperatureLowerHeatingPlate = 37.3m; vm.HouseInfoList.Add(houseDB1); } private void Return_Click(object sender, RoutedEventArgs e) { SettingPageView settingPageView = new SettingPageView(); AppData.Instance.MainWindow.LoadPage(settingPageView); } private void Save_Click(object sender, RoutedEventArgs e) { var a = vm.HouseInfoList; } private void SaveHouse_Click(object sender, RoutedEventArgs e) { // M8-G3-1:保存舱室设置命令入口埋点。 using var _op = Aivfo.OperationLog.OperationLogger.Begin("舱室设置", "保存舱室设置"); _op.Input(new { houseCount = vm.HouseInfoList?.Count ?? 0 }); if (AppData.Instance.HttpHelper.HouseUpdateApi(vm.HouseInfoList)) { _op.Success(); //new MessagePrompt().ShowCenterOwnerSuccess(AppData.Instance.MainWindow, "保存成功"); new MessagePrompt().ShowCenterOwnerSuccess(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("C0242")); } else { _op.Fail("HouseUpdateApi 返回 false:保存舱室设置失败"); //new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, "保存失败"); new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("C0243")); } } 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, "请输入数字"); // return; //} //if (int.TryParse(newValueString,out int newValue)) //{ // foreach (var item in vm.HouseInfoList) // { // if (this._autoFocusNumber_CheckBox.IsChecked == true) item.autoFocusNumber = newValue; // if (this._photographPictureNumber_CheckBox.IsChecked == true) item.photographPictureNumber = newValue; // if (this._updateClearestNumber_CheckBox.IsChecked == true) item.updateClearestNumber = newValue; // if (this._updateFocusNumber_CheckBox.IsChecked == true) item.updateFocusNumber = newValue; // } // if (this._autoFocusNumber_CheckBox.IsChecked == true) this._autoFocusNumber_CheckBox.IsChecked=false; // if (this._photographPictureNumber_CheckBox.IsChecked == true) this._photographPictureNumber_CheckBox.IsChecked = false; // if (this._updateClearestNumber_CheckBox.IsChecked == true) this._updateClearestNumber_CheckBox.IsChecked = false; // if (this._updateFocusNumber_CheckBox.IsChecked == true) this._updateFocusNumber_CheckBox.IsChecked = false; //} //else //{ // new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, "请输入正确的数字"); // return; //} } private void SaveSetting_Click(object sender, RoutedEventArgs e) { // M8-G3-1:保存系统设置命令入口埋点(含本地校验计算)。 using var _op = Aivfo.OperationLog.OperationLogger.Begin("舱室设置", "保存系统设置"); _op.Input(new { pressureAlarmMax = this.TextBox_pressureAlarmMax.Text?.Trim(), pressureAlarmMin = this.TextBox_pressureAlarmMin.Text?.Trim(), temperatureAlarmMax = this.TextBox_temperatureAlarmMax.Text?.Trim(), temperatureAlarmMin = this.TextBox_temperatureAlarmMin.Text?.Trim() }); decimal decimalValue; if (decimal.TryParse(this.TextBox_pressureAlarmMax.Text.Trim(), out decimalValue)) { if (decimalValue < 0) { _op.Fail("校验失败:舱室压力上限小于0"); //new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, $"舱室压力上限请输入大于0的整数或者小数"); new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("C0244")); return; } } else { _op.Fail("校验失败:舱室压力上限非数字"); //new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, $"舱室压力上限请输入整数或者小数"); new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("C0244")); return; } if (decimal.TryParse(this.TextBox_pressureAlarmMin.Text.Trim(), out decimalValue)) { if (decimalValue < 0) { _op.Fail("校验失败:舱室压力下限小于0"); //new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, $"舱室压力下限请输入大于0的整数或者小数"); new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("C0245")); return; } } else { _op.Fail("校验失败:舱室压力下限非数字"); //new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, $"舱室压力下限值请输入整数或者小数"); new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("C0245")); return; } if (decimal.TryParse(this.TextBox_temperatureAlarmMax.Text.Trim(), out decimalValue)) { if (decimalValue < 0) { _op.Fail("校验失败:舱室温度上限小于0"); //new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, $"舱室温度上限请输入大于0的整数或者小数"); new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("C0246")); return; } } else { _op.Fail("校验失败:舱室温度上限非数字"); //new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, $"舱室温度上限请输入整数或者小数"); new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("C0246")); return; } if (decimal.TryParse(this.TextBox_temperatureAlarmMin.Text.Trim(), out decimalValue)) { if (decimalValue < 0) { _op.Fail("校验失败:舱室温度下限小于0"); //new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, $"舱室温度下限请输入大于0的整数或者小数"); new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("C0247")); return; } } else { _op.Fail("校验失败:舱室温度下限非数字"); //new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, $"舱室温度下限请输入整数或者小数"); new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("C0247")); return; } string error = AppData.Instance.HttpHelper.SystemUpdateApi(vm.TLSettingModel); if (string.IsNullOrEmpty(error)) { _op.Success(); //new MessagePrompt().ShowCenterOwnerSuccess(AppData.Instance.MainWindow, "保存成功"); new MessagePrompt().ShowCenterOwnerSuccess(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("C0242")); } else { _op.Fail("SystemUpdateApi 失败:" + error); //new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, $"保存失败:{error}"); new MessagePrompt().ShowCenterOwnerDefeat(AppData.Instance.MainWindow, $"{KeyToStringConvert.GetLanguageStringByKey("C0243")}:{error}"); } } private void TextBox_PreviewTextInput(object sender, System.Windows.Input.TextCompositionEventArgs e) { e.Handled = !Regex.IsMatch(e.Text, @"[0-9]"); } private void TextBox_PreviewTextInput_1(object sender, System.Windows.Input.TextCompositionEventArgs e) { //^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ e.Handled = !Regex.IsMatch(e.Text, @"^\d+(\.\d+)?$"); } } }