Это не совсем правило перехода, я бы назвал это проверкой возможности перехода. Эти правила вызываются перед сменой статуса, если одно из них отменило переход, то смена статуса отменяется.
Создается оно следующим образом:
- Реализуется интерфейс IRuleChangeStatus
- Ему указывается уникальный идентификатор в свойстве Id, например, nameof(MyCustomRule)
- Указывается TypeId - это тип сущности, для которой будет выполняться правило. Тип можно получить из сервиса IStateProvider.GetStatefulEntityInfo(typeof(MyStatefulEntity)).TypeId или указать его как typeof(MyStatefulEntity).FullName.ToLower()
- В методе Validate реализовывается логика проверки
- Регистрируется правило в контейнере Container.RegisterTransient<IRuleChangeStatus, MyCustomRule>();
2 Лайков
Зарегистрировал в контейнере и сделал остальные предписания, но правило так и отображается. В чем может быть проблема?
По вашему вопросу поставлена задача https://jira.bars.group/browse/BARSUP-1554.
Ответьте в ней на вопрос в комментарии, чтобы мы могли посмотреть вашу ошибку.