using CnasSynchronousCommon; using CnasSynchrousModel; using System; using System.Collections.Generic; using System.Configuration; using System.IO; using System.Linq; using System.Security.Cryptography; using System.Text; namespace CnasSynchronusClient { public class FileOperation { private static readonly string strLocalConfigPath = FileHelper.getBasePath() + @"\Data\"; private static readonly string strLocalDocumentPath= FileHelper.getBasePath() + @"\Document\"; private static readonly string strInitalPwd = EncryptionOperation.Decrypt(ConfigurationManager.AppSettings["InitalOperationPwd"].ToString(), "NZJXD--CnasClientJXDJXDJ"); private static readonly string strLocalConfigPath_2 = FileHelper.getBasePath() + @"\DataConfig\"; /// /// 从本地读取CNAS数据库连接 /// /// public static DataBaseInfo GetLocalCnasDB() { DataBaseInfo dataBase = new DataBaseInfo(); try { string strLocalFileString = FileHelper.GetLocalFile(strLocalConfigPath, "SyncCnasDataBase.mes"); if (strLocalFileString != "") { string strDncryptString = EncryptionOperation.Decrypt(strLocalFileString, "NZJXD--CnasClientJXDJXDJ"); dataBase = FileHelper.DeserializeToObject(strDncryptString); } } catch (Exception ex) { AppLog.Error(ex.Message); } return dataBase; } /// /// 保存CNAS数据库连接到本地 /// /// /// public static bool SaveLocalCnasDB(DataBaseInfo dataBase) { bool bIfSuccess = true; try { string strString = FileHelper.SerializeToXml(dataBase); string strEncrypString = EncryptionOperation.Encrypt(strString, "NZJXD--CnasClientJXDJXDJ"); bIfSuccess = FileHelper.SaveLocalFile(strLocalConfigPath, "SyncCnasDataBase.mes", strEncrypString); } catch (Exception ex) { AppLog.Error(ex.Message); } return bIfSuccess; } /// /// 从本地读取CNAS数据库连接 /// /// public static DataBaseInfo GetLocalPlatFormDB() { DataBaseInfo dataBase = new DataBaseInfo(); try { string strLocalFileString = FileHelper.GetLocalFile(strLocalConfigPath, "SyncPlatDataBase.mes"); if (strLocalFileString != "") { string strDncryptString = EncryptionOperation.Decrypt(strLocalFileString, "NZJXD--CnasClientJXDJXDJ"); dataBase = FileHelper.DeserializeToObject(strDncryptString); } } catch (Exception ex) { AppLog.Error(ex.Message); } return dataBase; } /// /// 保存CNAS数据库连接到本地 /// /// /// public static bool SaveLocalPlatDB(DataBaseInfo dataBase) { bool bIfSuccess = true; try { string strString = FileHelper.SerializeToXml(dataBase); string strEncrypString = EncryptionOperation.Encrypt(strString, "NZJXD--CnasClientJXDJXDJ"); bIfSuccess = FileHelper.SaveLocalFile(strLocalConfigPath, "SyncPlatDataBase.mes", strEncrypString); } catch (Exception ex) { AppLog.Error(ex.Message); } return bIfSuccess; } /// /// 读取本地操作密码 /// /// public static string GetLocalOperationPwd() { string strPwd = ""; try { string strLocalFileString = FileHelper.GetLocalFile(strLocalConfigPath, "SyncOperationPwd.mes"); if (strLocalFileString != "") { strPwd = EncryptionOperation.Decrypt(strLocalFileString, "NZJXD--CnasClientJXDJXDJ"); if (strPwd == "") strPwd = strInitalPwd; } else //如果没有获取到,认为本地没有符合要求的配置文件,则重新构建一个保存起来 { strPwd = strInitalPwd; SaveLocalOperationPwd(strInitalPwd); } } catch (Exception ex) { strPwd = strInitalPwd; AppLog.Error(ex.Message); } return strPwd; } /// /// 保存操作密码到本地 /// /// /// public static bool SaveLocalOperationPwd(string strPwd) { bool bIfSuccess = true; try { string strEncrypString = EncryptionOperation.Encrypt(strPwd, "NZJXD--CnasClientJXDJXDJ"); bIfSuccess = FileHelper.SaveLocalFile(strLocalConfigPath, "SyncOperationPwd.mes", strEncrypString); } catch (Exception ex) { AppLog.Error(ex.Message); } return bIfSuccess; } /// /// 获得本地保存的仪器相关配置 /// /// public static List GetLocalSyncInStrumentData() { List lstSyncInstrument = new List(); try { string strLocalFileString = FileHelper.GetLocalFile(strLocalConfigPath, "SyncInStrumentData.mes"); if (strLocalFileString != "") { string strDncryptString = EncryptionOperation.Decrypt(strLocalFileString, "NZJXD--CnasClientJXDJXDJ"); lstSyncInstrument = FileHelper.DeserializeToObject>(strDncryptString); } } catch (Exception ex) { AppLog.Error(ex.Message); } return lstSyncInstrument; } public static List GetLocalSyncInStrumentData_NoDecrypt() { List lstSyncInstrument = new List(); try { string strLocalFileString = FileHelper.GetLocalFile(strLocalConfigPath, "SyncInStrumentData.mes"); if(strLocalFileString!="") lstSyncInstrument = FileHelper.DeserializeToObject>(strLocalFileString); } catch (Exception ex) { AppLog.Error(ex.Message); } return lstSyncInstrument; } /// /// 保存仪器配置到本地 /// /// /// public static bool SaveLocalSyncInStrumentData(List lstSyncInstrument) { bool bIfSuccess = true; try { string strString = FileHelper.SerializeToXml>(lstSyncInstrument); string strEncrypString = EncryptionOperation.Encrypt(strString, "NZJXD--CnasClientJXDJXDJ"); bIfSuccess = FileHelper.SaveLocalFile(strLocalConfigPath, "SyncInStrumentData.mes", strEncrypString); } catch (Exception ex) { AppLog.Error(ex.Message); } return bIfSuccess; } /// /// 获取本地存储的天平端字段配置信息 /// /// public static List GetLocalBalanceData() { List lstBalanceData = new List(); try { string strLocalFileString = FileHelper.GetLocalFile(strLocalConfigPath, "SyncBalanceData.mes"); if (strLocalFileString != "") { string strDncryptString = EncryptionOperation.Decrypt(strLocalFileString, "NZJXD--CnasClientJXDJXDJ"); lstBalanceData = FileHelper.DeserializeToObject>(strDncryptString); } } catch (Exception ex) { AppLog.Error(ex.Message); } return lstBalanceData; } public static bool SaveLocalBalanceData(List lstBalanceData) { bool bIfSuccess = true; try { string strString = FileHelper.SerializeToXml>(lstBalanceData); string strEncrypString = EncryptionOperation.Encrypt(strString, "NZJXD--CnasClientJXDJXDJ"); bIfSuccess = FileHelper.SaveLocalFile(strLocalConfigPath, "SyncBalanceData.mes", strEncrypString); } catch (Exception ex) { AppLog.Error(ex.Message); } return bIfSuccess; } //public static AutoFileConfig GetAutoFileConfigData() //{ // AutoFileConfig autoFileConfig = new AutoFileConfig(); // try // { // string strLocalFileString = FileHelper.GetLocalFile(strLocalConfigPath_2, "AutoFileConfig.xml"); // autoFileConfig = FileHelper.DeserializeToObject(strLocalFileString); // } // catch (Exception ex) // { // AppLog.Error(ex.Message); // } // return autoFileConfig; //} public static SystemFormatConfig GetSystemFormatConfigData() { SystemFormatConfig systemFormatConfig = new SystemFormatConfig(); try { string strLocalFileString = FileHelper.GetLocalFile(strLocalConfigPath_2, "SystemFormatConfig.xml"); if(strLocalFileString!="") systemFormatConfig = FileHelper.DeserializeToObject(strLocalFileString); } catch (Exception ex) { AppLog.Error(ex.Message); } return systemFormatConfig; } public static SystemFormatConfig GetSystemFormatConfigData(string strInstrumentCode) { SystemFormatConfig systemFormatConfig = new SystemFormatConfig(); try { string strLocalFileString = FileHelper.GetLocalFile(strLocalConfigPath_2, strInstrumentCode + ".xml"); if (strLocalFileString != "") systemFormatConfig = FileHelper.DeserializeToObject(strLocalFileString); } catch (Exception ex) { AppLog.Error(ex.Message); } return systemFormatConfig; } public static bool SaveSystemFormatConfigData(SystemFormatConfig systemFormatConfig,string FileName) { bool bIfSuccess = false; try { string strString = FileHelper.SerializeToXml(systemFormatConfig); bIfSuccess = FileHelper.SaveLocalFile(strLocalConfigPath_2, FileName+".xml", strString); } catch (Exception ex) { AppLog.Error(ex.Message); } return bIfSuccess; } //public static AutoInstrumentDSView GetAutoInstrumentDSViewData() //{ // AutoInstrumentDSView autoInstrumentDSView = new AutoInstrumentDSView(); // try // { // string strLocalFileString = FileHelper.GetLocalFile(strLocalConfigPath_2, "AutoInstrumentDSViewConfig.xml"); // autoInstrumentDSView = FileHelper.DeserializeToObject(strLocalFileString); // } // catch (Exception ex) // { // AppLog.Error(ex.Message); // } // return autoInstrumentDSView; //} /// /// 获取配置文件信息 /// /// /// /// public static T GetFormatConfigData(string strFileName) { T t ; try { string strLocalFileString = FileHelper.GetLocalFile(strLocalConfigPath_2, strFileName); t = FileHelper.DeserializeToObject(strLocalFileString); return t; } catch (Exception ex) { AppLog.Error(ex.Message); } return default(T); } public static bool SaveFormatConfigData(T t, string strFileName) { bool bIfSuccess = false; try { string strString = FileHelper.SerializeToXml(t); bIfSuccess = FileHelper.SaveLocalFile(strLocalConfigPath_2, strFileName, strString); } catch (Exception ex) { AppLog.Error(ex.Message); } return bIfSuccess; } } }