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