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; } } }