/// <summary>
 /// Converts the <param name="content"></param> to an <see cref="Boilerplate.Web.Mvc.OpenGraph.OpenGraphProductItem"/>.
 /// </summary>
 /// <param name="content">The content.</param>
 /// <param name="openGraphCondition">The open graph condition.</param>
 /// <returns>The <see cref="Boilerplate.Web.Mvc.OpenGraph.OpenGraphProductItem"/> for the <param name="content"></param>.</returns>
 /// <exception cref="T:System.Web.HttpException">The Web application is running under IISĀ 7 in Integrated mode.</exception>
 /// <exception cref="T:System.InvalidOperationException">The current <see cref="T:System.Uri" /> instance is not an absolute instance.</exception>
 /// <exception cref="T:System.ArgumentException">The specified <see cref="UriPartial.Authority"/> is not valid.</exception>
 /// <exception cref="T:System.NotSupportedException">The query collection is read-only.</exception>
 /// <exception cref="T:System.ArgumentNullException">Parent products are <see langword="null" />.</exception>
 /// <exception cref="T:System.MemberAccessException">The <see cref="T:System.Lazy`1" /> instance is initialized to use the default constructor of the type that is being lazily initialized, and permissions to access the constructor are missing.</exception>
 /// <exception cref="T:System.MissingMemberException">The <see cref="T:System.Lazy`1" /> instance is initialized to use the default constructor of the type that is being lazily initialized, and that type does not have a public, parameterless constructor.</exception>
 public static OpenGraphProductItem ToOpenGraphProductItem(
     this VariationContent content,
     OpenGraphCondition openGraphCondition)
 {
     return(new OpenGraphProductItem(
                title: content.DisplayName,
                new OpenGraphImage(content.GetDefaultAsset <IContentMedia>()),
                content.GetOpenGraphAvailability(),
                condition: openGraphCondition,
                content.GetOpenGraphCurrencies(),
                retailerItemId: content.Code,
                content.GetUrl()));
 }