using System; namespace Umbraco.Core.Models.PublishedContent { /// /// Provides strongly typed published content models services. /// internal static class PublishedContentExtensionsForModels { /// /// Creates a strongly typed published content model for an internal published content. /// /// The internal published content. /// The strongly typed published content model. public static IPublishedContent CreateModel(this IPublishedContent content) { if (content == null) return null; if (PublishedContentModelFactoryResolver.Current.HasValue == false) return content; // get model // if factory returns nothing, throw // if factory just returns what it got, return var model = PublishedContentModelFactoryResolver.Current.Factory.CreateModel(content); if (model == null) throw new Exception("IPublishedContentFactory returned null."); return model; } } }