Здравствуйте , есть несколько объектов Entity (родитель Базовый Объект) в которых есть каскадное \ связанное обновление реализованное на событиях. Скажите можно ли инициализировать изменения в одном из них, так чтобы для низ лежащих не проверялись права для того кто инициировал изменение в родителе.
Или вообще инициировать изменение или сохранение объекта Entity из под другого логина например?.
Права на объекты настроены на уровне записей.
Предметно:
Есть лист согласования который согласует заявление на отпуск, в котором должны поставить визы руководители и отдел кадров. У заявление на отпуск в детали есть записи указанных дней отпуска (Персональные дни), для каждого сотрудника (Контакт). В этих днях, есть кол-во использованных дней, которое по закрытие заявления рассчитываются. Права на изменение и добавление есть у отдела кадров, у сотрудника только на чтение, для того чтобы формировать заявление. Если лист согласование завизирван всеми участниками успешно то меняется заявление (изменяет состояние), и далее заявление на уровне объект (Entity) меняет те дни которые указанны в детали. И получается: чтобы всё прошло успешно - необходимо выдавать права на изменение на всё это хозяйство - всем кто должен подписать отпуск. Что не есть хорошо.
пример изменения по событие в entity
if (daysCount == daysUsed && (daysUsed > 0)) {
Entity.SetColumnValue("FreeDayStatusId", Terrasoft.Configuration.FreeDayStatusConst.used);
}
Я понимаю можно было написать update, или сделать на уровне SQL Server триггером, в первом случае придется воротить много одинаковых update со всех мест которые меняют объекты, во втором нагрузка на БД а не на IIS и условия изменения в данных не позволяют использовать триггер бд.