Example #1
0
        /// <summary>
        /// Create Site Columns using field xml declaration
        /// </summary>
        public static void CreateSiteColumns(ClientContext clientContext, string[] fieldXMLDefinations)
        {
            var fields = clientContext.Web.Fields;

            foreach (string fieldXML in fieldXMLDefinations)
            {
                Regex matchGuid = new Regex("{\\S*}");
                var   match     = matchGuid.Match(fieldXML);
                if (match.Success)
                {
                    var fieldID = new Guid(match.Value);

                    var field = CSOMUtil.GetFieldById(clientContext, fieldID);

                    // Check if the field exists
                    if (field == null)
                    {
                        clientContext.Web.Fields.AddFieldAsXml(fieldXML, true, AddFieldOptions.AddFieldInternalNameHint);
                        clientContext.ExecuteQuery();
                    }
                }
            }
        }
Example #2
0
        /// <summary>
        /// Remove Site Columns
        /// </summary>
        public static void RemoveSiteColumns(ClientContext clientContext, string[] fieldXMLDefinations)
        {
            var fields = clientContext.Web.Fields;

            foreach (string fieldXML in fieldXMLDefinations)
            {
                Regex matchGuid = new Regex("{\\S*}");
                var   match     = matchGuid.Match(fieldXML);
                if (match.Success)
                {
                    var fieldID = new Guid(match.Value);

                    var field = CSOMUtil.GetFieldById(clientContext, fieldID);

                    // Check if the field exists
                    // and can be deleted
                    if (field != null && field.CanBeDeleted)
                    {
                        field.DeleteObject();
                        clientContext.ExecuteQuery();
                    }
                }
            }
        }