26 lines
1.1 KiB
C#
26 lines
1.1 KiB
C#
using SqlSugar;
|
|
|
|
namespace SimpleAdmin.Application;
|
|
|
|
/// <summary>版本盖章配置局部更新,避免覆盖另一个开关、版本状态或历史任务快照。</summary>
|
|
internal static class ContractTemplateVersionSealConfiguration
|
|
{
|
|
internal static IUpdateable<ObContractTemplateVersion> BuildUpdate(
|
|
ISqlSugarClient db,
|
|
OnboardingContractVersionSealInput input)
|
|
{
|
|
if (input.Id <= 0)
|
|
throw Oops.Bah("版本Id不能为空");
|
|
if (!input.CompanySealEnabled.HasValue && !input.AcrossPageSealEnabled.HasValue)
|
|
throw Oops.Bah("请指定需要修改的盖章开关");
|
|
|
|
var update = db.Updateable<ObContractTemplateVersion>()
|
|
.Where(item => item.Id == input.Id);
|
|
if (input.CompanySealEnabled.HasValue)
|
|
update = update.SetColumns(item => item.CompanySealEnabled == input.CompanySealEnabled);
|
|
if (input.AcrossPageSealEnabled.HasValue)
|
|
update = update.SetColumns(item => item.AcrossPageSealEnabled == input.AcrossPageSealEnabled);
|
|
return update;
|
|
}
|
|
}
|