コード例 #1
0
 public override void Execute(Guid targetInstanceId)
 {
     SPSecurity.RunWithElevatedPrivileges(delegate()
     {
         SSRSSyncQueueAgent.EnequeuPFEJobAllSiteCollections(Parent as SPWebApplication);
     });
 }
コード例 #2
0
        public override void ItemAdded(SPItemEventProperties properties)
        {
            base.ItemAdded(properties);
            EventFiringEnabled = false;
            ProcessDataSourceCredentials(properties);
            properties.ListItem["Synchronized"] = false;
            properties.ListItem.SystemUpdate(false);
            EventFiringEnabled = true;

            SSRSSyncQueueAgent.EnequePFEJobSingleSiteCollection(properties.Site.WebApplication, properties.Site);
        }
コード例 #3
0
        public override void GroupUserAdded(SPSecurityEventProperties properties)
        {
            base.GroupUserAdded(properties);
            var group = properties.Web.Groups.GetByID(properties.GroupId);

            if (group.Name == "Report Viewers" || group.Name == "Administrators")
            {
                var addedUser    = properties.Web.AllUsers.GetByID(properties.GroupUserId);
                var extendedList = properties.Web.SiteUserInfoList.Items.GetItemById(addedUser.ID);
                extendedList["Synchronized"] = false;
                extendedList.Update();
                SSRSSyncQueueAgent.EnequePFEJobSingleSiteCollection(properties.Web.Site.WebApplication, properties.Web.Site);
            }
        }
コード例 #4
0
        /// <summary>
        /// An item was updated.
        /// </summary>
        public override void ItemUpdated(SPItemEventProperties properties)
        {
            base.ItemUpdated(properties);

            EventFiringEnabled = false;
            ProcessDataSourceCredentials(properties);
            if (Convert.ToBoolean(properties.ListItem["Synchronized"]) == false || (Convert.ToBoolean(properties.ListItem["Synchronized"]) == true &&
                                                                                    string.IsNullOrEmpty(Convert.ToString(properties.ListItem["UpdatedBy"]))))
            {
                properties.ListItem["Synchronized"] = false;
                properties.ListItem["UpdatedBy"]    = null;
                properties.ListItem.SystemUpdate(false);
                SSRSSyncQueueAgent.EnequePFEJobSingleSiteCollection(properties.Site.WebApplication, properties.Site);
            }
            else
            {
                properties.ListItem["UpdatedBy"] = null;
                properties.ListItem.SystemUpdate(false);
            }
            EventFiringEnabled = true;
        }