private void CheckoutFile(OnCreatingContext <object, DefinitionBase> context)
        {
            var obj     = context.Object;
            var objType = context.Object.GetType();

            if (objType.ToString().Contains("Microsoft.SharePoint.Client.File"))
            {
                obj.CallMethod("CheckOut");
                var spContext = obj.GetPropertyValue("Context");

                spContext.CallMethod("ExecuteQuery");
            }
            else if (objType.ToString().Contains("Microsoft.SharePoint.SPFile"))
            {
                obj.CallMethod(null, m => m.Name == "CheckOut" && m.GetParameters().Count() == 0);
            }
            else
            {
                throw new SPMeta2NotImplementedException(string.Format("CheckoutFile() method is not implemented for type: [{0}]", objType));
            }
        }
        private void UnpublishFile(OnCreatingContext <object, DefinitionBase> context)
        {
            var obj     = context.Object;
            var objType = context.Object.GetType();

            if (objType.ToString().Contains("Microsoft.SharePoint.Client.File"))
            {
                obj.CallMethod("UnPublish", new string[] { "unpublish" });
                var spContext = obj.GetPropertyValue("Context");

                spContext.CallMethod("ExecuteQuery");
            }
            else if (objType.ToString().Contains("Microsoft.SharePoint.SPFile"))
            {
                obj.CallMethod("UnPublish", new string[] { "unpublish" });
            }
            else
            {
                throw new SPMeta2NotImplementedException(string.Format("UnpublishFile() method is not implemented for type: [{0}]", objType));
            }
        }
示例#3
0
        private void DeleteSiteField(OnCreatingContext <object, DefinitionBase> context, Guid fieldId)
        {
            if (context.ModelHost is SPMeta2.SSOM.ModelHosts.SiteModelHost)
            {
                var web   = (context.ModelHost as SPMeta2.SSOM.ModelHosts.SiteModelHost).HostSite.RootWeb;
                var field = web.Fields[fieldId];

                field.AllowDeletion = true;
                field.ReadOnlyField = false;
                field.Sealed        = false;
                field.Update(true);

                field.Delete();
                web.Update();
            }

            if (context.ModelHost is SPMeta2.CSOM.ModelHosts.SiteModelHost)
            {
                var web   = (context.ModelHost as SPMeta2.CSOM.ModelHosts.SiteModelHost).HostSite.RootWeb;
                var field = web.Fields.GetById(fieldId);

                field.DeleteObject();
            }
        }
        private void DeleteSiteField(OnCreatingContext<object, DefinitionBase> context, Guid fieldId)
        {
            if (context.ModelHost is SPMeta2.SSOM.ModelHosts.SiteModelHost)
            {
                var web = (context.ModelHost as SPMeta2.SSOM.ModelHosts.SiteModelHost).HostSite.RootWeb;
                var field = web.Fields[fieldId];

                field.AllowDeletion = true;
                field.ReadOnlyField = false;
                field.Sealed = false;
                field.Update(true);

                field.Delete();
                web.Update();
            }

            if (context.ModelHost is SPMeta2.CSOM.ModelHosts.SiteModelHost)
            {
                var web = (context.ModelHost as SPMeta2.CSOM.ModelHosts.SiteModelHost).HostSite.RootWeb;
                var field = web.Fields.GetById(fieldId);

                field.DeleteObject();
            }
        }
示例#5
0
        private string ExtractFieldTitleFromObject(OnCreatingContext <object, DefinitionBase> context)
        {
            var obj = context.Object;

            return(obj.GetPropertyValue("Title") as string);
        }
        private void UnpublishFile(OnCreatingContext<object, DefinitionBase> context)
        {
            var obj = context.Object;
            var objType = context.Object.GetType();

            if (objType.ToString().Contains("Microsoft.SharePoint.Client.File"))
            {
                obj.CallMethod("UnPublish", new string[] { "unpublish" });
                var spContext = obj.GetPropertyValue("Context");

                spContext.CallMethod("ExecuteQuery");
            }
            else if (objType.ToString().Contains("Microsoft.SharePoint.SPFile"))
            {
                obj.CallMethod("UnPublish", new string[] { "unpublish" });
            }
            else
            {
                throw new SPMeta2NotImplementedException(string.Format("UnpublishFile() method is not implemented for type: [{0}]", objType));
            }
        }
        private void CheckoutFile(OnCreatingContext<object, DefinitionBase> context)
        {
            var obj = context.Object;
            var objType = context.Object.GetType();

            if (objType.ToString().Contains("Microsoft.SharePoint.Client.File"))
            {
                obj.CallMethod("CheckOut");
                var spContext = obj.GetPropertyValue("Context");

                spContext.CallMethod("ExecuteQuery");
            }
            else if (objType.ToString().Contains("Microsoft.SharePoint.SPFile"))
            {
                obj.CallMethod(null, m => m.Name == "CheckOut" && m.GetParameters().Count() == 0);
            }
            else
            {
                throw new SPMeta2NotImplementedException(string.Format("CheckoutFile() method is not implemented for type: [{0}]", objType));
            }
        }