Error executing template "Designs/Dwsimple/QueryPublisher/PreviouslyBoughtProducts.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_cc7918ed5f6d4aac836f07679183524e.Execute() in D:\dynamicweb.net\Solutions\Dynamicweb\interspiro.staging.dynamicweb-cms.com\Files\Templates\Designs\Dwsimple\QueryPublisher\PreviouslyBoughtProducts.cshtml:line 21
at RazorEngine.Templating.TemplateBase.RazorEngine.Templating.ITemplate.Run(ExecuteContext context, TextWriter reader)
at RazorEngine.Templating.RazorEngineService.RunCompile(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass16_0.<RunCompile>b__0(TextWriter writer)
at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template)
at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template)
at Dynamicweb.Rendering.Template.RenderRazorTemplate()
1 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>>
2 @using Dynamicweb.Ecommerce.Products;
3 @{
4 int queryResultsCount = GetLoop("QueryResultItem").Count;
5 int index = 0;
6 var user = Dynamicweb.Security.UserManagement.User.get_Current(Dynamicweb.Security.UserManagement.PagePermissionLevels.Frontend);
7 var userLang = "";
8 var langName = "";
9 var productService = new ProductService();
10 }
11 <div class="row">
12 <div class="col-md-12 col-sm-12 col-xs-12">
13 <h3 class="dw-section-title dw-section-title-small"><span>@GetGlobalValue("Global:Page.Name")</span></h3>
14 </div>
15 </div>
16 <div class="row">
17 @foreach (var result in GetLoop("QueryResultItem"))
18 {
19 var product = productService.GetProductByNumber(result.GetString("ItemNo"), false);
20 var productDescription = "";
21 var productLink = string.Format("/Default.aspx?ID={0}&GroupID={1}&ProductID={2}&VariantID={3}", Pageview.Area.Item["ProductsPageId"], product.PrimaryGroupId, product.Id, product.VariantId);
22
23 var masterProduct = productService.GetProductById(product.Id, "", false);
24
25
26 string prodID = product.Id;
27 string variantid = product.VariantId;
28 var productPrice = product.FormattedPrice;
29 var hideAddToCart = "";
30 if (productPrice.Contains(","))
31 {
32 hideAddToCart = productPrice != "0,00" ? "" : "hidden";
33 }
34 if (productPrice.Contains("."))
35 {
36 hideAddToCart = productPrice != "0.00" ? "" : "hidden";
37 }
38 if (!string.IsNullOrWhiteSpace(product.DefaultVariantComboId))
39 {
40 prodID = product.Id + "&" + product.DefaultVariantComboId;
41 }
42
43 if (user != null)
44 {
45 userLang = user.CustomFieldValues.Find(x => x.CustomField.SystemName == "AccessUser_LanguageCode").Value.ToString();
46 productDescription = product.GetProductFieldValue("Description" + userLang) + " " + product.GetProductFieldValue("Description2" + userLang);
47
48 }
49 <div class="productlist col-md-4 col-sm-4 col-xs-12 ">
50 <div class="boxproduct wp-block product">
51
52 @if (!string.IsNullOrWhiteSpace(productDescription))
53 {
54 <p class="product-titleFav hidden-sm"><a href="@productLink">@productDescription</a></p>
55 }
56 else
57 {
58 <p class="product-titleFav hidden-sm"><a href="@productLink">@product.Name</a></p>
59 }
60
61 <div style="text-align: center; background-color: #F2F2F2; padding: 0px 0px 6px 0px;">@product.Number</div>
62 <div class="listproductright">
63
64 <a href="@productLink" title="@product.Name">
65 @{
66 string Image = "/Files/Images/Ecom/Products/" + masterProduct.Number + ".jpg"; ;
67 string ImgPath = "/Admin/Public/Getimage.ashx?width=300&height=300&compression=85&Crop=5&image=";
68 string DefImg = "&altFmImage_path=/Files/Images/Ecom/missing_image.gif";
69 Image = ImgPath + Image + DefImg;
70
71
72 }
73 <figure style="border-bottom: none" class="productfigure">
74 <img alt="@product.Name" src="@Image" class="img-responsive img-center">
75 </figure>
76 </a>
77 </div>
78 <div class="extracolumn" style="height: 100px;">
79
80
81 <div class="addToCartInfo hidden-print">
82 <div class="productPrice" style="text-align: center;">@product.FormattedPrice</div>
83 <div style="text-align: center;">
84 <input type="number" name="Quantity" value="1" step="1" min="1" class="quantity" style="width:60px; text-align:center; margin-right:15px !important; height:40px;">
85 <button type="button" id="js-cart-btn" class="btn btn--primary btn--condensed u-no-margin dw-mod js-cart-btn @hideAddToCart" name="submit" onclick="AddToCart(event, '@prodID', '@variantid', $(this).siblings('input.quantity').val(),'@product.Price.Currency.Name','@productDescription','@product.Price','@product.Number');"><i class=""></i><span class="u-hidden-xs u-hidden-xxs"> @Translate("Add to cart")</span></button>
86
87 </div>
88 </div>
89 </div>
90 </div>
91 </div>
92
93
94
95 }
96 </div>
97 @if (GetString("DwPaging.PageCount") != "0")
98 {
99 <div class="row">
100
101
102 <hr>
103 <span class="shop-page-info pull-left hidden-sm hidden-xs" style="color: #AAAAAA !important; font-size:14px !important">@Translate("Showing page", "Showing page") @GetValue("DwPaging.CurrentPage") @Translate("of", "of") @GetValue("DwPaging.PageCount") (@GetValue("QueryResult.TotalCount") @Translate("products", "products"))</span>
104 <ul class="pagination pull-right">
105 @if (!string.IsNullOrWhiteSpace(GetString("DwPaging.PrevPageNumber")))
106 {
107 <li><a href="@GetString("DwPaging.PrevPageLink")">«</a></li>
108 }
109 @foreach (LoopItem page in GetLoop("DwPaging.LoopAllPages"))
110 {
111 <li>
112 <a href="@page.GetString("AllPages.PageLink")">
113 @if (page.GetString("AllPages.ActivePage") == "True")
114 {
115 <strong>@page.GetValue("AllPages.PageNumber")</strong>
116 }
117 else
118 {
119 @page.GetValue("AllPages.PageNumber");
120 }
121 </a>
122 </li>
123
124 }
125 @if (!string.IsNullOrWhiteSpace(GetString("DwPaging.NextPageNumber")))
126 {
127 <li><a href="@GetString("DwPaging.NextPageLink")">»</a></li>
128 }
129 </ul>
130 </div>
131
132 <div class="row"><div class="col-md-12 col-sm-12 col-xs-12"> </div></div>
133 }