add-validation:补充运输预警规则项目编辑(全量)校验
- 不同项目间不能存在起始和截止都重复的 - 同一项目的起始和截止不允许重复
This commit is contained in:
parent
c662d8e29a
commit
ca35a86407
@ -381,6 +381,20 @@ public class TransportWarningService : ApplicationService
|
||||
}
|
||||
|
||||
var postRuleItems = TransportWarningSceneRuleItemBO.From(input);
|
||||
|
||||
var tuples = postRuleItems.Select(x => (x.StartTrackStatusId, x.EndTrackStatusId)).ToHashSet();
|
||||
// 规则项目间不允许出现起始轨迹和截止轨迹都重复的项目
|
||||
if (tuples.Count < postRuleItems.Count)
|
||||
{
|
||||
throw new BusinessException(message: "不允许出现轨迹状态和终止轨迹状态都重复的规则项目");
|
||||
}
|
||||
|
||||
// 起始和截止不能相同
|
||||
if (tuples.Any(x => x.StartTrackStatusId == x.EndTrackStatusId))
|
||||
{
|
||||
throw new BusinessException(message: "同一规则项目起始轨迹状态和截止轨迹状态不能相同");
|
||||
}
|
||||
|
||||
var sceneBo = TransportWarningSceneBO.From(ruleScene);
|
||||
await _transportWarningHandler.HandleEditAsync(rule, sceneBo, postRuleItems);
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user