using System;
using System.Data;
using System.Windows.Forms;
namespace OTSCommon.Model
{
public enum OTS_SysType_ID
{
IncA = 0,
CleannessA = 1
}
[Serializable]
public class RptConfigFile
{
private string path;
private const string ConfigFileFolder = @".\Config\ProData\";
private const string m_TriTempFile = "DefaultTriTemplateFile.tpf";
public static string m_ReportMgrParamFile = "\\Config\\SysData\\OTSReportMgrParam.rpf"; //报告对应使用的参数文件名
static RptConfigFile m_config=null;
public static RptConfigFile GetRptConfig()
{
if (m_config == null)
{
m_config = new RptConfigFile();
}
return m_config;
}
private RptConfigFile()
{
path = Application.StartupPath + RptConfigFile.m_ReportMgrParamFile; //报表程序的配置文件
LoadDataFromFile();
}
public void LoadDataFromFile()
{
DataSet ds = XMLoperate.GetXml(path);
var st= GetDataFromDataSetXml(ds, "systype");
if (st == "IncA")
{
this.Systype = OTS_SysType_ID.IncA;
}
else
{
this.Systype = OTS_SysType_ID.CleannessA;
}
this.PartSizeFile = GetDataFromDataSetXml(ds, "name", "PartSizeFile");//ds.Tables[1].Rows[2]["Name"].ToString();
this.TriTempFile = m_TriTempFile;
}
public string GetDataFromDataSetXml(DataSet dataSrc, string propertyName,string memberName="XMLData")//the particular schema of OTS system.such as "...
{
string v = "";
if (memberName == "XMLData")
{
v = dataSrc.Tables[memberName].Rows[0][propertyName].ToString();
}
else
{
var rs = dataSrc.Tables["Member"].Select("RegName= '" + memberName+"'");
v=rs[0][propertyName].ToString();//find the first match row's corresponding property value.
}
return v;
}
///
/// 粒级表目录
///
public string PartSizeFileFolder
{
get { return ConfigFileFolder; }
}
public OTS_SysType_ID Systype
{
get;
set;
}
///
/// 三元相图目录
///
public string TrigTemplateFileFolder
{
get { return ConfigFileFolder; }
}
///
/// 比例因子
///
//public string Scale
//{
// get;
// set;
//}
///
/// 默认使用的粒级文件
///
public string PartSizeFile
{
get;
set;
}
///
/// 默认使用的三元相图模板文件
///
public string TriTempFile
{
get;
set;
}
}
}