Пример #1
0
        public static TemplateInfo GetTemplateInfo(int publishmentSystemID, int nodeID, ETemplateType templateType)
        {
            var templateID = 0;

            if (templateType == ETemplateType.IndexPageTemplate)
            {
                templateID = GetDefaultTemplateID(publishmentSystemID, ETemplateType.IndexPageTemplate);
            }
            else if (templateType == ETemplateType.ChannelTemplate)
            {
                var nodeType = NodeManager.GetNodeType(publishmentSystemID, nodeID);
                if (nodeType == ENodeType.BackgroundPublishNode)
                {
                    templateID = GetDefaultTemplateID(publishmentSystemID, ETemplateType.IndexPageTemplate);
                }
                else
                {
                    var nodeInfo = NodeManager.GetNodeInfo(publishmentSystemID, nodeID);
                    if (nodeInfo != null)
                    {
                        templateID = nodeInfo.ChannelTemplateId;
                    }
                }
            }
            else if (templateType == ETemplateType.ContentTemplate)
            {
                var nodeInfo = NodeManager.GetNodeInfo(publishmentSystemID, nodeID);
                if (nodeInfo != null)
                {
                    templateID = nodeInfo.ContentTemplateId;
                }
            }

            TemplateInfo templateInfo = null;

            if (templateID != 0)
            {
                templateInfo = GetTemplateInfo(publishmentSystemID, templateID);
            }
            if (templateInfo == null)
            {
                templateInfo = GetDefaultTemplateInfo(publishmentSystemID, templateType);
            }
            return(templateInfo);
        }