using SqlSugar; namespace SimpleAdmin.Application; /// 版本盖章配置局部更新,避免覆盖另一个开关、版本状态或历史任务快照。 internal static class ContractTemplateVersionSealConfiguration { internal static IUpdateable 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() .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; } }