예제 #1
0
 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));
     }
 }
예제 #2
0
        /// <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);
        }