<?xml version="1.0" ?>
<rss version="2.0" pm-type="gs-1.0" xmlns:g="http://base.google.com/ns/1.0">
    <channel>
        <pre class='dw-error'>Error compiling template "Designs/Rapido/eCom/Productlist/ProductsRssFeed.cshtml"
Line 70: 'ProductService.GetProductByNumber(string, bool)' is obsolete: 'Please use an overload with the languageId parameter'
Line 70: 'Product.GetProductFieldValue(string)' is obsolete: 'Use 'ProductService.GetProductFieldValue' instead'
Line 94: 'ProductService.GetProductByNumber(string, bool)' is obsolete: 'Please use an overload with the languageId parameter'
Line 94: 'Product.GetProductFieldValue(string)' is obsolete: 'Use 'ProductService.GetProductFieldValue' instead'
Line 132: 'Services' is an ambiguous reference between 'Dynamicweb.Content.Services' and 'Dynamicweb.Services'
<hr/>
<div class='source-code'>
<span class='line-number'>  1</span>     //------------------------------------------------------------------------------
<span class='line-number'>  2</span>     // &lt;auto-generated&gt;
<span class='line-number'>  3</span>     //     This code was generated by a tool.
<span class='line-number'>  4</span>     //     Runtime Version:4.0.30319.42000
<span class='line-number'>  5</span>     //
<span class='line-number'>  6</span>     //     Changes to this file may cause incorrect behavior and will be lost if
<span class='line-number'>  7</span>     //     the code is regenerated.
<span class='line-number'>  8</span>     // &lt;/auto-generated&gt;
<span class='line-number'>  9</span>     //------------------------------------------------------------------------------
<span class='line-number'> 10</span>     
<span class='line-number'> 11</span>     namespace CompiledRazorTemplates.Dynamic {
<span class='line-number'> 12</span>         using System;
<span class='line-number'> 13</span>         using System.Collections.Generic;
<span class='line-number'> 14</span>         using System.Linq;
<span class='line-number'> 15</span>         
<span class='line-number'> 16</span>         #line 2 &quot;E:\Solutions\Thermex\Files\Templates\Designs\Rapido\eCom\Productlist\ProductsRssFeed.cshtml&quot;
<span class='line-number'> 17</span>         using Dynamicweb.Content;
<span class='line-number'> 18</span>         
<span class='line-number'> 19</span>         #line default
<span class='line-number'> 20</span>         #line hidden
<span class='line-number'> 21</span>         
<span class='line-number'> 22</span>         #line 3 &quot;E:\Solutions\Thermex\Files\Templates\Designs\Rapido\eCom\Productlist\ProductsRssFeed.cshtml&quot;
<span class='line-number'> 23</span>         using Dynamicweb;
<span class='line-number'> 24</span>         
<span class='line-number'> 25</span>         #line default
<span class='line-number'> 26</span>         #line hidden
<span class='line-number'> 27</span>         
<span class='line-number'> 28</span>         #line 4 &quot;E:\Solutions\Thermex\Files\Templates\Designs\Rapido\eCom\Productlist\ProductsRssFeed.cshtml&quot;
<span class='line-number'> 29</span>         using Dynamicweb.Ecommerce.Products;
<span class='line-number'> 30</span>         
<span class='line-number'> 31</span>         #line default
<span class='line-number'> 32</span>         #line hidden
<span class='line-number'> 33</span>         
<span class='line-number'> 34</span>         #line 5 &quot;E:\Solutions\Thermex\Files\Templates\Designs\Rapido\eCom\Productlist\ProductsRssFeed.cshtml&quot;
<span class='line-number'> 35</span>         using Dynamicweb.Ecommerce.International;
<span class='line-number'> 36</span>         
<span class='line-number'> 37</span>         #line default
<span class='line-number'> 38</span>         #line hidden
<span class='line-number'> 39</span>         
<span class='line-number'> 40</span>         #line 8 &quot;E:\Solutions\Thermex\Files\Templates\Designs\Rapido\eCom\Productlist\ProductsRssFeed.cshtml&quot;
<span class='line-number'> 41</span>         using Custom.Thermex.Helpers;
<span class='line-number'> 42</span>         
<span class='line-number'> 43</span>         #line default
<span class='line-number'> 44</span>         #line hidden
<span class='line-number'> 45</span>         
<span class='line-number'> 46</span>         
<span class='line-number'> 47</span>         public class RazorEngine_77eff5728b8c4c649393274e39cff1c8 : Dynamicweb.Rendering.RazorTemplateBase&lt;Dynamicweb.Rendering.RazorTemplateModel&lt;Dynamicweb.Rendering.Template&gt;&gt; {
<span class='line-number'> 48</span>             
<span class='line-number'> 49</span>     #line hidden
<span class='line-number'> 50</span>             
<span class='line-number'> 51</span>             #line 20 &quot;E:\Solutions\Thermex\Files\Templates\Designs\Rapido\eCom\Productlist\ProductsRssFeed.cshtml&quot;
<span class='line-number'> 52</span>                 
<span class='line-number'> 53</span>         public string GetProductImage(LoopItem productObject = null)
<span class='line-number'> 54</span>         {
<span class='line-number'> 55</span>             string theImage = &quot;&quot;;
<span class='line-number'> 56</span>             string missingImage = &quot;missing_image&quot;;
<span class='line-number'> 57</span>     
<span class='line-number'> 58</span>             if (productObject == null)
<span class='line-number'> 59</span>             {
<span class='line-number'> 60</span>                 theImage = GetString(&quot;Ecom:Product.ImageDefault.Default.Clean&quot;);
<span class='line-number'> 61</span>                 theImage = String.IsNullOrEmpty(theImage) ? GetString(&quot;Ecom:Product.ImageLarge.Clean&quot;) : theImage;
<span class='line-number'> 62</span>                 theImage = String.IsNullOrEmpty(theImage) ? GetString(&quot;Ecom:Product.ImageMedium.Clean&quot;) : theImage;
<span class='line-number'> 63</span>                 theImage = String.IsNullOrEmpty(theImage) ? GetString(&quot;Ecom:Product.ImageSmall.Clean&quot;) : theImage;
<span class='line-number'> 64</span>                 theImage = String.IsNullOrEmpty(theImage) ? GetString(&quot;Ecom:Product.ImageLarge.Default.Clean&quot;) : theImage;
<span class='line-number'> 65</span>     
<span class='line-number'> 66</span>                 if (String.IsNullOrWhiteSpace(theImage) || theImage.Contains(missingImage))
<span class='line-number'> 67</span>                 {
<span class='line-number'> 68</span>                     try
<span class='line-number'> 69</span>                     {
<span class='line-number'> 70</span>                         theImage = ImageHelper.GetFirstImage(Dynamicweb.Ecommerce.Services.Products.GetProductByNumber(GetString(&quot;Ecom:Product.Number&quot;), true).GetProductFieldValue(&quot;ImagePaths&quot;).ToString());
<span class='line-number'> 71</span>                         if (string.IsNullOrEmpty(theImage))
<span class='line-number'> 72</span>                         {
<span class='line-number'> 73</span>                             theImage = &quot;/Images/missing_image.jpg&quot;;
<span class='line-number'> 74</span>                         }
<span class='line-number'> 75</span>                     }
<span class='line-number'> 76</span>                     catch
<span class='line-number'> 77</span>                     {
<span class='line-number'> 78</span>                         // Do nothing
<span class='line-number'> 79</span>                     }
<span class='line-number'> 80</span>                 }
<span class='line-number'> 81</span>             }
<span class='line-number'> 82</span>             else
<span class='line-number'> 83</span>             {
<span class='line-number'> 84</span>                 theImage = productObject.GetString(&quot;Ecom:Product.ImageDefault.Default.Clean&quot;);
<span class='line-number'> 85</span>                 theImage = String.IsNullOrEmpty(theImage) ? productObject.GetString(&quot;Ecom:Product.ImageLarge.Clean&quot;) : theImage;
<span class='line-number'> 86</span>                 theImage = String.IsNullOrEmpty(theImage) ? productObject.GetString(&quot;Ecom:Product.ImageMedium.Clean&quot;) : theImage;
<span class='line-number'> 87</span>                 theImage = String.IsNullOrEmpty(theImage) ? productObject.GetString(&quot;Ecom:Product.ImageSmall.Clean&quot;) : theImage;
<span class='line-number'> 88</span>                 theImage = String.IsNullOrEmpty(theImage) ? productObject.GetString(&quot;Ecom:Product.ImageLarge.Default.Clean&quot;) : theImage;
<span class='line-number'> 89</span>     
<span class='line-number'> 90</span>                 if (String.IsNullOrWhiteSpace(theImage) || theImage.Contains(missingImage))
<span class='line-number'> 91</span>                 {
<span class='line-number'> 92</span>                     try
<span class='line-number'> 93</span>                     {
<span class='line-number'> 94</span>                         theImage = ImageHelper.GetFirstImage(Dynamicweb.Ecommerce.Services.Products.GetProductByNumber(productObject.GetString(&quot;Ecom:Product.Number&quot;), true).GetProductFieldValue(&quot;ImagePaths&quot;).ToString());
<span class='line-number'> 95</span>                         if (string.IsNullOrEmpty(theImage))
<span class='line-number'> 96</span>                         {
<span class='line-number'> 97</span>                             theImage = &quot;/Images/missing_image.jpg&quot;;
<span class='line-number'> 98</span>                         }
<span class='line-number'> 99</span>                     }
<span class='line-number'>100</span>                     catch
<span class='line-number'>101</span>                     {
<span class='line-number'>102</span>                         // Do nothing
<span class='line-number'>103</span>                     }
<span class='line-number'>104</span>                 }
<span class='line-number'>105</span>             }
<span class='line-number'>106</span>     
<span class='line-number'>107</span>             return theImage;
<span class='line-number'>108</span>         }
<span class='line-number'>109</span>     
<span class='line-number'>110</span>             #line default
<span class='line-number'>111</span>             #line hidden
<span class='line-number'>112</span>             
<span class='line-number'>113</span>             
<span class='line-number'>114</span>             public RazorEngine_77eff5728b8c4c649393274e39cff1c8() {
<span class='line-number'>115</span>             }
<span class='line-number'>116</span>             
<span class='line-number'>117</span>             public override void Execute() {
<span class='line-number'>118</span>     WriteLiteral(&quot;\r\n&quot;);
<span class='line-number'>119</span>     
<span class='line-number'>120</span>     WriteLiteral(&quot;\r\n&quot;);
<span class='line-number'>121</span>     
<span class='line-number'>122</span>     WriteLiteral(&quot;\r\n\r\n&quot;);
<span class='line-number'>123</span>     
<span class='line-number'>124</span>     WriteLiteral(&quot;\r\n\r\n&quot;);
<span class='line-number'>125</span>     
<span class='line-number'>126</span>                 
<span class='line-number'>127</span>                 #line 80 &quot;E:\Solutions\Thermex\Files\Templates\Designs\Rapido\eCom\Productlist\ProductsRssFeed.cshtml&quot;
<span class='line-number'>128</span>       
<span class='line-number'>129</span>         ProductService productService = new ProductService();
<span class='line-number'>130</span>         Area area = Pageview.Area;
<span class='line-number'>131</span>         Country country = Dynamicweb.Ecommerce.Services.Countries.GetCountry(area?.EcomCountryCode);
<span class='line-number'>132</span>         int? productPageId = Services.Pages.GetPageByNavigationTag(area.ID, &quot;ProductsPage&quot;)?.ID;
<span class='line-number'>133</span>     
<span class='line-number'>134</span>                 
<span class='line-number'>135</span>                 #line default
<span class='line-number'>136</span>                 #line hidden
<span class='line-number'>137</span>     WriteLiteral(&quot;\r\n\r\n&quot;);
<span class='line-number'>138</span>     
<span class='line-number'>139</span>                 
<span class='line-number'>140</span>                 #line 87 &quot;E:\Solutions\Thermex\Files\Templates\Designs\Rapido\eCom\Productlist\ProductsRssFeed.cshtml&quot;
<span class='line-number'>141</span>      foreach (LoopItem item in GetLoop(&quot;Products&quot;))
<span class='line-number'>142</span>     {
<span class='line-number'>143</span>         var price = item.GetString(&quot;Ecom:Product.Discount.Price.PriceFormatted&quot;) != item.GetString(&quot;Ecom:Product.Price.PriceFormatted&quot;) ? item.GetString(&quot;Ecom:Product.Discount.Price.PriceFormatted&quot;) : item.GetString(&quot;Ecom:Product.Price.PriceFormatted&quot;);
<span class='line-number'>144</span>         string priceFormatted = item.GetString(&quot;Ecom:Product.Discount.Price.PriceWithVATFormatted&quot;);
<span class='line-number'>145</span>         var language = item.GetString(&quot;Ecom:Product.LanguageID&quot;);
<span class='line-number'>146</span>         string productUrl = String.IsNullOrEmpty(item.GetString(&quot;Ecom:Product.VariantID&quot;))
<span class='line-number'>147</span>             ? $&quot;https://{area.DomainLock}{Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl($&quot;Default.aspx?ID={productPageId}&amp;ProductID={item.GetString(&quot;Ecom:Product.ID&quot;)}&quot;, language)}&quot;
<span class='line-number'>148</span>             : $&quot;https://{area.DomainLock}{Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl($&quot;Default.aspx?ID={productPageId}&amp;ProductID={item.GetString(&quot;Ecom:Product.ID&quot;)}&amp;VariantID={item.GetString(&quot;Ecom:Product.VariantID&quot;)}&quot;, language)}&quot;;
<span class='line-number'>149</span>     
<span class='line-number'>150</span>     
<span class='line-number'>151</span>         string currency = item.GetString(&quot;Ecom:Product.Price.Currency.Code&quot;);
<span class='line-number'>152</span>         string productName = item.GetString(&quot;Ecom:Product.Name&quot;);
<span class='line-number'>153</span>         string imageUrlPath = GetProductImage(item);
<span class='line-number'>154</span>         string productNumber = item.GetString(&quot;Ecom:Product.Number&quot;);
<span class='line-number'>155</span>         var fullImagePath = $&quot;https://{area.DomainLock}{imageUrlPath}&quot;;
<span class='line-number'>156</span>     
<span class='line-number'>157</span>     
<span class='line-number'>158</span>                 
<span class='line-number'>159</span>                 #line default
<span class='line-number'>160</span>                 #line hidden
<span class='line-number'>161</span>     WriteLiteral(&quot;    &lt;item&gt;\r\n        &lt;title&gt;&quot;);
<span class='line-number'>162</span>     
<span class='line-number'>163</span>                 
<span class='line-number'>164</span>                 #line 104 &quot;E:\Solutions\Thermex\Files\Templates\Designs\Rapido\eCom\Productlist\ProductsRssFeed.cshtml&quot;
<span class='line-number'>165</span>               Write(System.Web.HttpUtility.HtmlEncode(productName.Replace(&quot;&amp;&quot;, &quot;&quot;)));
<span class='line-number'>166</span>     
<span class='line-number'>167</span>                 
<span class='line-number'>168</span>                 #line default
<span class='line-number'>169</span>                 #line hidden
<span class='line-number'>170</span>     WriteLiteral(&quot;&lt;/title&gt;\r\n        &lt;g:image_link&gt;&quot;);
<span class='line-number'>171</span>     
<span class='line-number'>172</span>                 
<span class='line-number'>173</span>                 #line 105 &quot;E:\Solutions\Thermex\Files\Templates\Designs\Rapido\eCom\Productlist\ProductsRssFeed.cshtml&quot;
<span class='line-number'>174</span>                       Write(System.Web.HttpUtility.HtmlEncode(fullImagePath));
<span class='line-number'>175</span>     
<span class='line-number'>176</span>                 
<span class='line-number'>177</span>                 #line default
<span class='line-number'>178</span>                 #line hidden
<span class='line-number'>179</span>     WriteLiteral(&quot;&lt;/g:image_link&gt;\r\n        &lt;g:id&gt;&quot;);
<span class='line-number'>180</span>     
<span class='line-number'>181</span>                 
<span class='line-number'>182</span>                 #line 106 &quot;E:\Solutions\Thermex\Files\Templates\Designs\Rapido\eCom\Productlist\ProductsRssFeed.cshtml&quot;
<span class='line-number'>183</span>              Write(item.GetString(&quot;Ecom:Product.Number&quot;));
<span class='line-number'>184</span>     
<span class='line-number'>185</span>                 
<span class='line-number'>186</span>                 #line default
<span class='line-number'>187</span>                 #line hidden
<span class='line-number'>188</span>     WriteLiteral(&quot;&lt;/g:id&gt;\r\n\r\n&quot;);
<span class='line-number'>189</span>     
<span class='line-number'>190</span>                 
<span class='line-number'>191</span>                 #line 108 &quot;E:\Solutions\Thermex\Files\Templates\Designs\Rapido\eCom\Productlist\ProductsRssFeed.cshtml&quot;
<span class='line-number'>192</span>             
<span class='line-number'>193</span>                 
<span class='line-number'>194</span>                 #line default
<span class='line-number'>195</span>                 #line hidden
<span class='line-number'>196</span>                 
<span class='line-number'>197</span>                 #line 108 &quot;E:\Solutions\Thermex\Files\Templates\Designs\Rapido\eCom\Productlist\ProductsRssFeed.cshtml&quot;
<span class='line-number'>198</span>              if (!string.IsNullOrEmpty(productUrl))
<span class='line-number'>199</span>             {
<span class='line-number'>200</span>                 
<span class='line-number'>201</span>                 
<span class='line-number'>202</span>                 #line default
<span class='line-number'>203</span>                 #line hidden
<span class='line-number'>204</span>                 
<span class='line-number'>205</span>                 #line 110 &quot;E:\Solutions\Thermex\Files\Templates\Designs\Rapido\eCom\Productlist\ProductsRssFeed.cshtml&quot;
<span class='line-number'>206</span>            Write(Raw(&quot;&lt;link&gt;&quot;));
<span class='line-number'>207</span>     
<span class='line-number'>208</span>                 
<span class='line-number'>209</span>                 #line default
<span class='line-number'>210</span>                 #line hidden
<span class='line-number'>211</span>                 
<span class='line-number'>212</span>                 #line 110 &quot;E:\Solutions\Thermex\Files\Templates\Designs\Rapido\eCom\Productlist\ProductsRssFeed.cshtml&quot;
<span class='line-number'>213</span>                               
<span class='line-number'>214</span>                 
<span class='line-number'>215</span>                 #line default
<span class='line-number'>216</span>                 #line hidden
<span class='line-number'>217</span>                 
<span class='line-number'>218</span>                 #line 110 &quot;E:\Solutions\Thermex\Files\Templates\Designs\Rapido\eCom\Productlist\ProductsRssFeed.cshtml&quot;
<span class='line-number'>219</span>                          Write(productUrl);
<span class='line-number'>220</span>     
<span class='line-number'>221</span>                 
<span class='line-number'>222</span>                 #line default
<span class='line-number'>223</span>                 #line hidden
<span class='line-number'>224</span>                 
<span class='line-number'>225</span>                 #line 110 &quot;E:\Solutions\Thermex\Files\Templates\Designs\Rapido\eCom\Productlist\ProductsRssFeed.cshtml&quot;
<span class='line-number'>226</span>                                          
<span class='line-number'>227</span>                 
<span class='line-number'>228</span>                 #line default
<span class='line-number'>229</span>                 #line hidden
<span class='line-number'>230</span>                 
<span class='line-number'>231</span>                 #line 110 &quot;E:\Solutions\Thermex\Files\Templates\Designs\Rapido\eCom\Productlist\ProductsRssFeed.cshtml&quot;
<span class='line-number'>232</span>                                     Write(Raw(&quot;&lt;/link&gt;&quot;));
<span class='line-number'>233</span>     
<span class='line-number'>234</span>                 
<span class='line-number'>235</span>                 #line default
<span class='line-number'>236</span>                 #line hidden
<span class='line-number'>237</span>                 
<span class='line-number'>238</span>                 #line 110 &quot;E:\Solutions\Thermex\Files\Templates\Designs\Rapido\eCom\Productlist\ProductsRssFeed.cshtml&quot;
<span class='line-number'>239</span>                                                         
<span class='line-number'>240</span>             }
<span class='line-number'>241</span>     
<span class='line-number'>242</span>                 
<span class='line-number'>243</span>                 #line default
<span class='line-number'>244</span>                 #line hidden
<span class='line-number'>245</span>     WriteLiteral(&quot;\r\n        &lt;g:price&gt;&quot;);
<span class='line-number'>246</span>     
<span class='line-number'>247</span>                 
<span class='line-number'>248</span>                 #line 113 &quot;E:\Solutions\Thermex\Files\Templates\Designs\Rapido\eCom\Productlist\ProductsRssFeed.cshtml&quot;
<span class='line-number'>249</span>                 Write(priceFormatted.Split(&#39; &#39;)[0]);
<span class='line-number'>250</span>     
<span class='line-number'>251</span>                 
<span class='line-number'>252</span>                 #line default
<span class='line-number'>253</span>                 #line hidden
<span class='line-number'>254</span>     WriteLiteral(&quot; &quot;);
<span class='line-number'>255</span>     
<span class='line-number'>256</span>                 
<span class='line-number'>257</span>                 #line 113 &quot;E:\Solutions\Thermex\Files\Templates\Designs\Rapido\eCom\Productlist\ProductsRssFeed.cshtml&quot;
<span class='line-number'>258</span>                                               Write(currency);
<span class='line-number'>259</span>     
<span class='line-number'>260</span>                 
<span class='line-number'>261</span>                 #line default
<span class='line-number'>262</span>                 #line hidden
<span class='line-number'>263</span>     WriteLiteral(&quot;&lt;/g:price&gt;\r\n    &lt;/item&gt;\r\n&quot;);
<span class='line-number'>264</span>     
<span class='line-number'>265</span>                 
<span class='line-number'>266</span>                 #line 115 &quot;E:\Solutions\Thermex\Files\Templates\Designs\Rapido\eCom\Productlist\ProductsRssFeed.cshtml&quot;
<span class='line-number'>267</span>     }
<span class='line-number'>268</span>     
<span class='line-number'>269</span>                 
<span class='line-number'>270</span>                 #line default
<span class='line-number'>271</span>                 #line hidden
<span class='line-number'>272</span>             }
<span class='line-number'>273</span>         }
<span class='line-number'>274</span>     }
<span class='line-number'>275</span>     
</div>
<hr/>
<div class='template-code'>
<span class='line-number'>  1</span>     @inherits Dynamicweb.Rendering.RazorTemplateBase&lt;Dynamicweb.Rendering.RazorTemplateModel&lt;Dynamicweb.Rendering.Template&gt;&gt;
<span class='line-number'>  2</span>     @using Dynamicweb.Content
<span class='line-number'>  3</span>     @using Dynamicweb
<span class='line-number'>  4</span>     @using Dynamicweb.Ecommerce.Products
<span class='line-number'>  5</span>     @using Dynamicweb.Ecommerce.International
<span class='line-number'>  6</span>     
<span class='line-number'>  7</span>     @inherits Dynamicweb.Rendering.RazorTemplateBase&lt;Dynamicweb.Rendering.RazorTemplateModel&lt;Dynamicweb.Rendering.Template&gt;&gt;
<span class='line-number'>  8</span>     @using Custom.Thermex.Helpers;
<span class='line-number'>  9</span>     
<span class='line-number'> 10</span>     @*
<span class='line-number'> 11</span>         This is a temporary fallback for the DefaultImage. The image pattern MUST be set up like this:
<span class='line-number'> 12</span>     
<span class='line-number'> 13</span>         ImageSmall = /{ProductNumber}.jpg
<span class='line-number'> 14</span>         ImageMedium = /{ProductNumber}{VariantOptionLevel1}.jpg
<span class='line-number'> 15</span>         ImageLarge = /{ProductNumber}{VariantComboName}.jpg
<span class='line-number'> 16</span>     
<span class='line-number'> 17</span>         In addition to the ImageDefault setting
<span class='line-number'> 18</span>     *@
<span class='line-number'> 19</span>     
<span class='line-number'> 20</span>     @functions {
<span class='line-number'> 21</span>         public string GetProductImage(LoopItem productObject = null)
<span class='line-number'> 22</span>         {
<span class='line-number'> 23</span>             string theImage = &quot;&quot;;
<span class='line-number'> 24</span>             string missingImage = &quot;missing_image&quot;;
<span class='line-number'> 25</span>     
<span class='line-number'> 26</span>             if (productObject == null)
<span class='line-number'> 27</span>             {
<span class='line-number'> 28</span>                 theImage = GetString(&quot;Ecom:Product.ImageDefault.Default.Clean&quot;);
<span class='line-number'> 29</span>                 theImage = String.IsNullOrEmpty(theImage) ? GetString(&quot;Ecom:Product.ImageLarge.Clean&quot;) : theImage;
<span class='line-number'> 30</span>                 theImage = String.IsNullOrEmpty(theImage) ? GetString(&quot;Ecom:Product.ImageMedium.Clean&quot;) : theImage;
<span class='line-number'> 31</span>                 theImage = String.IsNullOrEmpty(theImage) ? GetString(&quot;Ecom:Product.ImageSmall.Clean&quot;) : theImage;
<span class='line-number'> 32</span>                 theImage = String.IsNullOrEmpty(theImage) ? GetString(&quot;Ecom:Product.ImageLarge.Default.Clean&quot;) : theImage;
<span class='line-number'> 33</span>     
<span class='line-number'> 34</span>                 if (String.IsNullOrWhiteSpace(theImage) || theImage.Contains(missingImage))
<span class='line-number'> 35</span>                 {
<span class='line-number'> 36</span>                     try
<span class='line-number'> 37</span>                     {
<span class='line-number'> 38</span>                         theImage = ImageHelper.GetFirstImage(Dynamicweb.Ecommerce.Services.Products.GetProductByNumber(GetString(&quot;Ecom:Product.Number&quot;), true).GetProductFieldValue(&quot;ImagePaths&quot;).ToString());
<span class='line-number'> 39</span>                         if (string.IsNullOrEmpty(theImage))
<span class='line-number'> 40</span>                         {
<span class='line-number'> 41</span>                             theImage = &quot;/Images/missing_image.jpg&quot;;
<span class='line-number'> 42</span>                         }
<span class='line-number'> 43</span>                     }
<span class='line-number'> 44</span>                     catch
<span class='line-number'> 45</span>                     {
<span class='line-number'> 46</span>                         // Do nothing
<span class='line-number'> 47</span>                     }
<span class='line-number'> 48</span>                 }
<span class='line-number'> 49</span>             }
<span class='line-number'> 50</span>             else
<span class='line-number'> 51</span>             {
<span class='line-number'> 52</span>                 theImage = productObject.GetString(&quot;Ecom:Product.ImageDefault.Default.Clean&quot;);
<span class='line-number'> 53</span>                 theImage = String.IsNullOrEmpty(theImage) ? productObject.GetString(&quot;Ecom:Product.ImageLarge.Clean&quot;) : theImage;
<span class='line-number'> 54</span>                 theImage = String.IsNullOrEmpty(theImage) ? productObject.GetString(&quot;Ecom:Product.ImageMedium.Clean&quot;) : theImage;
<span class='line-number'> 55</span>                 theImage = String.IsNullOrEmpty(theImage) ? productObject.GetString(&quot;Ecom:Product.ImageSmall.Clean&quot;) : theImage;
<span class='line-number'> 56</span>                 theImage = String.IsNullOrEmpty(theImage) ? productObject.GetString(&quot;Ecom:Product.ImageLarge.Default.Clean&quot;) : theImage;
<span class='line-number'> 57</span>     
<span class='line-number'> 58</span>                 if (String.IsNullOrWhiteSpace(theImage) || theImage.Contains(missingImage))
<span class='line-number'> 59</span>                 {
<span class='line-number'> 60</span>                     try
<span class='line-number'> 61</span>                     {
<span class='line-number'> 62</span>                         theImage = ImageHelper.GetFirstImage(Dynamicweb.Ecommerce.Services.Products.GetProductByNumber(productObject.GetString(&quot;Ecom:Product.Number&quot;), true).GetProductFieldValue(&quot;ImagePaths&quot;).ToString());
<span class='line-number'> 63</span>                         if (string.IsNullOrEmpty(theImage))
<span class='line-number'> 64</span>                         {
<span class='line-number'> 65</span>                             theImage = &quot;/Images/missing_image.jpg&quot;;
<span class='line-number'> 66</span>                         }
<span class='line-number'> 67</span>                     }
<span class='line-number'> 68</span>                     catch
<span class='line-number'> 69</span>                     {
<span class='line-number'> 70</span>                         // Do nothing
<span class='line-number'> 71</span>                     }
<span class='line-number'> 72</span>                 }
<span class='line-number'> 73</span>             }
<span class='line-number'> 74</span>     
<span class='line-number'> 75</span>             return theImage;
<span class='line-number'> 76</span>         }
<span class='line-number'> 77</span>     }
<span class='line-number'> 78</span>     
<span class='line-number'> 79</span>     
<span class='line-number'> 80</span>     @{
<span class='line-number'> 81</span>         ProductService productService = new ProductService();
<span class='line-number'> 82</span>         Area area = Pageview.Area;
<span class='line-number'> 83</span>         Country country = Dynamicweb.Ecommerce.Services.Countries.GetCountry(area?.EcomCountryCode);
<span class='line-number'> 84</span>         int? productPageId = Services.Pages.GetPageByNavigationTag(area.ID, &quot;ProductsPage&quot;)?.ID;
<span class='line-number'> 85</span>     }
<span class='line-number'> 86</span>     
<span class='line-number'> 87</span>     @foreach (LoopItem item in GetLoop(&quot;Products&quot;))
<span class='line-number'> 88</span>     {
<span class='line-number'> 89</span>         var price = item.GetString(&quot;Ecom:Product.Discount.Price.PriceFormatted&quot;) != item.GetString(&quot;Ecom:Product.Price.PriceFormatted&quot;) ? item.GetString(&quot;Ecom:Product.Discount.Price.PriceFormatted&quot;) : item.GetString(&quot;Ecom:Product.Price.PriceFormatted&quot;);
<span class='line-number'> 90</span>         string priceFormatted = item.GetString(&quot;Ecom:Product.Discount.Price.PriceWithVATFormatted&quot;);
<span class='line-number'> 91</span>         var language = item.GetString(&quot;Ecom:Product.LanguageID&quot;);
<span class='line-number'> 92</span>         string productUrl = String.IsNullOrEmpty(item.GetString(&quot;Ecom:Product.VariantID&quot;))
<span class='line-number'> 93</span>             ? $&quot;https://{area.DomainLock}{Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl($&quot;Default.aspx?ID={productPageId}&amp;ProductID={item.GetString(&quot;Ecom:Product.ID&quot;)}&quot;, language)}&quot;
<span class='line-number'> 94</span>             : $&quot;https://{area.DomainLock}{Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl($&quot;Default.aspx?ID={productPageId}&amp;ProductID={item.GetString(&quot;Ecom:Product.ID&quot;)}&amp;VariantID={item.GetString(&quot;Ecom:Product.VariantID&quot;)}&quot;, language)}&quot;;
<span class='line-number'> 95</span>     
<span class='line-number'> 96</span>     
<span class='line-number'> 97</span>         string currency = item.GetString(&quot;Ecom:Product.Price.Currency.Code&quot;);
<span class='line-number'> 98</span>         string productName = item.GetString(&quot;Ecom:Product.Name&quot;);
<span class='line-number'> 99</span>         string imageUrlPath = GetProductImage(item);
<span class='line-number'>100</span>         string productNumber = item.GetString(&quot;Ecom:Product.Number&quot;);
<span class='line-number'>101</span>         var fullImagePath = $&quot;https://{area.DomainLock}{imageUrlPath}&quot;;
<span class='line-number'>102</span>     
<span class='line-number'>103</span>         &lt;item&gt;
<span class='line-number'>104</span>             &lt;title&gt;@System.Web.HttpUtility.HtmlEncode(productName.Replace(&quot;&amp;&quot;, &quot;&quot;))&lt;/title&gt;
<span class='line-number'>105</span>             &lt;g:image_link&gt;@(System.Web.HttpUtility.HtmlEncode(fullImagePath))&lt;/g:image_link&gt;
<span class='line-number'>106</span>             &lt;g:id&gt;@item.GetString(&quot;Ecom:Product.Number&quot;)&lt;/g:id&gt;
<span class='line-number'>107</span>     
<span class='line-number'>108</span>             @if (!string.IsNullOrEmpty(productUrl))
<span class='line-number'>109</span>             {
<span class='line-number'>110</span>                 @Raw(&quot;&lt;link&gt;&quot;)@productUrl@Raw(&quot;&lt;/link&gt;&quot;)
<span class='line-number'>111</span>             }
<span class='line-number'>112</span>     
<span class='line-number'>113</span>             &lt;g:price&gt;@priceFormatted.Split(&#39; &#39;)[0] @currency&lt;/g:price&gt;
<span class='line-number'>114</span>         &lt;/item&gt;
<span class='line-number'>115</span>     }
<span class='line-number'>116</span>     
</div>
</pre>
    </channel>
</rss>



