private CoreEnvelopeDesign GetCoreEnvelopeDesignData()
        {
            CoreEnvelopeDesign data = new CoreEnvelopeDesign();

            data.Id = bllCoreEnvelopeDesign.GetMaxId();
            data.DesignData_Name      = txtDesignDataName.Text;
            data.DesignData_Submitter = txtDesignDataSumlieter.Text;
            data.Helicopter_Name      = txtHelicopterName.Text;
            data.DataRemark           = txtDagtaRemark.Text;
            data.LastModify_Time      = DateTime.Now.ToString();
            data.DesignTaking_Weight  = (txtDesignTakingWeight.Text == string.Empty ? 0 : Convert.ToDouble(txtDesignTakingWeight.Text));

            data.CoreEnvelope = GetCoreEnvelope();

            return(data);
        }
        /// <summary>
        /// 确定事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnConfirm_Click(object sender, EventArgs e)
        {
            string strErroInfo = PageVerification();

            if (strErroInfo != string.Empty)
            {
                XLog.Write(strErroInfo);
                return;
            }

            if (strType == "weightDesign")
            {
                WeightDesignData weight = GetWeightDesignData();

                bool IsAdd = bllWeightDesign.Add(weight);
                if (IsAdd)
                {
                    XLog.Write("重量设计结果发布数据库成功");
                }
            }
            if (strType == "coreEnvelopeDesign" || strType == "coreEnvelopeCut")
            {
                CoreEnvelopeDesign core = GetCoreEnvelopeDesignData();
                bool IsAdd = bllCoreEnvelopeDesign.Add(core);
                if (IsAdd)
                {
                    if (strType == "coreEnvelopeDesign")
                    {
                        XLog.Write("重心包线设计结果发布数据库成功");
                    }
                    if (strType == "coreEnvelopeCut")
                    {
                        XLog.Write("重心包线剪裁结果发布数据库成功");
                    }
                }
            }
            this.Close();
        }
        private CoreEnvelopeDesign GetExcelCoreDesignData(string strFilePath)
        {
            CoreEnvelopeDesign CoreData = null;
            try
            {
                if (File.Exists(strFilePath))
                {
                    ExcelLib OpExcel = new ExcelLib();
                    //指定操作的文件
                    OpExcel.OpenFileName = strFilePath;
                    //打开文件
                    if (OpExcel.OpenExcelFile() == false)
                    {
                        return CoreData;
                    }
                    //取得所有的工作表名称
                    string[] strSheetsName = OpExcel.getWorkSheetsName();

                    //默认操作第一张表
                    OpExcel.SetActiveWorkSheet(1);
                    System.Data.DataTable table;
                    //列标题重复
                    table = OpExcel.getAllCellsValue();
                    OpExcel.CloseExcelApplication();

                    int count = table.Rows.Count;
                    string strCoreEnvelope = string.Empty;
                    if (count > 0)
                    {
                        CoreData = new CoreEnvelopeDesign();
                        CoreData.Id = bllCoreEnvelopeDesign.GetMaxId() + 1;

                        CoreData.DesignData_Name = table.Rows[0][0].ToString();
                        CoreData.DesignData_Submitter = table.Rows[0][1].ToString();
                        CoreData.Helicopter_Name = table.Rows[0][2].ToString();
                        CoreData.DataRemark = table.Rows[0][3].ToString();
                        CoreData.LastModify_Time = table.Rows[0][4].ToString();
                        CoreData.DesignTaking_Weight = Convert.ToDouble(table.Rows[0][5]);

                        if (table.Rows[0][6].ToString() != string.Empty)
                        {
                            for (int i = 0; i < table.Rows.Count; i++)
                            {
                                strCoreEnvelope += table.Rows[i][6].ToString() + ":" + "横坐标(毫米)、纵坐标(千米)、"
                                    + table.Rows[i][7].ToString() + "、" + table.Rows[i][8].ToString() + "|";
                            }
                            strCoreEnvelope = strCoreEnvelope.Substring(0, strCoreEnvelope.Length - 1);
                        }
                        CoreData.CoreEnvelope = strCoreEnvelope;
                    }
                }
            }
            catch
            {
                XLog.Write("导入文件\"" + strFilePath + "\"格式错误");
                MessageBox.Show("导入文件\"" + strFilePath + "\"格式错误");
                return null;
            }

            return CoreData;
        }
        /// <summary>
        /// 新建事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnNew_Click(object sender, EventArgs e)
        {
            strOperType = CommonMessage.operNew;
            SetPageButton();
            IntiControl();
            SetOperTitle(strOperType);

            coreEnvelopeDesign = new CoreEnvelopeDesign();
        }
        /// <summary>
        /// 基于新建事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnJYNew_Click(object sender, EventArgs e)
        {
            if (selNode == null || selNode.Level == 0)
            {
                XLog.Write("请选择重心包线数据");
                return;
            }

            strOperType = CommonMessage.operJYNew;
            coreEnvelopeDesign = GetCoreDesginData(Convert.ToInt32(selNode.Name));
            SetPageButton();
            SetOperTitle(strOperType);
        }
        /// <summary>
        /// 确认修改事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnConfimModify_Click(object sender, EventArgs e)
        {
            string strErroInfo = PageVerificationInfo();
            if (strErroInfo != string.Empty)
            {
                XLog.Write(strErroInfo);
                return;
            }

            GetPageCoreEnvelopeDesignData();

            if (strOperType == CommonMessage.operNew || strOperType == CommonMessage.operJYNew)
            {
                bool IsAdd = bllCoreEnvelopeDesign.Add(coreEnvelopeDesign);

                if (IsAdd)
                {
                    if (strOperType == CommonMessage.operJYNew)
                    {
                        XLog.Write("基于新建成功");
                    }
                    else
                    {
                        XLog.Write("新建成功");
                    }
                }

            }

            if (strOperType == CommonMessage.operEdit)
            {
                bool IsEdit = bllCoreEnvelopeDesign.Update(coreEnvelopeDesign);

                if (IsEdit)
                {
                    XLog.Write("修改成功");
                }
            }

            strOperType = CommonMessage.operConfirm;
            SetPageButton();
            BindCoreEnvelopeData();

            SetOperTitle(strOperType);

            foreach (TreeNode node in treeViewList.Nodes[0].Nodes)
            {
                if (node.Name == coreEnvelopeDesign.Id.ToString())
                {
                    treeViewList.SelectedNode = node;
                    selNode = node;
                }
            }
            coreEnvelopeDesign = null;
        }
        /// <summary>
        /// 取消修改
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnCancleModify_Click(object sender, EventArgs e)
        {
            strOperType = CommonMessage.operCancle;
            SetPageButton();
            SetOperTitle(string.Empty);

            SettingPageData();
            coreEnvelopeDesign = null;
        }
 /// <summary>
 /// 重心包线节点单击事件
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void treeViewList_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
 {
     selNode = e.Node;
     treeViewList.SelectedNode = e.Node;
     coreEnvelopeDesign = new CoreEnvelopeDesign();
     //SettingPageData();
 }
        private CoreEnvelopeDesign GetXmlCoreDesignData(string strPath)
        {
            CoreEnvelopeDesign CoreData = null;
            try
            {

                if (!File.Exists(strPath))
                {
                    return CoreData;
                }

                CoreData = new CoreEnvelopeDesign();
                CoreData.Id = bllCoreEnvelopeDesign.GetMaxId() + 1;

                string path = string.Empty;
                XmlNode node = null;

                XmlDocument doc = new XmlDocument();
                doc.Load(strPath);

                //设计数据名称
                path = "重心包线设计数据/设计数据名称";
                node = doc.SelectSingleNode(path);
                CoreData.DesignData_Name = node.InnerText;

                //设计数据提交者
                path = "重心包线设计数据/设计数据提交者";
                node = doc.SelectSingleNode(path);
                CoreData.DesignData_Submitter = node.InnerText;

                //直升机名称
                path = "重心包线设计数据/直升机名称";
                node = doc.SelectSingleNode(path);
                CoreData.Helicopter_Name = node.InnerText;

                //数据备注
                path = "重心包线设计数据/数据备注";
                node = doc.SelectSingleNode(path);
                CoreData.DataRemark = node.InnerText;

                //最后修改日期
                path = "重心包线设计数据/最后修改日期";
                node = doc.SelectSingleNode(path);
                CoreData.LastModify_Time = node.InnerText;

                //设计起飞重量
                path = "重心包线设计数据/直升机设计起飞重量";
                node = doc.SelectSingleNode(path);
                CoreData.DesignTaking_Weight = Convert.ToDouble(node.InnerText);

                //重量列表
                path = "重心包线设计数据/包线节点列表";
                node = doc.SelectSingleNode(path);

                string strCoreEnvelope = string.Empty;
                if (node.ChildNodes.Count > 0)
                {
                    for (int i = 0; i < node.ChildNodes.Count; i++)
                    {
                        strCoreEnvelope += node.ChildNodes[i].ChildNodes[0].InnerText + ":" + "横坐标(毫米)、纵坐标(千米)、"
                            + node.ChildNodes[i].ChildNodes[1].InnerText + "、" + node.ChildNodes[i].ChildNodes[2].InnerText + "|";
                    }
                    strCoreEnvelope = strCoreEnvelope.Substring(0, strCoreEnvelope.Length - 1);
                }

                CoreData.CoreEnvelope = strCoreEnvelope;
            }
            catch
            {
                XLog.Write("导入文件\"" + strPath + "\"格式错误");
                MessageBox.Show("导入文件\"" + strPath + "\"格式错误");
                return null;
            }

            return CoreData;
        }
        private void btnConfirm_Click(object sender, EventArgs e)
        {
            if (this.treeCoreEnvelope.SelectedNode == null)
            {
                MessageBox.Show("请选择结点");
                return;
            }
            CoreEnvelopeAssessForm parentForm = ((CoreEnvelopeAssessForm)this.Owner);
            TreeNode selNode = this.treeCoreEnvelope.SelectedNode;

            if (flag == 0)
            {
                //从重心设计中加载数据
                for (int i = 0; i < lstCoreEnvelopeDesign.Count; i++)
                {
                    if (selNode.ToolTipText == i.ToString())
                    {
                        List <CorePointExt> cpeList = new List <CorePointExt>();
                        foreach (NodeFormula nf in lstCoreEnvelopeDesign[i].FormulaList)
                        {
                            CorePointExt cpe = new CorePointExt();
                            cpe.pointName   = nf.NodeName;
                            cpe.pointXValue = nf.XFormula.Value;
                            cpe.pointYValue = nf.YFormula.Value;
                            cpe.isAssess    = false;
                            cpeList.Add(cpe);
                        }
                        parentForm.saveCoreGridView(cpeList, "0");
                        break;
                    }
                }
            }
            else if (flag == 1)
            {
                //从重心裁剪中加载数据
                for (int i = 0; i < lstCutResultData.Count; i++)
                {
                    if (selNode.ToolTipText == i.ToString())
                    {
                        List <CorePointExt> cpeList = new List <CorePointExt>();
                        foreach (CorePointData cpd in lstCutResultData[i].lstCutEnvelopeCore)
                        {
                            cpeList.Add(CommonUtil.corePointDataToCorePoinExt(cpd));
                        }
                        parentForm.saveCoreGridView(cpeList, "0");
                        break;
                    }
                }
            }
            else if (flag == 2)
            {
                //从重心数据库中加载数据
                foreach (Model.CoreEnvelopeDesign core in this.lstCoreEnvelope)
                {
                    if (core.Id.ToString() == selNode.Name)
                    {
                        List <CorePointExt>  cpeList = new List <CorePointExt>();
                        List <CorePointData> list    = CoreEnvelopeDesign.GetStringToListCorePointData(core.CoreEnvelope);
                        foreach (CorePointData cpd in list)
                        {
                            cpeList.Add(CommonUtil.corePointDataToCorePoinExt(cpd));
                        }
                        parentForm.saveCoreGridView(cpeList, "0");
                        break;
                    }
                }
            }

            this.Close();
        }
        private CoreEnvelopeDesign GetCoreEnvelopeDesignData()
        {
            CoreEnvelopeDesign data = new CoreEnvelopeDesign();

            data.Id = bllCoreEnvelopeDesign.GetMaxId();
            data.DesignData_Name = txtDesignDataName.Text;
            data.DesignData_Submitter = txtDesignDataSumlieter.Text;
            data.Helicopter_Name = txtHelicopterName.Text;
            data.DataRemark = txtDagtaRemark.Text;
            data.LastModify_Time = DateTime.Now.ToString();
            data.DesignTaking_Weight = (txtDesignTakingWeight.Text == string.Empty ? 0 : Convert.ToDouble(txtDesignTakingWeight.Text));

            data.CoreEnvelope = GetCoreEnvelope();

            return data;
        }