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的表头名称数据集合
|
/// <summary>
|
/// 获取DataTable的表头名称数据集合
|
/// </summary>
|
/// <param name="dataTable"></param>
|
/// <returns></returns>
|
public List<TransferFileHeader> GetTransferFileHeaders(DataTable dataTable)
|
{
|
List<TransferFileHeader> transferFileHeaders = new List<TransferFileHeader>();
|
|
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;
|
}
|
}
|
}
|