Реализовываем функционал блокировки редактирования сделки на листенерах. Используем OnPreUpdate для проверки возможности сохранения ( имеет ли право в данный момент данный пользователь сохранить) и само сохранение OnPostUpdate ( там происходит создание некоторых доп объектов и рассчёты). Попался в доке метод OnPreLoad было бы круто если б он мог позволить не открывать форму редактирования если юзеру нельзя менять сделку в данный момент. Ну или какой-то другой способ запретить открывать форму редактирования если есть какое-то запрещающие условие. Про права доступа пока не можем использовать планируем внедрять позже.
все методы NHibernate относятся к объекту а не к форме, т.е. в нем можно обработать событие загрузки (исхожу из наименования), а не открытия формы редактирования. Обработку редактирования формы имеет смысл делать в обработчике загрузки формы, в котором можно сделать все поля доступными только для чтения если пользователь не имеет права на редактирование. Ну и вывести ему сообщение через form.Notifier о том, что он не имеет прав. Хотя конечно это костыльный весьма метод, лучше с правами разобраться.