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 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);
|
var sceneBo = TransportWarningSceneBO.From(ruleScene);
|
||||||
await _transportWarningHandler.HandleEditAsync(rule, sceneBo, postRuleItems);
|
await _transportWarningHandler.HandleEditAsync(rule, sceneBo, postRuleItems);
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user