Example #1
0
        public string GetPublicationList()
        {
            string xmlOrJson = "xml";

            try
            {
                coreService = CoreServiceFactory.GetCoreServiceContext(new Uri(ConfigurationManager.AppSettings["CoreServiceURL"].ToString()), new NetworkCredential(ConfigurationManager.AppSettings["UserName"].ToString(), ConfigurationManager.AppSettings["Password"].ToString(), ConfigurationManager.AppSettings["Domain"].ToString()));
                string                 output          = string.Empty;
                XmlDocument            publicationList = new XmlDocument();
                PublicationsFilterData filter          = new PublicationsFilterData();
                XElement               publications    = coreService.Client.GetSystemWideListXml(filter);
                publicationList.Load(publications.CreateReader());
                if (xmlOrJson.ToString().ToLower() == "json")
                {
                    output = JsonConvert.SerializeObject(publicationList);
                }
                else
                {
                    output = publicationList.InnerXml.ToString();
                }
                return(output);
            }


            catch (Exception ex)
            {
                return(ex.Message.ToString());
            }
        }
Example #2
0
        public string getSchemaByTcm(string tcmuri)
        {
            string xmljson = "XML";

            try
            {
                string output = string.Empty;
                coreService = CoreServiceFactory.GetCoreServiceContext(new Uri(ConfigurationManager.AppSettings["CoreServiceURL"].ToString()), new NetworkCredential(ConfigurationManager.AppSettings["UserName"].ToString(), ConfigurationManager.AppSettings["Password"].ToString(), ConfigurationManager.AppSettings["Domain"].ToString()));

                SchemaFieldsData schemaFieldsData = coreService.Client.ReadSchemaFields("tcm:" + tcmuri, false, null);
                if (xmljson.ToString().ToLower() == "json")
                {
                    output = JsonConvert.SerializeObject(schemaFieldsData);
                }
                else
                {
                    output = JsonConvert.SerializeObject(schemaFieldsData);
                    XmlDocument doc = new XmlDocument();

                    using (var reader = JsonReaderWriterFactory.CreateJsonReader(Encoding.UTF8.GetBytes(output), XmlDictionaryReaderQuotas.Max))
                    {
                        XElement xml = XElement.Load(reader);
                        doc.LoadXml(xml.ToString());
                    }
                    output = doc.InnerXml.ToString();
                }
                return(output);// xmljson.ToString().ToLower() == "json" ? ConvertTojson.ConvertXmlToJson(schemasXml.ToString()) : schemasXml.ToString();
            }
            catch (Exception ex)
            {
                return(ex.Message.ToString());
            }
        }
Example #3
0
        public string GetMultimediaComponentByPubID(string tcmuri)
        {
            string xmlOrJson = "xml";

            try
            {
                coreService = CoreServiceFactory.GetCoreServiceContext(new Uri(ConfigurationManager.AppSettings["CoreServiceURL"].ToString()), new NetworkCredential(ConfigurationManager.AppSettings["UserName"].ToString(), ConfigurationManager.AppSettings["Password"].ToString(), ConfigurationManager.AppSettings["Domain"].ToString()));
                string output = string.Empty;

                var filter = new RepositoryItemsFilterData();
                filter.ItemTypes      = new ItemType[] { ItemType.Component };
                filter.ComponentTypes = new ComponentType[] { ComponentType.Multimedia };

                filter.Recursive = true;
                var listXml = coreService.Client.GetListXml("tcm:" + tcmuri, filter);
                if (xmlOrJson.ToString().ToLower() == "json")
                {
                    output = JsonConvert.SerializeObject(listXml);
                }
                else
                {
                    output = listXml.ToString();
                }

                return(output);
            }


            catch (Exception ex)
            {
                return(ex.Message.ToString());
            }
        }
