Вопрос

Остановить сохранение в процессе объекта.

Хочу в процесса объекта на событии Saving (Перед сохранением) в событийном под процессе.

Сверять значение

Entity.GetTypedOldColumnValue<Guid>("Calendar")==Guid.Empty;

И останавливать сохранение. Подскажите что нужно сделать чтобы приостановить сохранение?

У меня такой же вопрос

8 комментариев

Посмотрите этот пост, в котором обсуждается подобная задача.

Так же можно воспользоваться событийным слоем Entity

Алла Савельева пишет:

Посмотрите этот пост, в котором обсуждается подобная задача.

Очень странно есть событие Проверка записи но нет метода для остановки процесса. 

Entity.GetTypedOldColumnValue<Guid>("Calendar")==Guid.Empty

А в чём суть такой проверки? Так, если поле в какой-то момент стало пустое, больше никогда не сможете его заполнить и сохранить запись средствами ESQ.

Зверев Александр пишет:

Entity.GetTypedOldColumnValue<Guid>("Calendar")==Guid.Empty

А в чём суть такой проверки? Так, если поле в какой-то момент стало пустое, больше никогда не сможете его заполнить и сохранить запись средствами ESQ.

Поле календарь обязательно, и используется в расчетах.

При заполнении всех полей в реестре детали и нажатия на кнопку закрыть страницы. Это значение сохраняется пустым. А по нему идет расчет. 

Тогда зачем проверять GetTypedOldColumnValue? Оно же возвращает старое значение, а не нынешнее. Просто проверку обязательности для поля можно включить в дизайнере объекта.

Или же настроить значение по умолчанию и писать туда основной используемый календарь.

Казанцев Андрей Юрьевич пишет:
Поле календарь обязательно, и используется в расчетах.При заполнении всех полей в реестре детали и нажатия на кнопку закрыть страницы. Это значение сохраняется пустым. А по нему идет расчет. 

Вашу задачу, действительно, можно решить одним из вариантов, предложенными выше Александром.

Если все-таки хотите решить эту задачу через сравнение старого и нового значения, то лучше это делать на клиентском, а не на серверном уровне. Посмотрите метод asyncValidate.

Войдите или зарегистрируйтесь, чтобы комментировать