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()); } }
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()); } }
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()); } }
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()); } }
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); //} }
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(""); } }
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); } }
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()); } }
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()); } }
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(""); } }
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()); } }
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) { } }
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()); } }
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); }
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); }
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(""); } }