Error executing template "ItemPublisher/Details/facade_productdetail.cshtml"
System.IO.DirectoryNotFoundException: Could not find a part of the path 'D:\Dynamicweb.net\Solutions\Buchs\dsgruppen.cloud.dynamicweb-cms.com\Files\Billeder\ds_staalprofil\DS website 2017\Casefotos\Villerupvej 78_ 9800 Hjoerring\Banner'.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileSystemEnumerableIterator`1.CommonInit()
at System.IO.FileSystemEnumerableIterator`1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler, Boolean checkHost)
at System.IO.DirectoryInfo.InternalGetFiles(String searchPattern, SearchOption searchOption)
at CompiledRazorTemplates.Dynamic.RazorEngine_ce6302b5cef84b07a087eb56b42dab33.Execute() in D:\Dynamicweb.net\Solutions\Buchs\dsgruppen.cloud.dynamicweb-cms.com\Files\Templates\ItemPublisher\Details\facade_productdetail.cshtml:line 64
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 @using Dynamicweb.Content.Items;
2 @using Dynamicweb.Data;
3 @using System.Web;
4
5 @{
6 var request = HttpContext.Current.Request;
7 var response = HttpContext.Current.Response;
8 var items = GetLoop("ItemPublisher:Items.List");
9
10 string strID = "";
11 strID = "" + GetString("ItemPublisher:Item.Field.Id");
12 string employeeString = "";
13
14 var sql = "";
15 sql += "SELECT * FROM ItemType_FacadeProdukter ";
16 sql += "WHERE ItemType_FacadeProdukter.Id=" + strID + " ";
17 sql += "AND ItemType_FacadeProdukter.ID IN (SELECT page.PAGEITEMID FROM Page WHERE Page.PAGEITEMTYPE IN ('FacadeProdukter') AND Page.PAGEACTIVE = 1 AND Page.PAGEAREAID = " + GetGlobalValue("Global:Area.ID") + ")";
18
19 var prods = Database.CreateDataReader(sql);
20 string str = "";
21 str += "<div class=\"product-detail\">";
22 string kat = "";
23
24 while (prods.Read()) {
25
26 string Id = ""+prods["Id"];
27 string Navn = ""+prods["Navn"];
28 string Teaser = ""+prods["Teaser"];
29 string Anvendelse = ""+prods["Anvendelse"];
30 string Fordele = ""+prods["Fordele"];
31 string Materialestr = ""+prods["Materiale"];
32 string Profilhoejde = ""+prods["Profilhoejde"];
33 string Daekbredde = ""+prods["Daekbredde"];
34 string Stenlaengde = ""+prods["Stenlaengde"];
35 string Max_Pladelaengde = ""+prods["Max_Pladelaengde"];
36 string Max_Pladelaengde_Smigskaering = ""+prods["Max_Pladelaengde_Smigskaering"];
37 string Anbefalet_Max_Pladelaengde = ""+prods["Anbefalet_Max_Pladelaengde"];
38 string Min_Pladelaengde = ""+prods["Min_Pladelaengde"];
39 string Min_Taghaeldning = ""+prods["Min_Taghaeldning"];
40 string Min_Laengde = ""+prods["Min_Laengde"];
41 string Max_Laengde = ""+prods["Max_Laengde"];
42 string Isoleringstype = ""+prods["Isoleringstype"];
43 string Tagrendedimension = ""+prods["Tagrendedimension"];
44 string Nedloebsdimension = ""+prods["Nedloebsdimension"];
45 string StandardLaengde = ""+prods["StandardLaengde"];
46 string StandardGodstykkelse = ""+prods["StandardGodstykkelse"];
47 string Thumb = ""+prods["Thumb"];
48 employeeString = "" + prods["Employee"];
49 Thumb = "/admin/public/getimage.ashx?Image=" + Thumb + "&height=600&Compression=60";
50 string Billede = ""+prods["Billede"];
51 Billede = "/admin/public/getimage.ashx?Image=" + Billede + "&height=600&Compression=60";
52 string ImgAlt = "" + prods["ImgAlt"];
53 string Galleri = ""+prods["Galleri"];
54 kat = ""+prods["KATEGORI"];
55
56 string folder = GetString("Item.Images");
57 string folderOnDisk = System.Web.HttpContext.Current.Server.MapPath(Galleri);
58 var directoryInfo = new System.IO.DirectoryInfo(folderOnDisk);
59
60 int gali = 0;
61 string gstr = "";
62
63 if(Galleri != "/Files/" && Galleri != ""){
64 foreach (var fileInfo in directoryInfo.GetFiles("*.*")){
65 string ext = ""+fileInfo.Extension;
66 if (ext == ".jpg" || ext == ".png"){
67 gstr += "<div class=\"slide\" itemid=\"" + gali + "\">";
68 gstr += "<div class=\"Tekst\"></div>";
69 gstr += "<input type=\"hidden\" name=\"Billede\" value=\"/admin/public/getimage.ashx?Image=" + (string.Format("{0}/{1}", Galleri, fileInfo.Name)) + "&height=800&Compression=60\">";
70 gstr += "<input type=\"hidden\" name=\"ImgAlt\" value=\"" + Navn + "\">";
71 gstr += "</div>";
72 ++gali;
73 }
74 }
75
76 if(gali != 0){
77 str += "<div class=\"page-row bg-white\">";
78 str += "<div class=\"data-banner\">";
79 str += gstr;
80 str += "</div>";
81 str += "</div>";
82 }
83 }
84
85 str += "<div class=\"page-row text-image product\">";
86 str += "<div class=\"col-1-of-2\">";
87 str += "<div class=\"text\">";
88 str += "<h1>" + Navn + "</h1>";
89 str += "<p>" + Teaser + "</p>";
90
91 str += "<div class=\"row\">";
92 if (string.IsNullOrWhiteSpace(Materialestr)) {
93 str += "<div class=\"column-1-of-2\"><strong>" + Translate("anvendelse", "Anvendelse") + "</strong>" + Anvendelse + "</div>";
94 str += "<div class=\"column-1-of-2\"><strong>" + Translate("fordele", "Fordele") + "</strong>" + Fordele + "</div>";
95 }
96 if (!string.IsNullOrWhiteSpace(Materialestr)) {
97 str += "<div class=\"column1of3\"><strong>" + Translate("anvendelse", "Anvendelse") + "</strong>" + Anvendelse + "</div>";
98 str += "<div class=\"column1of3\"><strong>" + Translate("fordele", "Fordele") + "</strong>" + Fordele + "</div>";
99 str += "<div class=\"column1of3\"><strong>" + Translate("materiale", "Materiale") + "</strong>" + Materialestr + "</div>";
100 }
101 str += "</div>";
102
103 if(Profilhoejde != ""){
104 str += "<div class=\"row bg-lightgray\">";
105 str += "<div class=\"column-1-of-2\"><strong>" + Translate("profilhoejde", "Profilhøjde") + "</strong></div>";
106 str += "<div class=\"column-1-of-2\">" + Profilhoejde + "</div>";
107 str += "</div>";
108 }
109
110 if(Daekbredde != ""){
111 str += "<div class=\"row bg-lightgray\">";
112 str += "<div class=\"column-1-of-2\"><strong>" + Translate("daekbredde", "Dækbredde") + "</strong></div>";
113 str += "<div class=\"column-1-of-2\">" + Daekbredde + "</div>";
114 str += "</div>";
115 }
116
117 if(Stenlaengde != ""){
118 str += "<div class=\"row bg-lightgray\">";
119 str += "<div class=\"column-1-of-2\"><strong>" + Translate("stenlaengde", "Stenlængde") + "</strong></div>";
120 str += "<div class=\"column-1-of-2\">" + Stenlaengde + "</div>";
121 str += "</div>";
122 }
123
124 if(Max_Pladelaengde != ""){
125 str += "<div class=\"row bg-lightgray\">";
126 str += "<div class=\"column-1-of-2\"><strong>" + Translate("maxpladelaengde", "Max. Pladelængde") + "</strong></div>";
127 str += "<div class=\"column-1-of-2\">" + Max_Pladelaengde + "</div>";
128 str += "</div>";
129 }
130
131 if(Max_Pladelaengde_Smigskaering != ""){
132 str += "<div class=\"row bg-lightgray\">";
133 str += "<div class=\"column-1-of-2\"><strong>" + Translate("maxpladelaengdevsmigskaering", "Max. pladelængde v. smigskæring") + "</strong></div>";
134 str += "<div class=\"column-1-of-2\">" + Max_Pladelaengde_Smigskaering + "</div>";
135 str += "</div>";
136 }
137
138 if(Anbefalet_Max_Pladelaengde != ""){
139 str += "<div class=\"row bg-lightgray\">";
140 str += "<div class=\"column-1-of-2\"><strong>" + Translate("anbefaletmaxpladelaengde", "Anbefalet max. pladelængde") + "</strong></div>";
141 str += "<div class=\"column-1-of-2\">" + Anbefalet_Max_Pladelaengde + "</div>";
142 str += "</div>";
143 }
144
145 if(Min_Pladelaengde != ""){
146 str += "<div class=\"row bg-lightgray\">";
147 str += "<div class=\"column-1-of-2\"><strong>" + Translate("minpladelaengde", "Min. pladelængde") + "</strong></div>";
148 str += "<div class=\"column-1-of-2\">" + Min_Pladelaengde + "</div>";
149 str += "</div>";
150 }
151
152 if(Min_Taghaeldning != ""){
153 str += "<div class=\"row bg-lightgray\">";
154 str += "<div class=\"column-1-of-2\"><strong>" + Translate("mintaghaeldning", "Min. taghældning") + "</strong></div>";
155 str += "<div class=\"column-1-of-2\">" + Min_Taghaeldning + "</div>";
156 str += "</div>";
157 }
158
159 if(Min_Laengde != ""){
160 str += "<div class=\"row bg-lightgray\">";
161 str += "<div class=\"column-1-of-2\"><strong>" + Translate("minlaengde", "Min. længde") + "</strong></div>";
162 str += "<div class=\"column-1-of-2\">" + Min_Laengde + "</div>";
163 str += "</div>";
164 }
165
166 if(Max_Laengde != ""){
167 str += "<div class=\"row bg-lightgray\">";
168 str += "<div class=\"column-1-of-2\"><strong>" + Translate("maxlaengde", "Max. længde") + "</strong></div>";
169 str += "<div class=\"column-1-of-2\">" + Max_Laengde + "</div>";
170 str += "</div>";
171 }
172
173 if(Isoleringstype != ""){
174 str += "<div class=\"row bg-lightgray\">";
175 str += "<div class=\"column-1-of-2\"><strong>" + Translate("isoleringstype", "Isoleringstype") + "</strong></div>";
176 str += "<div class=\"column-1-of-2\">" + Isoleringstype + "</div>";
177 str += "</div>";
178 }
179
180 if(Tagrendedimension != ""){
181 str += "<div class=\"row bg-lightgray\">";
182 str += "<div class=\"column-1-of-2\"><strong>" + Translate("tagrendedimension", "Tagrendedimension") + "</strong></div>";
183 str += "<div class=\"column-1-of-2\">" + Tagrendedimension + "</div>";
184 str += "</div>";
185 }
186
187 if(Nedloebsdimension != ""){
188 str += "<div class=\"row bg-lightgray\">";
189 str += "<div class=\"column-1-of-2\"><strong>" + Translate("nedloebsdimension", "Nedløbsdimension") + "</strong></div>";
190 str += "<div class=\"column-1-of-2\">" + Nedloebsdimension + "</div>";
191 str += "</div>";
192 }
193
194 if(StandardLaengde != ""){
195 str += "<div class=\"row bg-lightgray\">";
196 str += "<div class=\"column-1-of-2\"><strong>" + Translate("standardLaengde", "Standard Længde") + "</strong></div>";
197 str += "<div class=\"column-1-of-2\">" + StandardLaengde + "</div>";
198 str += "</div>";
199 }
200
201 if(StandardGodstykkelse != ""){
202 str += "<div class=\"row bg-lightgray\">";
203 str += "<div class=\"column-1-of-2\"><strong>" + Translate("standardgodstykkelse", "Standard godstykkelse") + "</strong></div>";
204 str += "<div class=\"column-1-of-2\">" + StandardGodstykkelse + "</div>";
205 str += "</div>";
206 }
207
208
209
210 str += "</div>";
211
212 str += "</div>";
213
214 str += "<div class=\"col-2-of-2\"><img src=\"" + Billede + "\" alt=\"" + ImgAlt + "\"></div>";
215 str += "<div class=\"image\"><img src=\"" + Billede + "\" alt=\"" + ImgAlt + "\"></div>";
216 str += "</div>";
217 }
218
219
220
221
222
223
224
225
226
227
228
229 sql = "";
230 sql += "SELECT TOP 1000 * FROM ItemType_Downloadcenterfiler ";
231 @*sql += "WHERE (CONCAT( ',', ItemType_Downloadcenterfiler.KnytTilFacadeprodukt, ',') LIKE '%," + strID + ",%' OR CONCAT( ',', ItemType_Downloadcenterfiler.Facadekategorier, ',') LIKE '%," + kat + ",%') ";*@
232 sql += "WHERE CONCAT( ',', ItemType_Downloadcenterfiler.KnytTilFacadeprodukt, ',') LIKE '%," + strID + ",%' ";
233 sql += "AND ItemType_Downloadcenterfiler.ID IN (SELECT page.PAGEITEMID FROM Page WHERE Page.PAGEITEMTYPE IN ('Downloadcenterfiler') AND Page.PAGEACTIVE = 1 AND Page.PAGEAREAID = " + GetGlobalValue("Global:Area.ID") + ") ";
234 sql += "AND ItemType_DownloadcenterFiler.VisPaaFacadeProdukt='True' ";
235 sql += "ORDER BY ItemType_Downloadcenterfiler.SORT";
236 var dwfil = Database.CreateDataReader(sql);
237 string dwstr = "";
238
239 while (dwfil.Read()) {
240
241 string Navn = ""+dwfil["Navn"];
242 string Fil = ""+dwfil["Fil"];
243 var filarr = new List<string>(Fil.Split('.'));
244 int count = filarr.Count;
245 count = count - 1;
246 string ext = ""+filarr[count];
247 string cssext = "";
248
249 if(ext.ToUpper() != "PDF" && ext.ToUpper() != "MP4" && ext.ToUpper() != "MPEG" && ext.ToUpper() != "AVI"){
250 ext = "Fil";
251 cssext = "fa-file-o";
252 }
253
254 if(ext.ToUpper() == "MP4" || ext.ToUpper() == "MPEG" || ext.ToUpper() == "AVI"){
255 ext = "Video";
256 cssext = "fa-file-video-o";
257 }
258
259 if(ext.ToUpper() == "PDF"){
260 ext = "PDF";
261 cssext = "fa-file-pdf-o";
262 }
263
264 dwstr += "<a href=\"" + Fil + "\"><span>" + Navn + "</span><i class=\"fa " + cssext + "\" aria-hidden=\"true\">" + ext + "</i></a>";
265
266 }
267
268
269 if(dwstr != ""){
270 str += "<div class=\"page-row bg-darkgray\">";
271 str += "<div class=\"content\">";
272 str += "<a href=\"javascript:void(0)\" class=\"btn download-large bg-orange\"><i class=\"fa fa-cloud-download\" aria-hidden=\"true\"></i><span>Download</span><i class=\"fa fa-angle-down\" aria-hidden=\"true\"></i></a>";
273 str += "</div>";
274 str += "</div>";
275
276 str += "<div class=\"page-row bg-lightgray download-list\">";
277 str += "<div>";
278 str += "<div class=\"content\">";
279
280 str += dwstr;
281
282 str += "<a href=\"/files/filer/ds_staalprofil/DS website 2017/downloadcenter/Produktkatalog/"+ Translate("productcatalognavn", "Produktkatalog_dk.pdf") +"\" target=\"_blank\"><span>"+ Translate("productcatalog", "Produkt katalog") +"</span><i class=\"fa fa-file-pdf-o\" aria-hidden=\"true\">PDF</i></a>";
283
284 str += "</div>";
285 str += "</div>";
286 str += "</div>";
287 }
288
289
290
291
292 sql = "SELECT TOP 9 * FROM ItemType_ReferencerSP ";
293 sql += "WHERE ItemType_ReferencerSP.ID IN (SELECT page.PAGEITEMID FROM Page WHERE Page.PAGEITEMTYPE IN ('ReferencerSP') AND Page.PAGEACTIVE = 1 AND Page.PAGEAREAID = " + GetGlobalValue("Global:Area.ID") + ") ";
294 @*sql += "AND ItemType_ReferencerSP.KNYTTILFACADEPRODUKT = '" + strID + "' ";*@
295 sql += "AND CONCAT(',', ItemType_ReferencerSP.KNYTTILFACADEPRODUKT, ',') LIKE '%," + strID + ",%'";
296 sql += "ORDER BY ItemType_ReferencerSP.FEATURE DESC, ItemType_ReferencerSP.SORT";
297 var cases = Database.CreateDataReader(sql);
298 string casegridstr = "";
299 string caseflexstr = "";
300 Random rand = new Random();
301
302 while (cases.Read()) {
303
304 string caseID = ""+cases["ID"];
305 string overskrift = ""+cases["OVERSKRIFT"];
306 string thumb = ""+cases["THUMB"];
307 string ImgAlt = "" + cases["ImgAlt"];
308 if (ImgAlt == "") {
309 ImgAlt = overskrift;
310 }
311 thumb = "/admin/public/getimage.ashx?Image=" + thumb + "&height=600&Compression=60";
312 string thumbclass = ""+cases["THUMBDIMENSIONER"];
313
314
315 @*string rnd = ""+ rand.Next(1, 4);*@
316 string rnd = ""+ rand.Next(2, 4);
317 if (thumbclass == "") {
318 thumbclass = "type-" + rnd;
319 }
320
321 casegridstr += "<div class=\"grid-item " + thumbclass + "\"><a href=\"Default.aspx?ID=" + Translate("langid_inspirationdetail", "3494") + "&itemId=ReferencerSP:" + caseID + "\"><div class=\"grid-text\"><p class=\"lead\">" + overskrift + "</p></div><div class=\"grid-image bottom-shade img-bg-fill\"><img src=\"" + thumb + "\" style=\"background-image: url('" + thumb + "');\" alt=\"" + ImgAlt + "\" /></div></a></div>";
322 caseflexstr += "<li class=\"img-bg-fill\"><img src=\"" + thumb + "\" style=\"background-image: url('" + thumb + "');\" alt=\"" + ImgAlt + "\" /><a href=\"Default.aspx?ID=" + Translate("langid_inspirationdetail", "3494") + "&itemId=ReferencerSP:" + caseID + "\"><div class=\"slide-text\"><p class=\"lead\">" + overskrift + "</p></div></a></li>";
323 }
324
325
326
327
328
329
330
331
332 if(casegridstr != "") {
333
334 str += "<div class=\"page-row bg-lightgray ref-list\">";
335 str += "<div class=\"content no-margin-right no-margin-left\">";
336
337 str += "<div class=\"text no-margin-right no-margin-left\">";
338 str += "<h2 class=\"left-align margin-right margin-left\">" + Translate("referencer", "Referencer") + "</h2>";
339 str += "<div class=\"grid grid-wrapper\">";
340 str += "<div class=\"grid-sizer\"></div>";
341 str += casegridstr;
342 str += "</div>";
343
344 str += "<div class=\"ref-slider-wrapper\">";
345 str += "<div class=\"ref-slider\">";
346 str += "<ul class=\"slides\">";
347 str += caseflexstr;
348 str += "</ul>";
349 str += "</div>";
350 str += "</div>";
351
352 str += "<div style=\"text-align: center; padding-top: 30px;\"><a class=\"btn orange-border only-desktop\" href=\"/Default.aspx?ID=" + Translate("langid_inspirationlist", "3416") + "&facade-produkter=" + kat + "\">" + Translate("seflerereferencer", "Se flere referencer") + "</a></div>";
353
354 str += "</div>";
355
356 str += "</div>";
357 str += "</div>";
358 }
359
360
361
362
363
364
365
366
367
368
369 str += "</div>";
370
371
372 }
373
374 @str
375 @if(employeeString != "") {
376 int userId = int.Parse(employeeString);
377 var employee = Dynamicweb.Security.UserManagement.User.GetUserByID(userId);
378
379 string title = employee.JobTitle;
380 string linkedInLink = "";
381 string titelDe = "";
382 string titelEn = "";
383
384
385 foreach(var item in employee.CustomFieldValues) {
386 if(item.CustomField.SystemName == "AccessUser_Tysk_titel") {
387 titelDe = ""+item.Value;
388 }
389 if(item.CustomField.SystemName == "AccessUser_EN_titel") {
390 titelEn = ""+item.Value;
391 }
392 if(item.CustomField.SystemName == "AccessUser_LinkedinLink") {
393 linkedInLink = ""+item.Value;
394 }
395
396 }
397 string ctaNavTag = "CtaFormPage";
398 if(Pageview.AreaID == 44) {
399 title = titelDe;
400 ctaNavTag = ctaNavTag + "De";
401 }
402 if(Pageview.AreaID == 52) {
403 title = titelEn;
404 ctaNavTag = ctaNavTag + "En";
405 }
406 int ctaPageId = GetPageIdByNavigationTag(ctaNavTag);
407 string formLink = "/Default.aspx?ID=" + ctaPageId + "&userid=" + employeeString;
408
409 var linkedInStripped = "";
410 if(linkedInLink.Contains("https://")) {
411 linkedInStripped = linkedInLink.Replace("https://", "");
412 } else if(linkedInLink.Contains("http://")) {
413 linkedInStripped = linkedInLink.Replace("http://", "");
414 }
415
416 <div class="page-row cta-section">
417 <div class="content">
418 <div class="cta-container">
419 <div class="cta-top" style="padding-top:25px;">
420 <div class="row">
421 @if(!string.IsNullOrWhiteSpace(employee.Image)) {
422 <div class="column-2 cta-img-wrapper">
423 <img src="/admin/public/getimage.ashx?Image=@employee.Image&height=180&width=180&Compression=60&crop=2" alt="@employee.Name" />
424 </div>
425 }
426
427 <div class="column-8">
428 <h2>@Translate("cta_headline")</h2>
429 <p>@employee.Name</p>
430 <p>@title</p>
431 <br />
432 @if(!string.IsNullOrWhiteSpace(employee.Phone)) {
433 <p>@Translate("cta_tel") <a class="cta-phone" href="tel:@employee.Phone.Replace(" ", "")">@employee.Phone</a></p>
434 }
435 @if(!string.IsNullOrWhiteSpace(employee.PhoneMobile)) {
436 <p>@Translate("cta_phone") <a class="cta-phone" href="tel:@employee.PhoneMobile.Replace(" ", "")">@employee.PhoneMobile</a></p>
437 }
438
439 <br />
440 @if(!string.IsNullOrWhiteSpace(linkedInLink)) {
441 <a href="@linkedInLink" target="_blank"><span class="cta-li-icon"><i class="fa fa-linkedin-square"></i></span>@linkedInStripped</a>
442 }
443
444 </div>
445 <div class="column-2 right">
446 <a href="@formLink" style="text-decoration:none;" class="cta-top-btn" onclick="ctaOpenBottom()">@Translate("cta_type_message") </a>
447 </div>
448 </div>
449 </div>
450
451 </div>
452
453
454 </div>
455 </div>
456 }
DEALER
Find your nearest DS Stålprofil product range dealer
ADVICE
Our consultants are ready to offer advice and to help you