コード例 #1
0
ファイル: CPTControl.xaml.cs プロジェクト: xeon-ye/GSYGeo
        /// <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;
        }
コード例 #2
0
ファイル: CPTControl.xaml.cs プロジェクト: xeon-ye/GSYGeo
 /// <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;
         }
     }
 }