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