コード例 #1
0
        private void AttachEvents(AppManifestBase manifest)
        {
            if (manifest.RemoteEventRegistrationCreators == null || manifest.RemoteEventRegistrationCreators.Count == 0)
            {
                return;
            }
            var manager = new RemoteEventRegistrationManager();

            manager.Notify += Provisioner_Notify;
            manager.CreateEventHandlers(_ctx, _web, manifest.RemoteEventRegistrationCreators, manifest.RemoteHost);
        }
コード例 #2
0
        public void Deprovision(ClientContext ctx, Web web, AppManifestBase manifest)
        {
            Ctx       = ctx;
            Web       = web;
            IsHostWeb = !WebHasAppinstanceId(Web);

            var customActionManager = new CustomActionManager(ctx)
            {
                CustomActions = manifest.CustomActionCreators
            };

            customActionManager.DeleteAll();

            var fileManager = new FileManager
            {
                Folders  = manifest.Folders,
                Creators = manifest.FileCreators
            };

            fileManager.DeleteAll(ctx, web);

            var listManager = new ListInstanceManager(ctx, IsHostWeb)
            {
                Creators = manifest.ListCreators
            };

            listManager.DeleteAll();

            var contentTypeManager = new ContentTypeManager
            {
                Creators = manifest.ContentTypeCreators
            };

            contentTypeManager.DeleteAll(ctx);

            var fieldManager = new FieldManager
            {
                FieldDefinitions = manifest.Fields
            };

            fieldManager.DeleteAll(ctx);

            var remoteEventRegistrationManager = new RemoteEventRegistrationManager();

            remoteEventRegistrationManager.DeleteAll(ctx, web, manifest.RemoteEventRegistrationCreators);
        }