public override void ProcessParams(IDictionary paramsValues, Dictionary <string, StringBuilder> hashConditions, XDbCommand cmd) { // if (!paramsValues.Contains("ViewAllOrganizations")) { ITUser user = (ITUser)XSecurityManager.Instance.GetCurrentUser(); paramsValues.Add("ViewAllOrganizations", user.HasPrivilege(SystemPrivilegesItem.ViewAllOrganizations.Name)); } }
/// <summary> /// Вызов триггера; метод вызывается Ядром треккера /// </summary> /// <param name="args"></param> /// <param name="context"></param> public override void Execute(XTriggerArgs args, IXExecutionContext context) { // Создаем новый элемент истории папки DomainObjectData xobjHistory = args.DataSet.CreateNew("FolderHistory", true); // Триггер запускается и при удалении объекта - для загрузки информации по // папке могут использоваться данные самого объекта, а если их нет - данные из БД xobjHistory.SetUpdatedPropValue("Folder", args.TriggeredObject.GetPropValueAnyhow( "Folder", DomainObjectDataSetWalkingStrategies.UseUpdatedPropsThanLoadedProps, context.Connection)); xobjHistory.SetUpdatedPropValue("Event", FolderHistoryEvents.DirectionInfoChanging); ITUser user = (ITUser)XSecurityManager.Instance.GetCurrentUser(); xobjHistory.SetUpdatedPropValue("SystemUser", user.SystemUserID); xobjHistory.SetUpdatedPropValue("EventDate", DateTime.Now); }