Example #4
0
        public string GetAllCategoriesWithInPubByTcmUri(string tcmuri)
        {
            string xmljson = "xml";

            try
            {
                string output = string.Empty;
                coreService = CoreServiceFactory.GetCoreServiceContext(new Uri(ConfigurationManager.AppSettings["CoreServiceURL"].ToString()), new NetworkCredential(ConfigurationManager.AppSettings["UserName"].ToString(), ConfigurationManager.AppSettings["Password"].ToString(), ConfigurationManager.AppSettings["Domain"].ToString()));

                var componentData = coreService.Client.GetList("tcm:" + tcmuri, new CategoriesFilterData()); //TridionComponent.GetAllCategoriesWithInPubByTcmUri(coreService, tcmuri);
                if (xmljson.ToString().ToLower() == "json")
                {
                    output = JsonConvert.SerializeObject(componentData);
                }
                else
                {
                    output = JsonConvert.SerializeObject(componentData);
                    XmlDocument doc = new XmlDocument();

                    using (var reader = JsonReaderWriterFactory.CreateJsonReader(Encoding.UTF8.GetBytes(output), XmlDictionaryReaderQuotas.Max))
                    {
                        XElement xml = XElement.Load(reader);
                        doc.LoadXml(xml.ToString());
                    }
                    output = doc.InnerXml.ToString();
                }
                return(output);
            }


            catch (Exception ex)
            {
                return(ex.Message.ToString());
            }
        }
Example #5
0
        static void Main(string[] args)
        {
            //Read data from SF
            Console.WriteLine("Please enter 1 to connect With SF And Write Data In Tridion");
            int input = int.Parse(Console.ReadLine());

            coreService = CoreServiceFactory.GetCoreServiceContext(new Uri(ConfigurationManager.AppSettings["CoreServiceURL"].ToString()), new NetworkCredential(ConfigurationManager.AppSettings["cmsUserName"].ToString(), ConfigurationManager.AppSettings["cmsPassword"].ToString(), ConfigurationManager.AppSettings["cmsDomain"].ToString()));

            if (input == 1)
            {
                List <Lead> leadList = SFConnect.connectWithSFAndWriteDataInTridion();
                WriteDataInTridion.createDataInTridion(coreService, ConfigurationManager.AppSettings["SchemaID"].ToString(), leadList);
            }
            else
            {
                List <Lead> leadList = ReadDataFromTridion.getLeadList(coreService);
                SFConnect.connectWithTridionAndWriteDataInSF(leadList);
            }



            //Create a new record
            //if (true)
            //{
            //    coreService = CoreServiceFactory.GetCoreServiceContext(new Uri(ConfigurationManager.AppSettings["CoreServiceURL"].ToString()), new NetworkCredential(ConfigurationManager.AppSettings["cmsUserName"].ToString(), ConfigurationManager.AppSettings["cmsPassword"].ToString(), ConfigurationManager.AppSettings["cmsDomain"].ToString()));
            //    List<Lead> leadList = ReadDataFromTridion.getLeadList(coreService);
            //    SFConnect.connectWithSFAndWriteData(leadList);
            //}
        }
