/// <summary> /// Save命令的Executed事件处理函数 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void CommandBindingSave_Executed(object sender, ExecutedRoutedEventArgs e) { // 提取触探孔基本信息参数 string jkName = this.JKNameTextBox.Text; double jkAltitude = Convert.ToDouble(this.JKAltitudeTextBox.Text); double jkAxisX = !string.IsNullOrEmpty(this.AxisXTextBox.Text) && !string.IsNullOrWhiteSpace(this.AxisXTextBox.Text) ? Convert.ToDouble(this.AxisXTextBox.Text) : -0.19880205; double jkAxisY = !string.IsNullOrEmpty(this.AxisYTextBox.Text) && !string.IsNullOrWhiteSpace(this.AxisYTextBox.Text) ? Convert.ToDouble(this.AxisYTextBox.Text) : -0.19880205; // 提取触探孔分层参数 List <string> jkLayerNumberList = new List <string>(); List <string> jkLayerNameList = new List <string>(); List <string> jkLayerGeoList = new List <string>(); List <double> jkLayerDepthList = new List <double>(); List <string> jkLayerDescriptionList = new List <string>(); for (int i = 0; i < dtLayer.Rows.Count; i++) { jkLayerNumberList.Add((string)dtLayer.Rows[i][0]); jkLayerNameList.Add((string)dtLayer.Rows[i][1]); jkLayerGeoList.Add((string)dtLayer.Rows[i][2]); jkLayerDepthList.Add((double)dtLayer.Rows[i][3]); jkLayerDescriptionList.Add((string)dtLayer.Rows[i][4]); } // 提取触探孔摩阻力参数 List <double> jkPsList = new List <double>(); for (int i = 0; i < dtPs.Rows.Count; i++) { jkPsList.Add((double)dtPs.Rows[i][0]); } // 保存触探孔到数据库 if (isNewJk == false) { CPTDataBase.RemoveJk(Program.currentProject, oldJkName); } CPTDataBase.AddJkBasicInfo(Program.currentProject, jkName, jkAltitude, jkAxisX, jkAxisY); CPTDataBase.AddLayerListToJk(Program.currentProject, jkName, jkLayerNumberList, jkLayerNameList, jkLayerGeoList, jkLayerDescriptionList, jkLayerDepthList); CPTDataBase.AddPsListToJk(Program.currentProject, jkName, jkPsList); // 更新导航树 if (!MainWindow.bind.IsExistSecondTreeItem(2, "静力触探")) { MainWindow.bind.AddItemToSecondTree(2, "静力触探"); } MainWindow.bind.ReSetJkItem(Program.currentProject); // 更新状态标签 this.IsChangedTextBlock.Text = "已保存"; this.IsChangedTextBlock.Foreground = Brushes.Blue; MessageBox.Show("保存成功!"); this.Visibility = Visibility.Collapsed; }
/// <summary> /// 点击"删除此钻孔" /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void DeleteJkButton_Click(object sender, RoutedEventArgs e) { if (!string.IsNullOrEmpty(oldJkName) && !string.IsNullOrWhiteSpace(oldJkName)) { MessageBoxResult result = MessageBox.Show("您确定要删除 " + oldJkName + " 吗?\n该触探孔的所有资料将被删除,且不可恢复。", "删除静力触探孔", MessageBoxButton.YesNoCancel, MessageBoxImage.Warning); if (result == MessageBoxResult.Yes) { GC.Collect(); GC.WaitForPendingFinalizers(); CPTDataBase.RemoveJk(Program.currentProject, oldJkName); MainWindow.bind.ReSetJkItem(Program.currentProject); this.Visibility = Visibility.Collapsed; } } }