using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml; using XImagingXhandler.XDAL; namespace XCore { public class DataImportBll { #region 获取DataTable的表头名称数据集合 /// /// 获取DataTable的表头名称数据集合 /// /// /// public List GetTransferFileHeaders(DataTable dataTable) { List transferFileHeaders = new List(); TransferFileHeader transferFileHeader = new TransferFileHeader(); transferFileHeader.header_id = "0"; transferFileHeader.header_name = "请选择"; transferFileHeaders.Add(transferFileHeader); for (int i = 0; i < dataTable.Columns.Count; i++) { transferFileHeader = new TransferFileHeader(); transferFileHeader.header_id = dataTable.Columns[i].ColumnName; transferFileHeader.header_name = dataTable.Columns[i].ColumnName; transferFileHeaders.Add(transferFileHeader); } return transferFileHeaders; } #endregion public MethodDataImport GenerateMethodDataImportDataByXmlNode(XmlNode xmlNode) { MethodDataImport methodDataImport = new MethodDataImport(); methodDataImport.isrun = xmlNode.SelectSingleNode("isrun").InnerText; methodDataImport.status = xmlNode.SelectSingleNode("status").InnerText; methodDataImport.name = xmlNode.SelectSingleNode("name").InnerText; methodDataImport.label = xmlNode.SelectSingleNode("label").InnerText; methodDataImport.strIndex = xmlNode.SelectSingleNode("strIndex").InnerText; //methodMixing.wellvolume = Convert.ToDouble(xmlNode.SelectSingleNode("wellvolume").InnerText); methodDataImport.filePath = xmlNode.SelectSingleNode("filePath").InnerText; methodDataImport.beginLine = Convert.ToInt32(xmlNode.SelectSingleNode("beginLine").InnerText); methodDataImport.transferDataTable = GenerateTransferFileDataTable(xmlNode); methodDataImport.sourceLabware = xmlNode.SelectSingleNode("sourceLabware").InnerText; methodDataImport.sourceWell = xmlNode.SelectSingleNode("sourceWell").InnerText; methodDataImport.sourceLabwareCode = xmlNode.SelectSingleNode("sourceLabwareCode").InnerText; methodDataImport.destVolume = xmlNode.SelectSingleNode("destVolume").InnerText; //methodDataImport.tipSet = xmlNode.SelectSingleNode("tipSet").InnerText; return methodDataImport; } public DataTable GenerateTransferFileDataTable(XmlNode xmlNode) { XmlNode xmlNode2 = xmlNode.SelectSingleNode("transferDataTable"); DataTable dataTable = new DataTable(); foreach (XmlNode childNode in xmlNode2.ChildNodes) { DataColumn dataColumn = new DataColumn(); dataColumn.ColumnName = childNode.Name.ToString(); dataTable.Columns.Add(dataColumn); } if (xmlNode2.ChildNodes[0] != null) { for (int i = 0; i < xmlNode2.ChildNodes[0].ChildNodes.Count; i++) { DataRow dataRow = dataTable.NewRow(); for (int j = 0; j < xmlNode2.ChildNodes.Count; j++) { dataRow[j] = xmlNode2.ChildNodes[j].ChildNodes[i].InnerText; } dataTable.Rows.Add(dataRow); } } return dataTable; } } }