<pre class='dw-error'>Error compiling template "Designs/Swift/Custom_AddToCartDisable.cshtml"
Line 79: 'StockService.StockService()' is obsolete: 'This is no longer suitable for manual construction. Please either use constructor injection or Dynamicweb.Ecommerce.Services.StockService.'
<hr/>
<div class='source-code'>
<span class='line-number'>  1</span>     // &lt;auto-generated/&gt;
<span class='line-number'>  2</span>     #pragma warning disable 1591
<span class='line-number'>  3</span>     namespace CompiledRazorTemplates.Dynamic
<span class='line-number'>  4</span>     {
<span class='line-number'>  5</span>         #line hidden
<span class='line-number'>  6</span>         using System.Threading.Tasks;
<span class='line-number'>  7</span>         using System;
<span class='line-number'>  8</span>         using System.Collections.Generic;
<span class='line-number'>  9</span>         using System.Linq;
<span class='line-number'> 10</span>         using System.Web;
<span class='line-number'> 11</span>         using Dynamicweb.Ecommerce.Orders;
<span class='line-number'> 12</span>         using Dynamicweb.Ecommerce.ProductCatalog;
<span class='line-number'> 13</span>         using Dynamicweb.Ecommerce.Stocks;
<span class='line-number'> 14</span>         using CustomServices.Services;
<span class='line-number'> 15</span>         internal class RazorEngine_69de98f8679848b583853f07eb7d2f0e : Dynamicweb.Rendering.ViewModelTemplate&lt;Dynamicweb.Frontend.PageViewModel&gt;
<span class='line-number'> 16</span>         {
<span class='line-number'> 17</span>             #pragma warning disable 1998
<span class='line-number'> 18</span>             public async override global::System.Threading.Tasks.Task ExecuteAsync()
<span class='line-number'> 19</span>             {
<span class='line-number'> 20</span>                 WriteLiteral(&quot;\r\n&quot;);
<span class='line-number'> 21</span>                   
<span class='line-number'> 22</span>         string productId = Dynamicweb.Context.Current.Request.QueryString.Get(&quot;ProductId&quot;);
<span class='line-number'> 23</span>         ProductViewModel product = new ProductViewModel();
<span class='line-number'> 24</span>         AddToCartDisable addToCartDisable = new AddToCartDisable();
<span class='line-number'> 25</span>         string jsonFeed = &quot;&quot;;
<span class='line-number'> 26</span>     
<span class='line-number'> 27</span>         ProductViewModelSettings productSetting = new ProductViewModelSettings
<span class='line-number'> 28</span>                 {
<span class='line-number'> 29</span>                     LanguageId = Dynamicweb.Ecommerce.Common.Context.LanguageID,
<span class='line-number'> 30</span>                     CurrencyCode = Dynamicweb.Ecommerce.Common.Context.Currency.Code,
<span class='line-number'> 31</span>                     CountryCode = Dynamicweb.Ecommerce.Common.Context.Country.Code2,
<span class='line-number'> 32</span>                     ShopId = Pageview.Area.EcomShopId
<span class='line-number'> 33</span>                 };
<span class='line-number'> 34</span>         if (!String.IsNullOrEmpty(productId))
<span class='line-number'> 35</span>         {
<span class='line-number'> 36</span>             product = ViewModelFactory.CreateView(productSetting, productId);
<span class='line-number'> 37</span>             if (product != null)
<span class='line-number'> 38</span>             {
<span class='line-number'> 39</span>                 string unitId = !string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get(&quot;UnitId&quot;)) ? Dynamicweb.Context.Current.Request.QueryString.Get(&quot;UnitId&quot;) : product.DefaultUnitId;
<span class='line-number'> 40</span>                 if (string.IsNullOrEmpty(unitId) &amp;&amp; product?.UnitOptions != null)
<span class='line-number'> 41</span>                 {
<span class='line-number'> 42</span>                     if (product.UnitOptions.FirstOrDefault&lt;UnitOptionViewModel&gt;() != null)
<span class='line-number'> 43</span>                     {
<span class='line-number'> 44</span>                         unitId = product.UnitOptions.FirstOrDefault&lt;UnitOptionViewModel&gt;().Id;
<span class='line-number'> 45</span>                     }
<span class='line-number'> 46</span>                 }
<span class='line-number'> 47</span>     
<span class='line-number'> 48</span>                 DiscountService discountService = new DiscountService();
<span class='line-number'> 49</span>                 double StockLevel = discountService.GetLiveStock(product.Number, Pageview.Area.EcomShopId, unitId, Pageview.Area.EcomLanguageId);
<span class='line-number'> 50</span>     
<span class='line-number'> 51</span>                 string disableAddToCart = (StockLevel &lt;= 0) ? &quot;disabled&quot; : &quot;&quot;;
<span class='line-number'> 52</span>                 bool isOutOfStock = (StockLevel &lt;= 0) ? true : false;
<span class='line-number'> 53</span>                 bool isNeverOutOfStock = product.NeverOutOfstock;
<span class='line-number'> 54</span>                 disableAddToCart = isNeverOutOfStock ? &quot;&quot; : disableAddToCart;
<span class='line-number'> 55</span>                 disableAddToCart = product.VariantInfo.VariantInfo != null &amp;&amp; string.IsNullOrEmpty(product.VariantId) ? &quot;disabled&quot; : disableAddToCart;
<span class='line-number'> 56</span>                 var currentCart = Dynamicweb.Ecommerce.Common.Context.Cart;
<span class='line-number'> 57</span>                 bool isClickCollect = false;
<span class='line-number'> 58</span>                 int orderlinecount = 0;
<span class='line-number'> 59</span>                 if (currentCart != null)
<span class='line-number'> 60</span>                 {
<span class='line-number'> 61</span>                     if (currentCart.OrderFieldValues.FirstOrDefault(x =&gt; x.OrderField.SystemName == &quot;isClickAndCollect&quot;).Value != null)
<span class='line-number'> 62</span>                     {
<span class='line-number'> 63</span>                         if (currentCart.OrderFieldValues.FirstOrDefault(x =&gt; x.OrderField.SystemName == &quot;isClickAndCollect&quot;).Value.ToString() != &quot;&quot;)
<span class='line-number'> 64</span>                         {
<span class='line-number'> 65</span>                             isClickCollect = Convert.ToBoolean(currentCart.OrderFieldValues.FirstOrDefault(x =&gt; x.OrderField.SystemName == &quot;isClickAndCollect&quot;).Value.ToString());
<span class='line-number'> 66</span>                         }
<span class='line-number'> 67</span>                     }
<span class='line-number'> 68</span>                     if (currentCart.OrderLines != null)
<span class='line-number'> 69</span>                     {
<span class='line-number'> 70</span>                         orderlinecount = currentCart.OrderLines.CountOnlyProducts;
<span class='line-number'> 71</span>                     }
<span class='line-number'> 72</span>                 }
<span class='line-number'> 73</span>                 disableAddToCart = (isClickCollect &amp;&amp; orderlinecount &gt; 0) ? &quot;disabled&quot; : disableAddToCart;
<span class='line-number'> 74</span>                 addToCartDisable.addToCartdisable = disableAddToCart;
<span class='line-number'> 75</span>                 addToCartDisable.isClickCollect = isClickCollect;
<span class='line-number'> 76</span>     
<span class='line-number'> 77</span>                 //Disable CC Button
<span class='line-number'> 78</span>                 double totalstock = 0;
<span class='line-number'> 79</span>                 StockService stockService = new StockService();
<span class='line-number'> 80</span>                 IEnumerable&lt;StockLocation&gt; stocklocList = stockService.GetStockLocations();
<span class='line-number'> 81</span>                 foreach (StockLocation stockloc in stocklocList)
<span class='line-number'> 82</span>                 {
<span class='line-number'> 83</span>                     string description = stockloc.GetDescription(Dynamicweb.Ecommerce.Common.Context.LanguageID);
<span class='line-number'> 84</span>                     double CCStockLevel = discountService.GetCCLiveStock(product.Number, description, unitId, Pageview.Area.EcomLanguageId);
<span class='line-number'> 85</span>                     if (CCStockLevel &gt; 0)
<span class='line-number'> 86</span>                     {
<span class='line-number'> 87</span>                         totalstock = totalstock + CCStockLevel;
<span class='line-number'> 88</span>                     }
<span class='line-number'> 89</span>                 }
<span class='line-number'> 90</span>                 string CCdisableAddToCart = (totalstock &lt;= 0) ? &quot;disabled&quot; : &quot;&quot;;
<span class='line-number'> 91</span>                 CCdisableAddToCart = isNeverOutOfStock ? &quot;&quot; : CCdisableAddToCart;
<span class='line-number'> 92</span>                 CCdisableAddToCart = product.VariantInfo.VariantInfo != null &amp;&amp; string.IsNullOrEmpty(product.VariantId) ? &quot;disabled&quot; : CCdisableAddToCart;
<span class='line-number'> 93</span>     
<span class='line-number'> 94</span>                 CCdisableAddToCart = (!isClickCollect &amp;&amp; orderlinecount &gt; 0) ? &quot;disabled&quot; : CCdisableAddToCart;
<span class='line-number'> 95</span>                 addToCartDisable.CCdisable = CCdisableAddToCart;
<span class='line-number'> 96</span>             }
<span class='line-number'> 97</span>         }
<span class='line-number'> 98</span>         jsonFeed = Newtonsoft.Json.JsonConvert.SerializeObject(addToCartDisable);
<span class='line-number'> 99</span>                 Write(jsonFeed);
<span class='line-number'>100</span>                 WriteLiteral(&quot;\r\n&quot;);
<span class='line-number'>101</span>             }
<span class='line-number'>102</span>             #pragma warning restore 1998
<span class='line-number'>103</span>                         
<span class='line-number'>104</span>         public class AddToCartDisable
<span class='line-number'>105</span>         {
<span class='line-number'>106</span>             public string addToCartdisable { get; set; }
<span class='line-number'>107</span>             public string CCdisable { get; set; }
<span class='line-number'>108</span>             public bool isClickCollect { get; set; }
<span class='line-number'>109</span>         }
<span class='line-number'>110</span>         }
<span class='line-number'>111</span>     }
<span class='line-number'>112</span>     #pragma warning restore 1591
<span class='line-number'>113</span>     
</div>
<hr/>
<div class='template-code'>
<span class='line-number'>  1</span>     @inherits Dynamicweb.Rendering.ViewModelTemplate&lt;Dynamicweb.Frontend.PageViewModel&gt;
<span class='line-number'>  2</span>     @using System.Web;
<span class='line-number'>  3</span>     @using Dynamicweb.Ecommerce.Orders;
<span class='line-number'>  4</span>     @using Dynamicweb.Ecommerce.ProductCatalog
<span class='line-number'>  5</span>     @using Dynamicweb.Ecommerce.Stocks;
<span class='line-number'>  6</span>     @using CustomServices.Services
<span class='line-number'>  7</span>     
<span class='line-number'>  8</span>     @functions {
<span class='line-number'>  9</span>         public class AddToCartDisable
<span class='line-number'> 10</span>         {
<span class='line-number'> 11</span>             public string addToCartdisable { get; set; }
<span class='line-number'> 12</span>             public string CCdisable { get; set; }
<span class='line-number'> 13</span>             public bool isClickCollect { get; set; }
<span class='line-number'> 14</span>         }
<span class='line-number'> 15</span>     }
<span class='line-number'> 16</span>     @{
<span class='line-number'> 17</span>         string productId = Dynamicweb.Context.Current.Request.QueryString.Get(&quot;ProductId&quot;);
<span class='line-number'> 18</span>         ProductViewModel product = new ProductViewModel();
<span class='line-number'> 19</span>         AddToCartDisable addToCartDisable = new AddToCartDisable();
<span class='line-number'> 20</span>         string jsonFeed = &quot;&quot;;
<span class='line-number'> 21</span>     
<span class='line-number'> 22</span>         ProductViewModelSettings productSetting = new ProductViewModelSettings
<span class='line-number'> 23</span>                 {
<span class='line-number'> 24</span>                     LanguageId = Dynamicweb.Ecommerce.Common.Context.LanguageID,
<span class='line-number'> 25</span>                     CurrencyCode = Dynamicweb.Ecommerce.Common.Context.Currency.Code,
<span class='line-number'> 26</span>                     CountryCode = Dynamicweb.Ecommerce.Common.Context.Country.Code2,
<span class='line-number'> 27</span>                     ShopId = Pageview.Area.EcomShopId
<span class='line-number'> 28</span>                 };
<span class='line-number'> 29</span>         if (!String.IsNullOrEmpty(productId))
<span class='line-number'> 30</span>         {
<span class='line-number'> 31</span>             product = ViewModelFactory.CreateView(productSetting, productId);
<span class='line-number'> 32</span>             if (product != null)
<span class='line-number'> 33</span>             {
<span class='line-number'> 34</span>                 string unitId = !string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get(&quot;UnitId&quot;)) ? Dynamicweb.Context.Current.Request.QueryString.Get(&quot;UnitId&quot;) : product.DefaultUnitId;
<span class='line-number'> 35</span>                 if (string.IsNullOrEmpty(unitId) &amp;&amp; product?.UnitOptions != null)
<span class='line-number'> 36</span>                 {
<span class='line-number'> 37</span>                     if (product.UnitOptions.FirstOrDefault&lt;UnitOptionViewModel&gt;() != null)
<span class='line-number'> 38</span>                     {
<span class='line-number'> 39</span>                         unitId = product.UnitOptions.FirstOrDefault&lt;UnitOptionViewModel&gt;().Id;
<span class='line-number'> 40</span>                     }
<span class='line-number'> 41</span>                 }
<span class='line-number'> 42</span>     
<span class='line-number'> 43</span>                 DiscountService discountService = new DiscountService();
<span class='line-number'> 44</span>                 double StockLevel = discountService.GetLiveStock(product.Number, Pageview.Area.EcomShopId, unitId, Pageview.Area.EcomLanguageId);
<span class='line-number'> 45</span>     
<span class='line-number'> 46</span>                 string disableAddToCart = (StockLevel &lt;= 0) ? &quot;disabled&quot; : &quot;&quot;;
<span class='line-number'> 47</span>                 bool isOutOfStock = (StockLevel &lt;= 0) ? true : false;
<span class='line-number'> 48</span>                 bool isNeverOutOfStock = product.NeverOutOfstock;
<span class='line-number'> 49</span>                 disableAddToCart = isNeverOutOfStock ? &quot;&quot; : disableAddToCart;
<span class='line-number'> 50</span>                 disableAddToCart = product.VariantInfo.VariantInfo != null &amp;&amp; string.IsNullOrEmpty(product.VariantId) ? &quot;disabled&quot; : disableAddToCart;
<span class='line-number'> 51</span>                 var currentCart = Dynamicweb.Ecommerce.Common.Context.Cart;
<span class='line-number'> 52</span>                 bool isClickCollect = false;
<span class='line-number'> 53</span>                 int orderlinecount = 0;
<span class='line-number'> 54</span>                 if (currentCart != null)
<span class='line-number'> 55</span>                 {
<span class='line-number'> 56</span>                     if (currentCart.OrderFieldValues.FirstOrDefault(x =&gt; x.OrderField.SystemName == &quot;isClickAndCollect&quot;).Value != null)
<span class='line-number'> 57</span>                     {
<span class='line-number'> 58</span>                         if (currentCart.OrderFieldValues.FirstOrDefault(x =&gt; x.OrderField.SystemName == &quot;isClickAndCollect&quot;).Value.ToString() != &quot;&quot;)
<span class='line-number'> 59</span>                         {
<span class='line-number'> 60</span>                             isClickCollect = Convert.ToBoolean(currentCart.OrderFieldValues.FirstOrDefault(x =&gt; x.OrderField.SystemName == &quot;isClickAndCollect&quot;).Value.ToString());
<span class='line-number'> 61</span>                         }
<span class='line-number'> 62</span>                     }
<span class='line-number'> 63</span>                     if (currentCart.OrderLines != null)
<span class='line-number'> 64</span>                     {
<span class='line-number'> 65</span>                         orderlinecount = currentCart.OrderLines.CountOnlyProducts;
<span class='line-number'> 66</span>                     }
<span class='line-number'> 67</span>                 }
<span class='line-number'> 68</span>                 disableAddToCart = (isClickCollect &amp;&amp; orderlinecount &gt; 0) ? &quot;disabled&quot; : disableAddToCart;
<span class='line-number'> 69</span>                 addToCartDisable.addToCartdisable = disableAddToCart;
<span class='line-number'> 70</span>                 addToCartDisable.isClickCollect = isClickCollect;
<span class='line-number'> 71</span>     
<span class='line-number'> 72</span>                 //Disable CC Button
<span class='line-number'> 73</span>                 double totalstock = 0;
<span class='line-number'> 74</span>                 StockService stockService = new StockService();
<span class='line-number'> 75</span>                 IEnumerable&lt;StockLocation&gt; stocklocList = stockService.GetStockLocations();
<span class='line-number'> 76</span>                 foreach (StockLocation stockloc in stocklocList)
<span class='line-number'> 77</span>                 {
<span class='line-number'> 78</span>                     string description = stockloc.GetDescription(Dynamicweb.Ecommerce.Common.Context.LanguageID);
<span class='line-number'> 79</span>                     double CCStockLevel = discountService.GetCCLiveStock(product.Number, description, unitId, Pageview.Area.EcomLanguageId);
<span class='line-number'> 80</span>                     if (CCStockLevel &gt; 0)
<span class='line-number'> 81</span>                     {
<span class='line-number'> 82</span>                         totalstock = totalstock + CCStockLevel;
<span class='line-number'> 83</span>                     }
<span class='line-number'> 84</span>                 }
<span class='line-number'> 85</span>                 string CCdisableAddToCart = (totalstock &lt;= 0) ? &quot;disabled&quot; : &quot;&quot;;
<span class='line-number'> 86</span>                 CCdisableAddToCart = isNeverOutOfStock ? &quot;&quot; : CCdisableAddToCart;
<span class='line-number'> 87</span>                 CCdisableAddToCart = product.VariantInfo.VariantInfo != null &amp;&amp; string.IsNullOrEmpty(product.VariantId) ? &quot;disabled&quot; : CCdisableAddToCart;
<span class='line-number'> 88</span>     
<span class='line-number'> 89</span>                 CCdisableAddToCart = (!isClickCollect &amp;&amp; orderlinecount &gt; 0) ? &quot;disabled&quot; : CCdisableAddToCart;
<span class='line-number'> 90</span>                 addToCartDisable.CCdisable = CCdisableAddToCart;
<span class='line-number'> 91</span>             }
<span class='line-number'> 92</span>         }
<span class='line-number'> 93</span>         jsonFeed = Newtonsoft.Json.JsonConvert.SerializeObject(addToCartDisable);
<span class='line-number'> 94</span>     }
<span class='line-number'> 95</span>     @jsonFeed
<span class='line-number'> 96</span>     
</div>
</pre>
