using CompressorXN_Log;
using CompressorXN_Model;
using CompressorXN_Model.ViewModel.Response;
using System;
using System.Collections.Generic;
namespace CompressorXN_Service
{
public class AgreementConfigService : DbContext
{
///
/// 查询协议配置
///
///
public List QueryAgreements()
{
try
{
return db.Queryable().Where(m => m.AgreementName != "template").OrderBy(m => m.AgreementName).ToList();
}
catch (Exception ex)
{
LogHelper.Error(ex, "执行AgreementConfigService下QueryAgreements时异常");
return null;
}
}
///
/// 根据协议名称查询协议配置
///
///
///
public T_Agreement_Config QueryAgreementByAgreementName(string agreementName)
{
try
{
return db.Queryable().First(m => m.AgreementName == agreementName);
}
catch (Exception ex)
{
LogHelper.Error(ex, "执行AgreementConfigService下QueryAgreement时异常");
return null;
}
}
///
/// 根据协议名称查询协议配置
///
///
public AgreementVM QueryAgreementByName(string agreementName)
{
try
{
AgreementVM agreementVM = new AgreementVM
{
AgreementConfig = new T_Agreement_Config(),
AgreementDetailRuleList = new List(),
AgreementHelpRuleList = new List(),
AgreementAdditionalRuleList = new List()
};
agreementVM.AgreementConfig = db.Queryable().First(m => m.AgreementName == agreementName);
agreementVM.AgreementDetailRuleList = db.Queryable().Where(m => m.AgreementName == agreementName).ToList();
agreementVM.AgreementHelpRuleList = db.Queryable().Where(m => m.AgreementName == agreementName).OrderBy(m=>m.SortIndex).ToList();
agreementVM.AgreementAdditionalRuleList = db.Queryable().Where(m => m.AgreementName == agreementName).ToList();
return agreementVM;
}
catch (Exception ex)
{
LogHelper.Error(ex, "执行AgreementConfigService下QueryAgreementByName时异常");
return null;
}
}
///
/// 保存协议
///
///
/// 协议名称
///
public bool SaveAgreement(AgreementVM agreementVM, string agreementName)
{
try
{
db.Ado.BeginTran();
db.Deleteable().Where(m => m.AgreementName == agreementName).ExecuteCommand();
db.Deleteable().Where(m => m.AgreementName == agreementName).ExecuteCommand();
db.Deleteable().Where(m => m.AgreementName == agreementName).ExecuteCommand();
db.Deleteable().Where(m => m.AgreementName == agreementName).ExecuteCommand();
db.Insertable(agreementVM.AgreementConfig).ExecuteCommand();
db.Insertable(agreementVM.AgreementDetailRuleList).ExecuteCommand();
db.Insertable(agreementVM.AgreementAdditionalRuleList).ExecuteCommand();
db.Insertable(agreementVM.AgreementHelpRuleList).ExecuteCommand();
db.Ado.CommitTran();
return true;
}
catch (Exception ex)
{
db.Ado.RollbackTran();
LogHelper.Error(ex, "执行AgreementConfigService下SaveAgreement时异常");
return false;
}
}
}
}