using OTSCLRINTERFACE;
using OTSIncAReportApp.OTSSampleReportInfo;
using OTSIncAReportApp.SysMgrTools;
using OTSIncAReportGraph.OTSIncAReportGraphFuncation;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
namespace OTSIncAReportApp.OTSDataMgrFunction
{
///
/// 框架与底层进行交互的操作类
///
public class ResultDataMgr
{
#region 变量定义
///
/// 报告主进程框架对象
///
private frmReportApp m_ReportApp = null;
public CReportMgrClr m_ReportMgr;
public List resultFilesList = new List(); //测量结果列表
public int WorkingResult = -1;
public DataOperation.Model.RptConfigFile m_RptConfigFile = new DataOperation.Model.RptConfigFile(); //报表程序的配置文件
#endregion
public OTSReportFun m_ReportFun = null;
#region 构造函数
///
/// 构造函数
///
///
public ResultDataMgr(frmReportApp ReportApp)
{
m_ReportApp = ReportApp;
if (null == m_ReportMgr)
{
//初始化相关变量
m_ReportMgr = new CReportMgrClr();
}
}
#endregion
#region 获取组合项相关方法
///
/// 根据系统设置的默认粒级表路径,获取所有的粒级表文件List
///
///
public List GetPartSizeFileList()
{
List ret_list = new List();
//遍历粒级文件夹
DirectoryInfo theFolder = new DirectoryInfo(m_RptConfigFile.FileFolderSize);
if (!theFolder.Exists)
return ret_list;
//读取遍历粒级文件信息
foreach (FileInfo nextifile in theFolder.GetFiles())
{
//找出粒级文件
if (nextifile.Name.Contains(".psf") == true || nextifile.Name.Contains(".PSF") == true)
{
ret_list.Add(nextifile.Name);
}
}
return ret_list;
}
///
/// 根据系统设置默认的粒级表的路径,获取粒级表List
///
///
///
public List GetPartSizeList()
{
DataSet ds = DataOperation.DataAccess.XMLoperate.GetXml(m_RptConfigFile.FileFolderSize + m_RptConfigFile.PartSizeFile);
string sizestr = ds.Tables[0].Rows[0]["Sizes"].ToString();
List sizeList = new List();
for (int i = 0; i < sizestr.Split(',').Length - 1; i++)
{
if (sizestr.Split(',')[i].Length > 0)
{
double d1 = Convert.ToDouble(sizestr.Split(',')[i]);
double d2 = Convert.ToDouble(sizestr.Split(',')[i + 1]);
sizeList.Add(d1.ToString() + "~" + d2.ToString());
}
}
double d = Convert.ToDouble(sizestr.Split(',')[sizestr.Split(',').Length - 1]);
sizeList.Add(d.ToString() + "~MAX");
return sizeList;
}
///
/// 根据传入的粒级表目录,获取粒级表List
///
///
public List GetPartSizeList(string path)
{
DataSet ds = DataOperation.DataAccess.XMLoperate.GetXml(path);
string sizestr = ds.Tables[0].Rows[0]["Sizes"].ToString();
List sizeList = new List();
for (int i = 0; i < sizestr.Split(',').Length - 1; i++)
{
if (sizestr.Split(',')[i].Length > 0)
{
double d1 = Convert.ToDouble(sizestr.Split(',')[i]);
double d2 = Convert.ToDouble(sizestr.Split(',')[i + 1]);
sizeList.Add(d1.ToString() + "~" + d2.ToString());
}
}
double d = Convert.ToDouble(sizestr.Split(',')[sizestr.Split(',').Length - 1]);
sizeList.Add(d.ToString() + "~MAX");
return sizeList;
}
///
/// 获取三元相图模板名称列表
///
///
public List GetTriTemplateNameList()
{
string pathtpf = m_RptConfigFile.FileFolderTrigTemp + m_RptConfigFile.TriTempFile;
List ret_list = new List();
DataSet ds = DataOperation.DataAccess.XMLoperate.GetXmlData(pathtpf, "XMLData");
DataTable dt = ds.Tables["Member"];
foreach (DataRow item in dt.Rows)
{
if (item["TemplateName"].ToString() != "")
{
ret_list.Add(item["TemplateName"].ToString());
}
}
return ret_list;
}
///
/// 获取测量结果名称列表
///
///
public List GetSampleListName()
{
List ret_list = new List();
var resultfileList = resultFilesList;
foreach (var item in resultfileList)
{
ret_list.Add(item.FileName);
}
if (m_ReportApp.MoreSource != "")
{
ret_list.Add(m_ReportApp.MoreSource);
}
return ret_list;
}
public List GetDataSourceTypeList()
{
//string sscaptionname23 = table["sscaptionname23"].ToString();
//string sscaptionname24 = table["sscaptionname24"].ToString();
List ret_list = new List() { "AllParticles"};
return ret_list;
}
///
/// 获取计算方法列表
///
///
public List GetSizeCalMethodTypeList()
{
List ret_list = new List() { "DMAX", "DMIN", "Area", "FERET" };
return ret_list;
}
///
/// 数据类型,全部颗粒,分析颗粒
///
///
#endregion
#region [测量结果treeview]相关封装方法
///
/// 获取测量结果treeview树测量结果名
///
///
public string GetSampleName()
{
//获取样品名
String sWorkSampleName = resultFilesList[WorkingResult].FileName;
if (null == sWorkSampleName)
{
return "";
}
return sWorkSampleName;
}
#endregion
}
}