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); }