Example #6
0
        public static string GenerateComponent(ICoreServiceFrameworkContext coreService, string xml, string schemaID, helper.SchemaType schemaType, string folderUri, string ext_Id, string ext_Name)
        {
            try
            {
                string          Title        = string.Empty;
                string          Tcmuri       = string.Empty;
                string          ReturnTcmuri = string.Empty;
                SearchQueryData filter       = new SearchQueryData();
                filter.FullTextQuery = "title";
                filter.ItemTypes     = new ItemType[] { ItemType.Component };

                BasedOnSchemaData basedSchema = new BasedOnSchemaData();
                basedSchema.Schema = new LinkToSchemaData()
                {
                    IdRef = schemaID
                };
                basedSchema.Field      = "title";
                basedSchema.FieldValue = ext_Id;


                filter.BasedOnSchemas = new BasedOnSchemaData[] { basedSchema };
                XElement results = coreService.Client.GetSearchResultsXml(filter);
                for (IEnumerator <XElement> e = results.Descendants().GetEnumerator(); e.MoveNext();)
                {
                    Title  = e.Current.Attribute(XName.Get("Title")).Value;
                    Tcmuri = e.Current.FirstAttribute.Value != null ? e.Current.FirstAttribute.Value : null;
                }
                Title = Title != string.Empty ? Title : ext_Name;
                ComponentData componentData = GetNewComponent(folderUri, schemaID, schemaType, Title);

                componentData.ComponentType = ComponentType.Normal;
                SchemaData sd = coreService.Client.Read(schemaID, null) as SchemaData;

                var content = XElement.Parse(xml);
                var xmlns   = UpdateNodesWithDefaultNamespace(content.ToString(), "xmlns=" + "\"" + @"" + sd.NamespaceUri.ToString() + @"""");

                componentData.Content = xmlns.ToString().Replace("Article", "Content");
                TridionObjectInfo tridionObjectInfo = helper.GetTridionObject(coreService, ItemType.Component, folderUri, Title);
                if (tridionObjectInfo.TcmUri != null)
                {
                    componentData.Id = tridionObjectInfo.TcmUri;
                    var data = (ComponentData)coreService.Client.Read(tridionObjectInfo.TcmUri, new ReadOptions());
                    componentData = (ComponentData)coreService.Client.Update(componentData, new ReadOptions());

                    ReturnTcmuri = componentData.Id.ToString();
                }
                else
                {
                    componentData = (ComponentData)coreService.Client.Create(componentData, new ReadOptions());

                    ReturnTcmuri = componentData.Id.ToString();
                }
                return(ReturnTcmuri);
            }
            catch (Exception ex)
            {
                return("");
            }
        }
Example #7
0
 public static Fields GetComponentSchemaFields(ICoreServiceFrameworkContext coreService, string schemaID, EnumType.FieldType fieldType)
 {
     try
     {
         SchemaFieldsData schemaFieldData = coreService.Client.ReadSchemaFields(schemaID, true, new ReadOptions());
         return(fieldType == EnumType.FieldType.Component ? Fields.ForContentOf(schemaFieldData)
                                                              : Fields.ForMetadataOf(schemaFieldData));
     }
     catch (Exception ex)
     {
         return(null);
     }
 }
Example #8
0
        public string getComponentByTcm(string tcmuri)
        {
            try
            {
                coreService = CoreServiceFactory.GetCoreServiceContext(new Uri(ConfigurationManager.AppSettings["CoreServiceURL"].ToString()), new NetworkCredential(ConfigurationManager.AppSettings["UserName"].ToString(), ConfigurationManager.AppSettings["Password"].ToString(), ConfigurationManager.AppSettings["Domain"].ToString()));
                var component = coreService.Client.Read("tcm:" + tcmuri, null) as ComponentData;
                return(component.Content.ToString());
            }


            catch (Exception ex)
            {
                return(ex.Message.ToString());
            }
        }
Example #9
0
 public string GetListOfAllFolder(string tcmuri)
 {
     try
     {
         coreService = CoreServiceFactory.GetCoreServiceContext(new Uri(ConfigurationManager.AppSettings["CoreServiceURL"].ToString()), new NetworkCredential(ConfigurationManager.AppSettings["UserName"].ToString(), ConfigurationManager.AppSettings["Password"].ToString(), ConfigurationManager.AppSettings["Domain"].ToString()));
         string output        = string.Empty;
         var    rootFolderUri = "tcm:" + tcmuri;
         OrganizationalItemItemsFilterData filter = new OrganizationalItemItemsFilterData();
         var listXml = coreService.Client.GetListXml(rootFolderUri, filter);
         return(listXml.ToString());
     }
     catch (Exception ex)
     {
         return(ex.Message.ToString());
     }
 }
Example #10
0
 public static void createDataInTridion(ICoreServiceFrameworkContext coreService, string SchemaId, List <Lead> leadFromSF)
 {
     try
     {
         foreach (var item in leadFromSF)
         {
             string serializeXml = "";
             bool   bln          = DataTransformation.Serialize <Lead>(item, ref serializeXml);
             string xml          = serializeXml;
             string tcmuri       = TridionComponent.GenerateComponent(coreService, xml, SetPublication.Publication(ConfigurationManager.AppSettings["FolderLocation"].ToString(), SchemaId), EnumType.SchemaType.Component, ConfigurationManager.AppSettings["FolderLocation"].ToString(), item.FName.Text + " " + item.LName.Text, item.FName.Text + " " + item.LName.Text);
         }
     }
     catch (Exception ex)
     {
         throw;
     }
 }
        /// <summary>
        /// Create Keyword using KeywordData class
        /// </summary>
        /// <param name="coreService"></param>
        /// <param name="value"></param>
        /// <param name="key"></param>
        /// <param name="CategoryID"></param>
        /// <returns></returns>
        public static string GenerateKeyword(ICoreServiceFrameworkContext coreService, string value, string key, string CategoryID)
        {
            try
            {
                KeywordData keyword = (KeywordData)coreService.Client.GetDefaultData(ItemType.Keyword, CategoryID, new ReadOptions());
                keyword.Id    = "tcm:0-0-0";
                keyword.Title = value;
                keyword.Key   = key;

                keyword = (KeywordData)coreService.Client.Create(keyword, new ReadOptions());

                return(keyword.Id.ToString());
            }
            catch (Exception ex)
            {
                return("");
            }
        }
Example #12
0
        public string GetKeywordByCategory(string tcmuri)
        {
            string xmljson = "xml";

            try
            {
                coreService = CoreServiceFactory.GetCoreServiceContext(new Uri(ConfigurationManager.AppSettings["CoreServiceURL"].ToString()), new NetworkCredential(ConfigurationManager.AppSettings["UserName"].ToString(), ConfigurationManager.AppSettings["Password"].ToString(), ConfigurationManager.AppSettings["Domain"].ToString()));
                var filter   = new OrganizationalItemItemsFilterData();
                var category = "tcm:" + tcmuri;
                var keywords = coreService.Client.GetListXml(category, filter);

                return(xmljson.ToString().ToLower() == "json" ? JsonConvert.SerializeObject(keywords) : keywords.ToString());
            }
            catch (Exception ex)
            {
                return(ex.Message.ToString());
            }
        }
Example #13
0
        public string GetComponentTemplateByPubID(string tcmuri)
        {
            string xmljson = "xml";

            try
            {
                coreService = CoreServiceFactory.GetCoreServiceContext(new Uri(ConfigurationManager.AppSettings["CoreServiceURL"].ToString()), new NetworkCredential(ConfigurationManager.AppSettings["UserName"].ToString(), ConfigurationManager.AppSettings["Password"].ToString(), ConfigurationManager.AppSettings["Domain"].ToString()));

                var filter = new RepositoryItemsFilterData();
                filter.ItemTypes = new[] { ItemType.ComponentTemplate, };
                filter.Recursive = true;
                var listXml = coreService.Client.GetListXml("tcm:" + tcmuri, filter);
                return(xmljson.ToLower() == "json" ? JsonConvert.SerializeObject(listXml) : listXml.ToString());
            }
            catch (Exception ex)
            {
                return(ex.Message.ToString());
            }
        }
        public static void Publish(string targetTcmId, string targets, ICoreServiceFrameworkContext coreService)
        {
            var pubData = new PublishInstructionData
            {
                ResolveInstruction = new ResolveInstructionData()
                {
                    IncludeChildPublications = false
                },
                RenderInstruction = new RenderInstructionData()
            };


            //get the component info
            var component   = coreService.Client.Read(targetTcmId, null) as ComponentData;
            var componentId = component.Id;

            //strip out the version number if it contains onercmd
            if (component.Id.Contains("v"))
            {
                componentId = component.Id.Substring(0, component.Id.LastIndexOf('-'));
            }

            //publish to the target supplied into this method on low priority
            try
            {
                string[] pubid      = ConfigurationManager.AppSettings["PublicationID"].ToString().Split(',');
                string[] pubtargets = targets.ToString().Split(',');
                foreach (var item in pubid)
                {
                    string componentIdTcm = componentId.Substring(componentId.IndexOf("tcm:"), componentId.IndexOf("-"));
                    string publicationid  = "tcm:" + item;
                    foreach (var target in pubtargets)
                    {
                        coreService.Client.Publish(new[] { componentId.Replace(componentIdTcm, publicationid) }, pubData, new[] { target.ToString() }, PublishPriority.High, null);
                    }
                }
            }
            catch (Exception ex)
            {
            }
        }
Example #15
0
        public string GetUserList()
        {
            string xmlOrJson = "xml";

            try
            {
                coreService = CoreServiceFactory.GetCoreServiceContext(new Uri(ConfigurationManager.AppSettings["CoreServiceURL"].ToString()), new NetworkCredential(ConfigurationManager.AppSettings["UserName"].ToString(), ConfigurationManager.AppSettings["Password"].ToString(), ConfigurationManager.AppSettings["Domain"].ToString()));
                string output  = string.Empty;
                var    listXml = coreService.Client.GetSystemWideListXml(new UsersFilterData {
                    BaseColumns = ListBaseColumns.IdAndTitle, IsPredefined = false
                });
                XmlDocument doc = new XmlDocument();
                doc.LoadXml(listXml.ToString());
                output = xmlOrJson.ToString().ToLower() == "json" ? JsonConvert.SerializeObject(doc) : doc.ToString();
                return(doc.InnerXml);
            }
            catch (Exception ex)
            {
                return(ex.Message.ToString());
            }
        }
Example #16
0
        public static List <Lead> getLeadList(ICoreServiceFrameworkContext coreService)
        {
            SchemaFieldsData     schemaFieldData = coreService.Client.ReadSchemaFields(ConfigurationManager.AppSettings["SchemaID"].ToString(), true, new ReadOptions());
            UsingItemsFilterData f = new UsingItemsFilterData {
                ItemTypes = new[] { ItemType.Component }
            };

            IdentifiableObjectData[] items = coreService.Client.GetList(ConfigurationManager.AppSettings["SchemaID"].ToString(), f);
            List <Lead> newLeadList        = new List <Lead>();
            XmlDocument Xdoc = new XmlDocument();

            foreach (var item in items)
            {
                Lead          _lead     = new Lead();
                ComponentData component = (ComponentData)coreService.Client.Read(item.Id, new ReadOptions());
                Xdoc.LoadXml(component.Content);
                _lead = DataTransformation.Deserialize <Lead>(Xdoc);
                newLeadList.Add(_lead);
                //Do something
            }
            return(newLeadList);
        }
Example #17
0
        public static TridionObjectInfo GetTridionObject(ICoreServiceFrameworkContext coreService, ItemType itemtype, string parentTcmUri, string searchtext)
        {
            TridionObjectInfo tridionObjectInfo = new TridionObjectInfo();

            try
            {
                IdentifiableObjectData tridionObject = null;
                var filter = new OrganizationalItemItemsFilterData
                {
                    Recursive = true,
                    ItemTypes = new ItemType[] { itemtype }
                };
                var pageList = coreService.Client.GetListXml(parentTcmUri, filter);

                int objectCount = (from e in pageList.Elements()
                                   where e.Attribute("Title").Value.ToLower().Equals(searchtext.ToLower()) || e.Attribute("ID").Value.ToLower() == searchtext.ToLower()
                                   select e.Attribute("ID").Value).Count();

                tridionObjectInfo.ObjectCount = objectCount;
                if (objectCount > 0)
                {
                    var objectUri = (from e in pageList.Elements()
                                     where e.Attribute("Title").Value.ToLower().Equals(searchtext.ToLower()) || e.Attribute("ID").Value.ToLower() == searchtext.ToLower()
                                     select e.Attribute("ID").Value).First();

                    tridionObject = coreService.Client.Read(objectUri, new ReadOptions
                    {
                        LoadFlags = LoadFlags.None
                    });
                    tridionObjectInfo.TridionObject = tridionObject;
                    tridionObjectInfo.TcmUri        = objectUri;
                }
            }
            catch (Exception ex)
            {
            }
            return(tridionObjectInfo);
        }
Example #18
0
 public static void process(List <News> DataFromExchange)
 {
     try
     {
         coreService = CoreServiceFactory.GetCoreServiceContext(new Uri(ConfigurationSettings.AppSettings["CoreServiceURL"].ToString()), new NetworkCredential(ConfigurationSettings.AppSettings["UserName"].ToString(), ConfigurationSettings.AppSettings["Password"].ToString(), ConfigurationSettings.AppSettings["Domain"].ToString()));
         SchemaFieldsData schemaFieldData = coreService.Client.ReadSchemaFields(ConfigurationSettings.AppSettings["SchemaID"].ToString(), true, new ReadOptions());
         foreach (News p in DataFromExchange)
         {
             string serializeXml = "";
             bool   bln          = helper.helper.Serialize <News>(p, ref serializeXml);
             string xml          = serializeXml;
             var    tcmuri       = TridionComponent.GenerateComponent(coreService, xml, helper.helper.SetPublication(ConfigurationSettings.AppSettings["FolderLocation"].ToString(), ConfigurationSettings.AppSettings["SchemaID"].ToString()), helper.helper.SchemaType.Component, ConfigurationSettings.AppSettings["FolderLocation"].ToString(), p.title, p.title);
             if (p.IsPublish.ToLower() == "true")
             {
                 TridionComponent.Publish(tcmuri, ConfigurationSettings.AppSettings["PublicationTargetIDs"].ToString(), coreService);
             }
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        public static string GenerateComponent(ICoreServiceFrameworkContext coreService, string xml, string schemaID, EnumType.SchemaType schemaType, string folderUri, string title, string ext_Name)
        {
            try
            {
                string          Title  = string.Empty;
                string          Tcmuri = string.Empty;
                SearchQueryData filter = new SearchQueryData();
                filter.FullTextQuery = "title";
                filter.ItemTypes     = new ItemType[] { ItemType.Component };

                BasedOnSchemaData basedSchema = new BasedOnSchemaData();
                basedSchema.Schema = new LinkToSchemaData()
                {
                    IdRef = schemaID
                };
                basedSchema.Field      = "title";
                basedSchema.FieldValue = title;


                filter.BasedOnSchemas = new BasedOnSchemaData[] { basedSchema };
                XElement results = coreService.Client.GetSearchResultsXml(filter);
                for (IEnumerator <XElement> e = results.Descendants().GetEnumerator(); e.MoveNext();)
                {
                    Title  = e.Current.Attribute(XName.Get("Title")).Value;
                    Tcmuri = e.Current.FirstAttribute.Value != null ? e.Current.FirstAttribute.Value : null;
                }
                Title = Title != string.Empty ? Title : title;
                ComponentData componentData = GetNewComponent(folderUri, schemaID, schemaType, Title);



                componentData.ComponentType = ComponentType.Normal;
                SchemaData sd = coreService.Client.Read(schemaID, null) as SchemaData;

                var content = XElement.Parse(xml);
                var xmlns   = content;//UpdateNodesWithDefaultNamespace(content.ToString(), "xmlns=" + "\"" + @"" + sd.NamespaceUri.ToString() + @"""");

                componentData.Content = xmlns.ToString();


                TridionObjectInfo tridionObjectInfo = Helper.GetTridionObject(coreService, ItemType.Component, folderUri, Title);
                if (tridionObjectInfo.TcmUri != null)
                {
                    componentData.Id = tridionObjectInfo.TcmUri;
                    componentData    = (ComponentData)(coreService.Client.SynchronizeWithSchema(
                                                           componentData,
                                                           new SynchronizeOptions
                    {
                        SynchronizeFlags = SynchronizeFlags.All
                    }
                                                           ).SynchronizedItem);
                    //var data = (ComponentData)coreService.Client.Read(tridionObjectInfo.TcmUri, new ReadOptions());
                    // var component = (ComponentData)coreService.Client.Read(tridionObjectInfo.TcmUri, new ReadOptions());
                    //SchemaFieldsData schemaFieldData = coreService.Client.ReadSchemaFields(schemaID, true, new ReadOptions());
                    //Fields fields = Fields.ForContentOf(schemaFieldData);
                    //fields = Fields.ForMetadataOf(schemaFieldData, data);
                    //fields["title"].Value = "Value of MetadataField";
                    //fields["para"]["subheading"].Value = "Value of MetadataField";
                    //componentData.Metadata = fields.ToString();
                    componentData = (ComponentData)coreService.Client.Update(componentData, new ReadOptions());
                }
                else
                {
                    componentData = (ComponentData)(coreService.Client.SynchronizeWithSchema(
                                                        componentData,
                                                        new SynchronizeOptions
                    {
                        SynchronizeFlags = SynchronizeFlags.All
                    }
                                                        ).SynchronizedItem);
                    componentData = (ComponentData)coreService.Client.Create(componentData, new ReadOptions());
                }
                return(componentData.Id.ToString());
            }
            catch (Exception ex)
            {
                return("");
            }
        }