You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

108 lines
4.3 KiB
C#

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