public static ComponentTemplateDocumentData GetComponentTemplateData(ILocalClient client, string id) { ComponentTemplateData item = client.Read(id, new ReadOptions()) as ComponentTemplateData; if (item == null) return null; ComponentTemplateDocumentData componentTemplate = new ComponentTemplateDocumentData(); componentTemplate.Title = item.Title; componentTemplate.TemplateType = item.TemplateType; componentTemplate.LinkedSchemas = item.RelatedSchemas.Select(x => new SchemaDocumentData {Title = x.Title}).ToList(); componentTemplate.MetadataSchema = new SchemaDocumentData {Title = item.MetadataSchema.Title}; componentTemplate.OutputFormat = item.OutputFormat; componentTemplate.Priority = item.Priority; componentTemplate.Dynamic = item.DynamicTemplate.ToLower() == "dynamic"; componentTemplate.InlineEditing = item.IsEditable; foreach (TbbInfo tbbInfo in Functions.GetTbbList(item.Content)) { TbbDocumentData tbbDocument = TBBHelper.GetTBBData(client, tbbInfo.TcmId); componentTemplate.TBBs.Add(tbbDocument); } return componentTemplate; }
public static TbbDocumentData GetTBBData(ILocalClient client, string id) { TemplateBuildingBlockData item = client.Read(id, new ReadOptions()) as TemplateBuildingBlockData; if (item == null) return null; TbbDocumentData tbb = new TbbDocumentData(); tbb.Title = item.Title; tbb.TbbType = item.TemplateType; return tbb; }
public static PageTemplateDocumentData GetPageTemplateData(ILocalClient client, string id) { PageTemplateData item = client.Read(id, new ReadOptions()) as PageTemplateData; if (item == null) return null; PageTemplateDocumentData pageTemplate = new PageTemplateDocumentData(); pageTemplate.Title = item.Title; pageTemplate.TemplateType = item.TemplateType; pageTemplate.FileExtension = item.FileExtension; foreach (TbbInfo tbbInfo in Functions.GetTbbList(item.Content)) { TbbDocumentData tbbDocument = TBBHelper.GetTBBData(client, tbbInfo.TcmId); pageTemplate.TBBs.Add(tbbDocument); } return pageTemplate; }
public static SchemaDocumentData GetSchemaData(ILocalClient client, string id) { SchemaData item; SchemaFieldsData schemaFields; try { item = client.Read(id, new ReadOptions()) as SchemaData; schemaFields = client.ReadSchemaFields(id, true, new ReadOptions()); } catch (Exception ex) { throw ex; } SchemaDocumentData schema = new SchemaDocumentData(); schema.Title = item.Title; schema.Description = item.Description; schema.RootElementName = item.RootElementName; schema.NamespaceUri = item.NamespaceUri; schema.LocationInfo = item.LocationInfo.Path; schema.SchemaType = item.Purpose.Value.ToString(); schema.Fields = GetFieldsDescription(schemaFields.Fields); schema.MetadataFields = GetFieldsDescription(schemaFields.MetadataFields); return schema; }
public static bool EnsureValidClient(MappingInfo mapping) { if (Client == null || Client is SessionAwareCoreServiceClient && ((SessionAwareCoreServiceClient)Client).InnerChannel.State == CommunicationState.Faulted) { if (ClientBindingType == BindingType.HttpBinding) Client = GetHttpClient(mapping.Host, mapping.Username, mapping.Password); else Client = GetTcpClient(mapping.Host, mapping.Username, mapping.Password); try { var publications = Client.GetSystemWideListXml(new PublicationsFilterData()); } catch (Exception ex) { WriteErrorLog("Not able to connect to TCM. Check your credentials and try again", ex.StackTrace); Client = null; return false; } } return true; }
public static void ResetClient() { Client = null; }