Error executing template "/Designs/HagsCore/Paragraph/AssetsSearch.cshtml"
System.ArgumentException: An item with the same key has already been added.
   at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at Dynamicweb.Ecommerce.Products.GroupRelation.get_GroupRelationsByChildId(String childId)
   at Dynamicweb.Ecommerce.Products.Group.get_IsTopGroup()
   at System.Linq.Enumerable.WhereListIterator`1.MoveNext()
   at Dynamicweb.Ecommerce.Products.GroupService.GetToplevelGroups()
   at Dynamicweb.Ecommerce.Products.GroupService.GetToplevelGroups(String languageId)
   at HagsWeb.Library.Methods.AssetSearch.ProductAssets.GetValidVariantOptions(String VariantGroupId, String GroupType, String Lang)
   at HagsWeb.Library.Methods.AssetSearch.ProductAssets.CheckValidVariantOptions(String VariantGroupId, String GroupType, String Lang)
   at CompiledRazorTemplates.Dynamic.RazorEngine_aa13d0d83c144c9caf58c594e6f0e3f5.Execute() in B:\Hags_Live_B\Files\Templates\Designs\HagsCore\Paragraph\AssetsSearch.cshtml:line 128
   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.b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at Dynamicweb.Rendering.Template.RenderRazorTemplate()

1 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 2 @using System.Web.Optimization; 3 @using Dynamicweb.Ecommerce.Variants; 4 @{ 5 string validationMessages = string.Format("messages_{0}.min.js", GetGlobalValue("Global:Area.Lang")); 6 string areaLanguage = GetGlobalValue("Global:Area.Lang"); 7 string customErrorMessage = HagsWeb.Library.Utilities.DWUtilities.GetTranslation("AdvancedSearchError", "You must provide a Product Code or a Product Name for your Search", GetGlobalValue("Global:Area.LongLang")); 8 } 9 10 @*@Scripts.Render("~/bundle/AssetSearch") 11 12 @if (areaLanguage != "en") 13 { 14 // non english validation messages 15 <script src="/Files/Templates/Designs/HagsCore/script/source/libraries/validation/localization/@validationMessages"></script> 16 }*@ 17 18 <input type="hidden" id="CultureLanguage" value="@GetGlobalValue("Global:Area.LongLang")" /> 19 <input type="hidden" id="PageID" value="@GetGlobalValue("Global:Page.ID")" /> 20 <input type="hidden" id="ErrorMessage" value="@customErrorMessage" /> 21 22 <div id="advancedSearch"> 23 <div class="m-search-primary"> 24 <div class="text-center"> 25 <ul> 26 <li><a class="m-btn-search-options btn btn-default text-uppercase" role="button" href="#advancedsearch-ui" data-toggle="tab">@Translate("AdvancedSearch", "Advanced Search")</a></li> 27 <li><a class="m-btn-search-options btn btn-default text-uppercase" role="button" href="#downloadfinder" data-toggle="tab">@Translate("ProductDownloads", "Product Downloads")</a></li> 28 <li><a class="m-btn-search-options btn btn-default text-uppercase" role="button" href="#productcollection" data-toggle="tab">@Translate("MyProductCollection", "My Product Collection")</a></li> 29 <li><a class="m-btn-search-options btn btn-default text-uppercase" role="button" href="#inspirationfinder" data-toggle="tab">@Translate("InspirationFinder", "Inspiration Finder")</a></li> 30 </ul> 31 </div> 32 </div> 33 34 35 <div class="container"> 36 37 <div class="content"> 38 39 <div class="tab-content"> 40 41 <div class="tab-pane fade" id="advancedsearch-ui"> 42 43 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 44 @using Dynamicweb.Ecommerce.Variants; 45 @using HagsWeb.Library.BusinessObjects.UsersLists; 46 @using HagsWeb.Library.State; 47 @{} 48 49 @*@helper AdvancedSearch(string name) { 50 // your helper can contain code and/or markup, e.g. 51 // var msg = "Hello " + name; 52 // <p>@msg</p> 53 // For more information, visit http://go.microsoft.com/fwlink/?LinkID=204658 54 }*@ 55 56 57 @{ 58 Dynamicweb.Frontend.PageView advSearchPage = Dynamicweb.Frontend.PageView.Current() ?? Dynamicweb.Frontend.PageView.Current(); 59 Dynamicweb.Content.Area advSearchArea = new Dynamicweb.Content.AreaService().GetArea(advSearchPage.AreaID); 60 61 string advancedSearchUrl = Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl((Int32)new Dynamicweb.Content.PageService().GetFirstModulePageForArea(advSearchArea.ID, "Searchv1").ID); 62 63 // Search Results in Session - Phase 2 64 //List<AdvancedSearchState> advancedSearchState = SessionManager.UsersAdvancedSearchState != null ? SessionManager.UsersAdvancedSearchState as List<AdvancedSearchState> : new List<AdvancedSearchState>(); 65 66 67 68 69 70 // Dynamicweb.Frontend.PageView thisPage = Dynamicweb.Frontend.PageView.Current() ?? Dynamicweb.Frontend.PageView.Current(); 71 // var area = Dynamicweb.Content.Area.GetAreaById(thisPage.AreaID); 72 73 //var AnchoringVariants = GlobalAnchoringVariants; // Defined in AssetsSearch.cshtml, the controls' parent 74 75 //Dynamicweb.Frontend.PageView thisPage = Dynamicweb.Frontend.PageView.Current() ?? Dynamicweb.Frontend.PageView.Current(); 76 //var area = Dynamicweb.Content.Area.GetAreaById(thisPage.AreaID); 77 78 //Dynamicweb.Frontend.PageView thisPage = Dynamicweb.Frontend.PageView.Current() ?? Dynamicweb.Frontend.PageView.Current(); 79 //ParagraphCollection pageParagraphCollection = Dynamicweb.Content.Paragraph.GetParagraphsByPageID(thisPage.ID); 80 //string pageId = thisPage.ID.ToString(); 81 82 //var area = Dynamicweb.Content.Area.GetAreaById(thisPage.AreaID); 83 // //var l = area.EcomLanguageId; 84 //string EcomLanguageID = area.EcomLanguageId; 85 //string EcomShopID = area.EcomShopID; 86 87 ////string lang = thisPage.GlobalTags.GetTagByName("LongLang").Value; 88 //string l = thisPage.Area.Values["areaecomlanguageid"].ToString(); 89 } 90 91 <div class="m-search-advanced" style="display:block;visibility:visible;"> 92 <div class="m-search-advanced-panel m-search-advanced-product" style="display:block;visibility:visible;"> 93 <div class="l-page"> 94 <div class="container-fluid"> 95 <nav class="text-center"> 96 <ul class="m-nav-tabs-search nav nav-tabs text-uppercase"> 97 <li id="tabSearchPlay" class="active"><a href="#advancedsearch-Play" data-toggle="tab">@Translate("play", "Play")</a></li> 98 <li id="tabSearchSportFitness"><a href="#advancedsearch-SportFitness" data-toggle="tab">@Translate("sport", "Sport &amp; Fitness")</a></li> 99 <li id="tabSearchParkUrban"><a href="#advancedsearch-ParkUrban" data-toggle="tab">@Translate("park", "Park &amp; Urban")</a></li> 100 <li id="tabSearchMarine"><a href="#advancedsearch-Marine" data-toggle="tab">@Translate("marine", "Marine")</a></li> 101 <li id="tabSearchShade"><a href="#advancedsearch-Shade" data-toggle="tab">@Translate("shade", "Shade")</a></li> 102 </ul> 103 </nav> 104 </div> <!-- container-fluid --> 105 <div class="tab-content"> 106 <div class="tab-pane fade in active" id="advancedsearch-Play"> 107 <form id="search-play" name="search-form" method="get" action="@advancedSearchUrl"> 108 <input type="hidden" name="Products" value="Play" /> 109 <div class="l-page"> 110 <div class="container-fluid"> 111 <div class="form-horizontal"> 112 <fieldset class="m-theme-border-grey"> 113 114 <div class="row"> 115 <div class="col-ms-4 col-sm-4"> 116 <div class="form-group"> 117 <label for="aspProductCode" class="col-sm-5 control-label">@Translate("ProductCode", "Product Code")</label> 118 <div class="col-sm-7"><input type="text" class="form-control search-group" id="aspProductCode" name="ProductCode" /></div> 119 </div> 120 </div> 121 <div class="col-ms-4 col-sm-4"> 122 <div class="form-group"> 123 <label for="aspProductName" class="col-sm-5 control-label">@Translate("Name", "Name")</label> 124 <div class="col-sm-7"><input type="text" class="form-control search-group" id="aspProductName" name="ProductName" /></div> 125 </div> 126 </div> 127 @{ 128 List<VariantOption> PlayAnchoringVariants = new HagsWeb.Library.Methods.AssetSearch.ProductAssets().CheckValidVariantOptions("ATP3", "Play", advSearchArea.EcomLanguageId); 129 130 if (PlayAnchoringVariants.Any()) 131 { 132 <div class="col-ms-4 col-sm-4"> 133 <div class="form-group"> 134 135 <label for="aspAnchoringType" class="col-sm-5 control-label">@Translate("Anchoring", "Anchoring")</label> 136 <div class="col-sm-7"> 137 <select class="form-control" id="aspAnchoringType" name="AnchoringType"> 138 <option value="0">@Translate("SelectAnchoring", "Select Anchoring Type")</option> 139 @foreach (var option in PlayAnchoringVariants) 140 { 141 <option value='@option.Id'>@option.Name</option> 142 } 143 </select> 144 </div> 145 </div> 146 </div> 147 } 148 else 149 { 150 <input type="hidden" name="AnchoringType" value="0" /> 151 } 152 153 } 154 155 </div> <!-- row --> 156 @*<input type="hidden" name="productsInSession" value="@advancedSearchState.Count()" />*@ 157 158 </fieldset> 159 160 161 162 163 </div> <!--form - horizontal--> 164 </div> <!--container - fluid--> 165 </div> <!--l - page--> 166 <div class="m-search-advanced-buttons text-center"> 167 <button class="m-btn-search btn btn-default text-uppercase" type="reset" name="reset">@Translate("Reset", "Reset")</button> 168 <button class="m-btn-search btn btn-default text-uppercase" type="submit">@Translate("Search", "Search")</button> 169 </div> 170 </form> 171 172 @*<script> 173 $("#search-play").validate(); 174 </script>*@ 175 <div id="results-search-play" class="m-search-advanced-results-panel"> 176 177 @*// Search Results in Session - Phase 2 178 @if (advancedSearchState.Any()) 179 { 180 181 foreach (AdvancedSearchState product in advancedSearchState) 182 { 183 @String.Format("{0}", product.Products) 184 } 185 }*@ 186 187 </div> 188 </div> 189 <div class="tab-pane fade in" id="advancedsearch-SportFitness"> 190 <form id="search-sport" name="search-form" method="get" action="@advancedSearchUrl"> 191 <input type="hidden" name="Products" value="Sport" /> 192 <div class="l-page"> 193 <div class="container-fluid"> 194 <div class="form-horizontal"> 195 <fieldset class="m-theme-border-grey"> 196 <div class="row"> 197 <div class="col-ms-4 col-sm-4"> 198 <div class="form-group"> 199 <label for="sfProductCode" class="col-sm-5 control-label">@Translate("ProductCode", "Product Code")</label> 200 <div class="col-sm-7"><input type="text" class="form-control search-group" id="sfProductCode" name="ProductCode" /></div> 201 </div> 202 </div> 203 <div class="col-ms-4 col-sm-4"> 204 <div class="form-group"> 205 <label for="sfProductName" class="col-sm-5 control-label">@Translate("Name", "Name")</label> 206 <div class="col-sm-7"><input type="text" class="form-control search-group" id="sfProductName" name="ProductName" /></div> 207 </div> 208 </div> 209 210 @{ 211 List<VariantOption> SportAnchoringVariants = new HagsWeb.Library.Methods.AssetSearch.ProductAssets().CheckValidVariantOptions("ATP3", "Sport", advSearchArea.EcomLanguageId); 212 213 if (SportAnchoringVariants.Count() > 0) 214 { 215 <div class="col-ms-4 col-sm-4"> 216 <div class="form-group"> 217 <label for="sfAdvancedSearch" class="col-sm-5 control-label">@Translate("Anchoring", "Anchoring")</label> 218 <div class="col-sm-7"> 219 <select class="form-control" id="sfAdvancedSearch" name="AnchoringType"> 220 <option value="0"> @Translate("SelectAnchoring", "Select Anchoring Type") </option> 221 @foreach (var option in SportAnchoringVariants) 222 { 223 <option value='@option.Id'> @option.Name </option> 224 } 225 </select> 226 </div> 227 </div> 228 </div> 229 } 230 else 231 { 232 <input type="hidden" name="AnchoringType" value="0" /> 233 } 234 } 235 236 </div> <!-- row --> 237 </fieldset> 238 </div> <!-- form-horizontal --> 239 </div> <!-- container-fluid --> 240 </div> <!-- l-page --> 241 <div class="m-search-advanced-buttons text-center"> 242 <button class="m-btn-search btn btn-default text-uppercase" type="reset" name="reset">@Translate("Reset", "Reset")</button> 243 <button class="m-btn-search btn btn-default text-uppercase" type="submit">@Translate("Search", "Search")</button> 244 </div> 245 </form> 246 <div id="results-search-sportfitness" class="m-search-advanced-results-panel"> 247 @*// Search Results in Session - Phase 2 248 @if (advancedSearchState.Any()) 249 { 250 251 foreach (AdvancedSearchState product in advancedSearchState) 252 { 253 @String.Format("{0}", product.Products) 254 } 255 }*@ 256 </div> 257 </div> 258 <div class="tab-pane fade in" id="advancedsearch-ParkUrban"> 259 <form id="search-park" name="search-form" method="get" action="@advancedSearchUrl"> 260 <input type="hidden" name="Products" value="Park" /> 261 <div class="l-page"> 262 <div class="container-fluid"> 263 <div class="form-horizontal"> 264 <fieldset class="m-theme-border-grey"> 265 <div class="row"> 266 <div class="col-ms-4 col-sm-4"> 267 <div class="form-group"> 268 <label for="puProductCode" class="col-sm-5 control-label">@Translate("ProductCode", "Product Code")</label> 269 <div class="col-sm-7"><input type="text" class="form-control search-group" id="puProductCode" name="ProductCode" /></div> 270 </div> 271 </div> 272 <div class="col-ms-4 col-sm-4"> 273 <div class="form-group"> 274 <label for="puProductName" class="col-sm-5 control-label">@Translate("Name", "Name")</label> 275 <div class="col-sm-7"><input type="text" class="form-control search-group" id="puProductName" name="ProductName" /></div> 276 </div> 277 </div> 278 @{ 279 List<VariantOption> ParkAnchoringVariants = new HagsWeb.Library.Methods.AssetSearch.ProductAssets().CheckValidVariantOptions("ATP3", "Park", advSearchArea.EcomLanguageId); 280 281 if (ParkAnchoringVariants.Count() > 0) 282 { 283 <div class="col-ms-4 col-sm-4"> 284 <div class="form-group"> 285 <label for="puAnchoringType" class="col-sm-5 control-label">@Translate("Anchoring", "Anchoring")</label> 286 <div class="col-sm-7"> 287 <select class="form-control" id="puAnchoringType" name="AnchoringType"> 288 <option value="0"> @Translate("SelectAnchoring", "Select Anchoring Type") </option> 289 @foreach (var option in ParkAnchoringVariants) 290 { 291 <option value='@option.Id'> @option.Name </option> 292 } 293 </select> 294 </div> 295 </div> 296 </div> 297 } 298 else 299 { 300 <input type="hidden" name="AnchoringType" value="0" /> 301 } 302 } 303 304 </div> <!-- row --> 305 </fieldset> 306 </div> <!-- form-horizontal --> 307 </div> <!-- container-fluid --> 308 </div> <!-- l-page --> 309 <div class="m-search-advanced-buttons text-center"> 310 <button class="m-btn-search btn btn-default text-uppercase" type="reset" name="reset">@Translate("Reset", "Reset")</button> 311 <button class="m-btn-search btn btn-default text-uppercase" type="submit">@Translate("Search", "Search")</button> 312 </div> 313 </form> 314 <div id="results-search-parkurban" class="m-search-advanced-results-panel"> 315 @*// Search Results in Session - Phase 2 316 @if (advancedSearchState.Any()) 317 { 318 319 foreach (AdvancedSearchState product in advancedSearchState) 320 { 321 @String.Format("{0}", product.Products) 322 } 323 }*@ 324 </div> 325 </div> 326 <div class="tab-pane fade in" id="advancedsearch-Marine"> 327 <form id="search-marine" name="search-form" method="get" action="@advancedSearchUrl"> 328 <input type="hidden" name="Products" value="Marine" /> 329 <div class="l-page"> 330 <div class="container-fluid"> 331 <div class="form-horizontal"> 332 <fieldset class="m-theme-border-grey"> 333 <div class="row"> 334 <div class="col-ms-4 col-sm-4"> 335 <div class="form-group"> 336 <label for="mProductCode" class="col-sm-5 control-label">@Translate("ProductCode", "Product Code")</label> 337 <div class="col-sm-7"><input type="text" class="form-control search-group" id="mProductCode" name="ProductCode" /></div> 338 </div> 339 </div> 340 <div class="col-ms-4 col-sm-4"> 341 <div class="form-group"> 342 <label for="mProductName" class="col-sm-5 control-label">@Translate("Name", "Name")</label> 343 <div class="col-sm-7"><input type="text" class="form-control search-group" id="mProductName" name="ProductName" /></div> 344 </div> 345 </div> 346 @{ 347 List<VariantOption> MarineAnchoringVariants = new HagsWeb.Library.Methods.AssetSearch.ProductAssets().CheckValidVariantOptions("ATP3", "Marine", advSearchArea.EcomLanguageId); 348 349 if (MarineAnchoringVariants.Count() > 0) 350 { 351 <div class="col-ms-4 col-sm-4"> 352 <div class="form-group"> 353 <label for="mAnchoringType" class="col-sm-5 control-label">@Translate("Anchoring", "Anchoring")</label> 354 <div class="col-sm-7"> 355 <select class="form-control" id="mAnchoringType" name="AnchoringType"> 356 <option value="0"> @Translate("SelectAnchoring", "Select Anchoring Type") </option> 357 @foreach (var option in MarineAnchoringVariants) 358 { 359 <option value='@option.Id'> @option.Name </option> 360 } 361 </select> 362 </div> 363 </div> 364 </div> 365 } 366 else 367 { 368 <input type="hidden" name="AnchoringType" value="0" /> 369 } 370 } 371 372 </div> <!-- row --> 373 </fieldset> 374 </div> <!-- form-horizontal --> 375 </div> <!-- container-fluid --> 376 </div> <!-- l-page --> 377 <div class="m-search-advanced-buttons text-center"> 378 <button class="m-btn-search btn btn-default text-uppercase" type="reset" name="reset">@Translate("Reset", "Reset")</button> 379 <button class="m-btn-search btn btn-default text-uppercase" type="submit">@Translate("Search", "Search")</button> 380 </div> 381 </form> 382 <div id="results-search-marine" class="m-search-advanced-results-panel"> 383 @*// Search Results in Session - Phase 2 384 @if (advancedSearchState.Any()) 385 { 386 387 foreach (AdvancedSearchState product in advancedSearchState) 388 { 389 @String.Format("{0}", product.Products) 390 } 391 }*@ 392 </div> 393 </div> 394 <div class="tab-pane fade in" id="advancedsearch-Shade"> 395 <form id="search-shade" name="search-form" method="get" action="@advancedSearchUrl"> 396 <input type="hidden" name="Products" value="Shade" /> 397 <div class="l-page"> 398 <div class="container-fluid"> 399 <div class="form-horizontal"> 400 <fieldset class="m-theme-border-grey"> 401 <div class="row"> 402 <div class="col-ms-4 col-sm-4"> 403 <div class="form-group"> 404 <label for="sProductCode" class="col-sm-5 control-label">@Translate("ProductCode", "Product Code")</label> 405 <div class="col-sm-7"><input type="text" class="form-control search-group" id="sProductCode" name="ProductCode" /></div> 406 </div> 407 </div> 408 <div class="col-ms-4 col-sm-4"> 409 <div class="form-group"> 410 <label for="sProductName" class="col-sm-5 control-label">@Translate("Name", "Name")</label> 411 <div class="col-sm-7"><input type="text" class="form-control search-group" id="sProductName" name="ProductName" /></div> 412 </div> 413 </div> 414 @{ 415 List<VariantOption> ShadeAnchoringVariants = new HagsWeb.Library.Methods.AssetSearch.ProductAssets().CheckValidVariantOptions("ATP3", "Shade", advSearchArea.EcomLanguageId); 416 417 if (ShadeAnchoringVariants.Count() > 0) 418 { 419 <div class="col-ms-4 col-sm-4"> 420 <div class="form-group"> 421 <label for="sAnchoringType" class="col-sm-5 control-label">@Translate("Anchoring", "Anchoring")</label> 422 <div class="col-sm-7"> 423 <select class="form-control" id="sAnchoringType" name="AnchoringType"> 424 <option value="0"> @Translate("SelectAnchoring", "Select Anchoring Type") </option> 425 @foreach (var option in ShadeAnchoringVariants) 426 { 427 <option value='@option.Id'> @option.Name </option> 428 } 429 </select> 430 </div> 431 </div> 432 </div> 433 } 434 else 435 { 436 <input type="hidden" name="AnchoringType" value="0" /> 437 } 438 } 439 440 </div> <!-- row --> 441 </fieldset> 442 </div> <!-- form-horizontal --> 443 </div> <!-- container-fluid --> 444 </div> <!-- l-page --> 445 <div class="m-search-advanced-buttons text-center"> 446 <button class="m-btn-search btn btn-default text-uppercase" type="reset" name="reset">@Translate("Reset", "Reset")</button> 447 <button class="m-btn-search btn btn-default text-uppercase" type="submit">@Translate("Search", "Search")</button> 448 </div> 449 </form> 450 <div id="results-search-shade" class="m-search-advanced-results-panel"> 451 @*// Search Results in Session - Phase 2 452 @if (advancedSearchState.Any()) 453 { 454 455 foreach (AdvancedSearchState product in advancedSearchState) 456 { 457 @String.Format("{0}", product.Products) 458 } 459 }*@ 460 </div> 461 </div> 462 </div> 463 </div> <!-- l-page --> 464 </div> <!-- m-search-advanced-product --> 465 <div class="text-center"> 466 <a href="#advancedsearch-ui" class="m-search-advanced-close"><img src="/Files/Templates/Designs/HagsCore/res/img/buttons/search-advanced-close.svg" data-nosvg="/Files/Templates/Designs/HagsCore/res/img/buttons/search-advanced-close.png" width="112" alt="Search Advanced Close"></a> 467 </div> 468 </div> 469 470 471 472 @*<h1>@GetGlobalValue("Global:Page.Name")</h1> 473 <h1>@GetValue("Global:Page.Name")</h1> 474 <h1>The Advanced Search Include is here.. PageID = @pageId, l=, LanguageID=@EcomLanguageID, ShopID=@EcomShopID, lang=@l</h1> 475 476 <h1>Set Tag = @GetString("CheckTag") // @GetValue("CheckTag") </h1> 477 478 @foreach (var p in pageParagraphCollection) 479 { 480 var a = p.Template; 481 var b = p.ID.ToString(); 482 var c = p.Text; 483 var f = p.Languages; 484 <ul> 485 <li>@a</li> 486 <li>@b</li> 487 <li>@c</li> 488 <li>@f</li> 489 </ul> 490 }*@ 491 492 493 </div> 494 495 <div class="tab-pane fade" id="downloadfinder"> 496 497 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 498 @using HagsWeb.Library.BusinessObjects.UsersLists; 499 @using HagsWeb.Library.State; 500 @using Dynamicweb.Ecommerce.Variants; 501 @{ 502 Dynamicweb.Frontend.PageView downloadsPage = Dynamicweb.Frontend.PageView.Current() ?? Dynamicweb.Frontend.PageView.Current(); 503 Dynamicweb.Content.Area downloadsArea = new Dynamicweb.Content.AreaService().GetArea(downloadsPage.AreaID); 504 505 string downloadsSearchUrl = Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl((Int32)new Dynamicweb.Content.PageService().GetFirstModulePageForArea(downloadsArea.ID, "Searchv1").ID); 506 507 // This seems to be still valid 508 List<VariantOption> ProductDownloadsAnchoringVariants = new HagsWeb.Library.Methods.AssetSearch.ProductAssets().GetVariantOptions("ATP3", downloadsArea.EcomLanguageId); 509 510 511 #region Search Results in Session - Phase 2 512 513 514 //// Search Results in Session - Phase 2 515 //List<AdvancedSearchState> downloadsSearchState = SessionManager.UsersAdvancedSearchState != null ? SessionManager.UsersAdvancedSearchState as List<AdvancedSearchState> : new List<AdvancedSearchState>(); 516 //List<AdvancedSearchState> brochuresStateList = new List<AdvancedSearchState>(); 517 //List<AdvancedSearchState> dwgsStateList = new List<AdvancedSearchState>(); 518 //List<AdvancedSearchState> certificatesStateList = new List<AdvancedSearchState>(); 519 //List<AdvancedSearchState> installationGuidesStateList = new List<AdvancedSearchState>(); 520 521 //if (downloadsSearchState.Count() > 0) 522 //{ 523 // foreach (AdvancedSearchState downloadsState in downloadsSearchState) 524 // { 525 // if (!String.IsNullOrEmpty(downloadsState.Brochures)) 526 // { 527 // AdvancedSearchState broch = new AdvancedSearchState(); 528 // broch.Brochures = downloadsState.Brochures; 529 // brochuresStateList.Add(broch); 530 // } 531 // if (!String.IsNullOrEmpty(downloadsState.Dwgs)) 532 // { 533 // AdvancedSearchState dwg = new AdvancedSearchState(); 534 // dwg.Dwgs = downloadsState.Dwgs; 535 // dwgsStateList.Add(dwg); 536 // } 537 // if (!String.IsNullOrEmpty(downloadsState.Certificates)) 538 // { 539 // AdvancedSearchState certs = new AdvancedSearchState(); 540 // certs.Certificates = downloadsState.Certificates; 541 // certificatesStateList.Add(certs); 542 // } 543 // if (!String.IsNullOrEmpty(downloadsState.InstallationGuides)) 544 // { 545 // AdvancedSearchState guide = new AdvancedSearchState(); 546 // guide.InstallationGuides = downloadsState.InstallationGuides; 547 // installationGuidesStateList.Add(guide); 548 // } 549 // } 550 551 //} 552 #endregion 553 554 } 555 <div class="m-search-advanced" style="display:block;visibility:visible;"> 556 <div class="m-search-advanced-panel m-search-advanced-product" style="display:block;visibility:visible;"> 557 <div class="l-page"> 558 <div class="container-fluid"> 559 <nav class="text-center"> 560 <ul class="m-nav-tabs-search nav nav-tabs text-uppercase"> 561 <li><a href="#download-brochures" data-toggle="tab">@Translate("Brochures", "Brochures")</a></li> 562 <li><a href="#download-dwg" data-toggle="tab">@Translate("DWGFiles", "DWG Files")</a></li> 563 <li><a href="#download-certificates" data-toggle="tab">@Translate("Certificates", "Certificates")</a></li> 564 <li><a href="#download-installationguides" data-toggle="tab">@Translate("InstallationGuides", "Installation Guides")</a></li> 565 </ul> 566 </nav> 567 <p>@Translate("ProductDownloadsInstructions", "To find product downloads simply click on one of the options above and then use the search form displayed to find all the documents associated with your search.")</p> 568 <p>&nbsp;</p> 569 </div> <!-- container-fluid --> 570 <div class="tab-content"> 571 572 <div class="tab-pane fade in" id="download-brochures"> 573 <form id="search-brochures" name="search-form" method="post" action="@downloadsSearchUrl?Assets=download-brochures"> 574 <div class="l-page"> 575 <div class="container-fluid"> 576 <div class="form-horizontal"> 577 <input type="hidden" name="SearchType" value="download-brochures" /> 578 </div> <!-- form-horizontal --> 579 </div> <!-- container-fluid --> 580 </div> <!-- l-page --> 581 <div class="m-search-advanced-buttons text-center"> 582 @*<button class="m-btn-search btn btn-default text-uppercase" type="submit">@Translate("DownloadAll", "Download All")</button>*@ 583 @*<button class="m-btn-search btn btn-default text-uppercase" type="reset" >@Translate("Reset", "Reset")</button>*@ 584 <button class="m-btn-search btn btn-default text-uppercase" type="submit">@Translate("DisplayBrochures", "Display All Brochures")</button> 585 </div> 586 <div class="l-page"> 587 <div class="container-fluid"> 588 589 <div id="results-brochures" class="m-downloads m-search-advanced-results-panel"> 590 @*// SearchState - Phase 2 591 @if (brochuresStateList.Any()) 592 { 593 foreach (AdvancedSearchState brochures in brochuresStateList) 594 { 595 @String.Format("{0}", brochures.Brochures) 596 } 597 }*@ 598 </div> <!-- m-downloads --> 599 </div> <!-- container-fluid --> 600 </div> <!-- l-page --> 601 </form> 602 </div> 603 604 <div class="tab-pane fade in" id="download-dwg"> 605 <form id="search-dwg" name="search-form" method="post" action="@downloadsSearchUrl?Assets=download-dwg"> 606 <div class="l-page"> 607 <div class="container-fluid"> 608 <div class="form-horizontal"> 609 <fieldset id="dwg-criteria" class="m-theme-border-grey"> 610 <input type="hidden" name="SearchType" value="download-dwg" /> 611 <div class="row"> 612 <div class="col-ms-4 col-sm-4"> 613 <div class="form-group"> 614 <label for="dwgProductCode" class="col-sm-5 control-label">@Translate("ProductCode", "Product Code")</label> 615 <div class="col-sm-7"><input type="text" class="form-control search-group" id="dwgProductCode" name="ProductCode" /></div> 616 </div> 617 </div> 618 <div class="col-ms-4 col-sm-4"> 619 <div class="form-group"> 620 <label for="dwgProductName" class="col-sm-5 control-label">@Translate("Name", "Name")</label> 621 <div class="col-sm-7"><input type="text" class="form-control search-group" id="dwgProductName" name="ProductName" /></div> 622 </div> 623 </div> 624 @if (ProductDownloadsAnchoringVariants.Count() > 0) 625 { 626 627 <div class="col-ms-4 col-sm-4"> 628 <div class="form-group"> 629 630 <label for="dwgAnchoringType" class="col-sm-5 control-label">@Translate("Anchoring", "Anchoring")</label> 631 <div class="col-sm-7"> 632 <select class="form-control" id="dwgAnchoringType" name="AnchoringType"> 633 <option value="0">@Translate("SelectAnchoring", "Select Anchoring Type")</option> 634 @foreach (var option in ProductDownloadsAnchoringVariants) 635 { 636 <option value='@option.Id'>@option.Name</option> 637 } 638 </select> 639 </div> 640 </div> 641 </div> 642 643 } 644 </div> <!-- row --> 645 </fieldset> 646 </div> <!-- form-horizontal --> 647 </div> <!-- container-fluid --> 648 </div> <!-- l-page --> 649 <div class="m-search-advanced-buttons text-center"> 650 @*<button class="m-btn-search btn btn-default text-uppercase" type="submit">@Translate("DownloadAll", "Download All")</button>*@ 651 <button class="m-btn-search btn btn-default text-uppercase" type="reset">@Translate("Reset", "Reset")</button> 652 <button class="m-btn-search btn btn-default text-uppercase" type="submit">@Translate("Search", "Search")</button> 653 </div> 654 <div class="l-page"> 655 <div class="container-fluid"> 656 657 <div id="results-dwgs" class="m-downloads m-search-advanced-results-panel"> 658 @*// SearchState - Phase 2 659 @if (dwgsStateList.Any()) 660 { 661 foreach (AdvancedSearchState dwgs in dwgsStateList) 662 { 663 @String.Format("{0}", dwgs.Dwgs) 664 } 665 }*@ 666 </div> <!-- m-downloads --> 667 668 669 </div> <!-- container-fluid --> 670 </div> <!-- l-page --> 671 </form> 672 </div> 673 <div class="tab-pane fade in" id="download-certificates"> 674 <form id="search-certificates" name="search-form" method="post" action="@downloadsSearchUrl?Assets=download-certificates"> 675 <div class="l-page"> 676 <div class="container-fluid"> 677 <div class="form-horizontal"> 678 <fieldset id="certificates-criteria" class="m-theme-border-grey"> 679 <input type="hidden" name="SearchType" value="download-certificates" /> 680 <div class="row"> 681 <div class="col-ms-4 col-sm-4"> 682 <div class="form-group"> 683 <label for="certsProductCode" class="col-sm-5 control-label">@Translate("ProductCode", "Product Code")</label> 684 <div class="col-sm-7"><input type="text" class="form-control search-group" id="certsProductCode" name="ProductCode" /></div> 685 </div> 686 </div> 687 <div class="col-ms-4 col-sm-4"> 688 <div class="form-group"> 689 <label for="certsProductName" class="col-sm-5 control-label">@Translate("Name", "Name")</label> 690 <div class="col-sm-7"><input type="text" class="form-control search-group" id="certsProductName" name="ProductName" /></div> 691 </div> 692 </div> 693 @if (ProductDownloadsAnchoringVariants.Count() > 0) 694 { 695 696 <div class="col-ms-4 col-sm-4"> 697 <div class="form-group"> 698 699 <label for="certsAnchoringType" class="col-sm-5 control-label">@Translate("Anchoring", "Anchoring")</label> 700 <div class="col-sm-7"> 701 <select class="form-control" id="certsAnchoringType" name="AnchoringType"> 702 <option value="0">@Translate("SelectAnchoring", "Select Anchoring Type")</option> 703 @foreach (var option in ProductDownloadsAnchoringVariants) 704 { 705 <option value='@option.Id'>@option.Name</option> 706 } 707 </select> 708 </div> 709 </div> 710 </div> 711 712 } 713 </div> <!-- row --> 714 </fieldset> 715 </div> <!-- form-horizontal --> 716 </div> <!-- container-fluid --> 717 </div> <!-- l-page --> 718 <div class="m-search-advanced-buttons text-center"> 719 @*<button class="m-btn-search btn btn-default text-uppercase" type="submit">@Translate("DownloadAll", "Download All")</button>*@ 720 <button class="m-btn-search btn btn-default text-uppercase" type="reset">@Translate("Reset", "Reset")</button> 721 <button class="m-btn-search btn btn-default text-uppercase" type="submit">@Translate("Search", "Search")</button> 722 723 <div class="adviceMessage"></div> 724 725 </div> 726 <div class="l-page"> 727 <div class="container-fluid"> 728 729 <div id="results-certificates" class="m-downloads m-search-advanced-results-panel"> 730 @*// SearchState - Phase 2 731 @if (certificatesStateList.Any()) 732 { 733 foreach (AdvancedSearchState certs in certificatesStateList) 734 { 735 @String.Format("{0}", certs.Certificates) 736 } 737 }*@ 738 739 </div> <!-- m-downloads --> 740 741 742 </div> <!-- container-fluid --> 743 744 </div> <!-- l-page --> 745 </form> 746 </div> 747 <div class="tab-pane fade in" id="download-installationguides"> 748 <form id="search-installationguides" name="search-form" method="post" action="@downloadsSearchUrl?Assets=download-installationguides"> 749 <div class="l-page"> 750 <div class="container-fluid"> 751 <div class="form-horizontal"> 752 <fieldset id="installationguides-criteria" class="m-theme-border-grey"> 753 <input type="hidden" name="SearchType" value="download-installationguides" /> 754 <div class="row"> 755 <div class="col-ms-4 col-sm-4"> 756 <div class="form-group"> 757 <label for="guidesProductCode" class="col-sm-5 control-label">@Translate("ProductCode", "Product Code")</label> 758 <div class="col-sm-7"><input type="text" class="form-control search-group" id="guidesProductCode" name="ProductCode" /></div> 759 </div> 760 </div> 761 <div class="col-ms-4 col-sm-4"> 762 <div class="form-group"> 763 <label for="guidesProductName" class="col-sm-5 control-label">@Translate("Name", "Name")</label> 764 <div class="col-sm-7"><input type="text" class="form-control search-group" id="guidesProductName" name="ProductName" /></div> 765 </div> 766 </div> 767 @if (ProductDownloadsAnchoringVariants.Count() > 0) 768 { 769 770 <div class="col-ms-4 col-sm-4"> 771 <div class="form-group"> 772 773 <label for="guidesAnchoringType" class="col-sm-5 control-label">@Translate("Anchoring", "Anchoring")</label> 774 <div class="col-sm-7"> 775 <select class="form-control" id="guidesAnchoringType" name="AnchoringType"> 776 <option value="0">@Translate("SelectAnchoring", "Select Anchoring Type")</option> 777 @foreach (var option in ProductDownloadsAnchoringVariants) 778 { 779 <option value='@option.Id'>@option.Name</option> 780 } 781 </select> 782 </div> 783 </div> 784 </div> 785 786 } 787 </div> <!-- row --> 788 </fieldset> 789 </div> <!-- form-horizontal --> 790 </div> <!-- container-fluid --> 791 </div> <!-- l-page --> 792 <div class="m-search-advanced-buttons text-center"> 793 @*<button class="m-btn-search btn btn-default text-uppercase" type="submit">@Translate("DownloadAll", "Download All")</button>*@ 794 <button class="m-btn-search btn btn-default text-uppercase" type="reset">@Translate("Reset", "Reset")</button> 795 <button class="m-btn-search btn btn-default text-uppercase" type="submit">@Translate("Search", "Search")</button> 796 </div> 797 <div class="l-page"> 798 <div class="container-fluid"> 799 800 <div id="results-guides" class="m-downloads m-search-advanced-results-panel"> 801 @*// SearchState - Phase 2 802 @if (installationGuidesStateList.Any()) 803 { 804 foreach (AdvancedSearchState guide in installationGuidesStateList) 805 { 806 @String.Format("{0}", guide.InstallationGuides) 807 } 808 }*@ 809 810 </div> <!-- m-downloads --> 811 812 813 </div> <!-- container-fluid --> 814 </div> <!-- l-page --> 815 </form> 816 </div> 817 818 </div> 819 </div> <!-- l-page --> 820 </div> <!-- m-search-advanced-product --> 821 <div class="text-center"> 822 <a href="#downloadfinder" class="m-search-advanced-close"><img src="/Files/Templates/Designs/HagsCore/res/img/buttons/search-advanced-close.svg" data-nosvg="/Files/Templates/Designs/HagsCore/res/img/buttons/search-advanced-close.png" width="112" alt="Search Advanced Close"></a> 823 </div> 824 </div> 825 826 </div> 827 <div class="tab-pane fade" id="productcollection"> 828 829 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 830 @using HagsWeb.Library.BusinessObjects.UsersLists; 831 @using HagsWeb.Library.Methods.AssetManager; 832 @using HagsWeb.Library.State; 833 @{ 834 Dynamicweb.Frontend.PageView collectionPage = Dynamicweb.Frontend.PageView.Current() ?? Dynamicweb.Frontend.PageView.Current(); 835 Dynamicweb.Content.Area collectionArea = new Dynamicweb.Content.AreaService().GetArea(collectionPage.AreaID); 836 837 List<ProductCollectionItem> productCollectionItems = SessionManager.UsersMyProductCollection != null ? SessionManager.UsersMyProductCollection : new List<ProductCollectionItem>(); 838 bool isQuote = Convert.ToBoolean(collectionArea.Item["QuoteAndOrderChk"]); 839 string downloadingText = HagsWeb.Library.Utilities.DWUtilities.GetTranslation("Downloading...", "Downloading...", collectionArea.Culture); 840 int currentPage = collectionArea.ID; 841 } 842 843 844 <input type="hidden" id="isQuote" value="@isQuote" /> 845 <input type="hidden" id="downloadingText" value="@downloadingText" /> 846 <div class="m-search-advanced" style="display:block;visibility:visible;"> 847 848 <!--<div class="pull-left"><h4 class="clearfix">@Translate("MyProductCollection", "My Product Collection")</h4></div>--> 849 850 <div class="text-center" style="clear:both;padding-top:10px; border-bottom: 2px solid #000; padding-bottom: 20px;"> 851 <div id="btns_MyProductCollection"> 852 @if (productCollectionItems.Any()) 853 { 854 <p>@Translate("ProductCollectionButtonInstructions", "Use the buttons below to either download files, create quotes or create orders based on the products you have added to your collection.")</p> 855 856 <ul class="list-inline print-hide"> 857 @{ 858 List<ProductAsset> imageFileList = new List<ProductAsset>(); 859 List<ProductAsset> dwgFileList = new List<ProductAsset>(); 860 List<ProductAsset> instructionsFileList = new List<ProductAsset>(); 861 string contactUsLink = HagsWeb.Library.Utilities.DWUtilities.GetPageByNavigationTag("ContactUs", currentPage); // /kontakta-oss?mode=quote#contactForms // /kontakta-oss?success=True&mode=quote#contactForms // restful url 862 863 foreach (var item in productCollectionItems) 864 { 865 866 foreach (ProductAsset asset in item.AssetDownloads.Where(n => n.Index == HagsWeb.Library.Methods.AssetManager.AssetTypeEnum.ToFriendlyAssetName(HagsWeb.Library.Methods.AssetManager.AssetType.Images) && n.FileName == item.ProductNumber + ".jpg" || n.FileName == item.ProductNumber + "_Side.jpg" || n.FileName == item.ProductNumber + "_Top.jpg").ToList()) 867 { 868 imageFileList.Add(asset); 869 } 870 871 foreach (ProductAsset asset in item.AssetDownloads.Where(n => n.Index == HagsWeb.Library.Methods.AssetManager.AssetTypeEnum.ToFriendlyAssetName(HagsWeb.Library.Methods.AssetManager.AssetType.Drawings)).ToList()) 872 { 873 dwgFileList.Add(asset); 874 } 875 876 foreach (ProductAsset asset in item.AssetDownloads.Where(n => n.Index == HagsWeb.Library.Methods.AssetManager.AssetTypeEnum.ToFriendlyAssetName(HagsWeb.Library.Methods.AssetManager.AssetType.AssemblyInstructions)).ToList()) 877 { 878 instructionsFileList.Add(asset); 879 } 880 881 882 } 883 884 if (imageFileList.Any()) 885 { 886 <li> 887 <a class="m-btn-xs-more btn btn-default btn-xs text-uppercase" name="download" role="button" data-parent="Bilder" id="imageDownloadButton">@Translate("DownloadImages", "Download Images")</a> 888 </li> 889 } 890 891 if (dwgFileList.Any()) 892 { 893 <li> 894 <a class="m-btn-xs-more btn btn-default btn-xs text-uppercase" name="download" role="button" data-parent="Ritningar" id="dwgDownloadButton">@Translate("DownloadDWGFiles", "Download DWG Files")</a> 895 </li> 896 } 897 898 if (instructionsFileList.Any()) 899 { 900 <li> 901 <a class="m-btn-xs-more btn btn-default btn-xs text-uppercase" name="download" role="button" data-parent="Monteringsanvisningar" id="instructionsDownloadButton">@Translate("DownloadInstallationGuides", "Download Installation Guides")</a> 902 </li> 903 } 904 905 if (isQuote) 906 { 907 if (!string.IsNullOrEmpty(contactUsLink)) 908 { 909 <li> 910 <a class="m-btn-xs-more btn btn-default btn-xs text-uppercase" href="@contactUsLink?mode=QuickQuote" role="button" data-parent="#quickquote" id="quickQuoteButton">@Translate("CreateQuickQuote", "Create a Quick Quote")</a> 911 </li> 912 <li> 913 <a class="m-btn-xs-more btn btn-default btn-xs text-uppercase" href="@contactUsLink?mode=QuickOrder" role="button" data-parent="#quickorder" id="quickOrderButton">@Translate("CreateQuickOrder", "Create a Quick Order")</a> 914 </li> 915 } 916 } 917 918 } 919 </ul> 920 921 } 922 923 <span class="error hide"></span> 924 925 </div> 926 927 <div class="m-search-advanced-results-panel" id="frm_MyProductCollection"> 928 <div class="row2"> 929 @if (productCollectionItems.Any()) 930 { 931 932 foreach (ProductCollectionItem item in productCollectionItems) 933 { 934 935 <div class="l-group-5 text-left"> 936 <div class="m-attractor"> 937 <div class="m-attractor-visual"> 938 <a href="@item.ProductUrlReference"><img src="@item.ProductImageUrl" class="img-responsive m-product-thumb"></a> 939 </div> 940 941 <div class="m-attractor-info m-attractor-info-product"> 942 <h3 class="m-theme-after-yellow m-theme-border-yellow"><a href="@item.ProductUrlReference">@item.ProductName</a></h3> 943 @*<p>@item.ProductDescription</p>*@ 944 <p>@Translate("ProductNumber", "Product Number"): @item.ProductNumber</p> 945 <a class="m-btn-xs-more btn btn-default btn-xs text-uppercase" href="@item.ProductUrlReference" role="button">@Translate("ProductDetails", "Product Details")</a> 946 </div> <!-- attractor-info --> 947 <div class="m-attractor-options"> 948 <ul class="m-icon-links list-unstyled"> 949 <li><a href="" name='productcollection' class="clearfix productcollection" data-removeProductlist="@item.ProductNumber"><img src="/Files/Templates/Designs/HagsCore/res/img/icons/plus.svg" data-nosvg="/Files/Templates/Designs/HagsCore/res/img/icons/plus.png" class="m-icon pull-left"><span>@Translate("RemoveFromCollection", "Remove from my collection")</span></a></li> 950 </ul> 951 </div> <!-- m-attractor-options --> 952 </div> 953 954 </div> 955 956 957 } 958 959 } 960 else 961 { 962 <p>@Translate("NoProductsInCollection", "You have no products in your collection.")</p> 963 } 964 </div> 965 966 </div> 967 968 </div> 969 970 <div class="text-center clearfix" style="clear:both;padding-top:10px;"> 971 <a href="#productcollection" class="m-search-advanced-close"><img src="/Files/Templates/Designs/HagsCore/res/img/buttons/search-advanced-close.svg" data-nosvg="/Files/Templates/Designs/HagsCore/res/img/buttons/search-advanced-close.png" width="112" alt="Search Advanced Close"></a> 972 </div> 973 </div> 974 975 976 977 </div> 978 979 <div class="tab-pane fade" id="inspirationfinder"> 980 981 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 982 @using System.Linq; 983 @using Dynamicweb.Content.Items; 984 @{ 985 Dynamicweb.Frontend.PageView thePage = Dynamicweb.Frontend.PageView.Current() ?? Dynamicweb.Frontend.PageView.Current(); 986 int areaId = thePage.Area.ID; 987 988 // Get the current area's Paragraphs and find the ItemPublisher Module, returning a link and its paragraph content. Checks if Normalize latin Chars is set in DW 989 var tuple = HagsWeb.Library.Methods.Items.ItemTypeMethods.GetDefaultCaseStudies(areaId, 3); 990 string paraContent = tuple.Item1; 991 int pageId = tuple.Item2; // The Target Case Study Page listin Case study Item Types 992 string hyperLink = tuple.Item3; 993 bool latinCharacters = tuple.Item4; 994 IEnumerable<Item> caseStudies = tuple.Item5; 995 996 //http://developer.dynamicweb-cms.com/documentation/for-developers/item-based-structure/querying-items.aspx 997 998 //string DataFromItem = RenderItemList(new 999 //{ 1000 // ItemType = "Case_Study", 1001 // ListSourceType = "Page", 1002 // ListSourcePage = "62", 1003 // //IncludeAllChildItems = true, 1004 // //IncludeParagraphItems = true, 1005 // ItemFieldsList = "*", 1006 // ListTemplate = "ItemPublisher/List/Case Study List.cshtml", 1007 // ListPageSize = "100" 1008 //}).ToString(); 1009 1010 ////int productsPageId = GetPageIdByNavigationTag("Legals"); 1011 } 1012 1013 <div class="m-search-advanced" style="display:block;visibility:visible;"> 1014 <!--<h4>@Translate("InspirationFinder", "Inspiration Finder")</h4>--> 1015 1016 <div class="m-search-advanced-results-panel fade in" id="frm_InspirationFinder"> 1017 1018 @if (caseStudies.Any()) 1019 { 1020 1021 foreach (var study in caseStudies) 1022 { 1023 string studyId = study["Id"].ToString(); 1024 string Name = study["Study_Heading"] == null ? string.Empty : study["Study_Heading"].ToString(); 1025 string hyperlinkId = study["Read_More_Button"] == null ? String.Empty : study["Read_More_Button"].ToString(); 1026 string hyperlinkText = string.Empty; 1027 string Url = "Default.aspx?ID=" + pageId + "&itemId=Case_Study:" + studyId; 1028 1029 1030 // string sb_trim_Original = System.Text.RegularExpressions.Regex.Replace(Name, @"[., ?\/#!$%\^&\*;:{}=\-_`~()]", "-").ToLower(); 1031 //string sb_trim = System.Text.RegularExpressions.Regex.Replace(Name, @"[., ?\/#!$%\^&\*;:{}=\-_`~]", "-").ToLower(); 1032 1033 //string Url = hyperLink + "/" + sb_trim; 1034 1035 //if (latinCharacters) 1036 //{ 1037 // Url = HagsWeb.Library.Utilities.DWUtilities.NormalizeLatinCharacters(Url); 1038 //} 1039 1040 //string Url = hyperLink + "/" + sb_trim; 1041 string DateCreated = study["Study_Created_Date"] == null ? string.Empty : study["Study_Created_Date"].ToString(); 1042 string Description = study["Study_Content"] == null ? string.Empty : study["Study_Content"].ToString(); 1043 string StudyImages = study["Images"] == null ? string.Empty : study["Images"].ToString(); 1044 Item studyImage = null; 1045 1046 if (!string.IsNullOrEmpty(StudyImages)) 1047 { 1048 studyImage = HagsWeb.Library.Methods.Items.ItemTypeMethods.GetItemImages(study["Images"].ToString(), 1).FirstOrDefault(); 1049 } 1050 1051 1052 <div class="l-group-content col-xs-6 col-ms-4 col-sm-3"> 1053 1054 <div class="m-attractor"> 1055 1056 <div class="m-attractor-visual"> 1057 1058 @if (studyImage == null) 1059 { 1060 <a href="@Url"><img src="/Files/Templates/Designs/HagsCore/res/img/image-not-found.png" class="img-responsive" /></a> 1061 } 1062 else 1063 { 1064 <a href="@Url"><img src='@studyImage["Image"].ToString()' class="img-responsive"></a> 1065 } 1066 1067 1068 @*<img src="/Admin/Public/GetImage.ashx?width=1920&Compression=75&image=@image">*@ 1069 </div> 1070 1071 <div class="m-attractor-info m-attractor-info-product"> 1072 @if (!String.IsNullOrEmpty(Name)) 1073 { 1074 <h3 class="m-theme-after-yellow m-theme-border-yellow"><a href="@Url">@Name</a></h3> 1075 } 1076 @if (!String.IsNullOrEmpty(Description)) 1077 { 1078 <p>@Description</p> 1079 } 1080 1081 @if (!String.IsNullOrEmpty(DateCreated)) 1082 { 1083 <p>@DateCreated</p> 1084 } 1085 1086 @if (!String.IsNullOrEmpty(Url)) 1087 { 1088 <a class="m-btn-xs-more btn btn-default btn-xs text-uppercase" href="@Url" role="button">@Translate("CaseStudyDetails", "Case Study Details")</a> 1089 } 1090 1091 1092 </div> <!-- attractor-info --> 1093 @*<div class="m-attractor-options"> 1094 1095 <ul class="m-icon-links list-unstyled"> 1096 <li><a href="#" class="clearfix"><img src="/Files/Templates/Designs/HagsCore/res/img/icons/plus.svg" data-nosvg="/Files/Templates/Designs/HagsCore/res/img/icons/plus.png" class="m-icon pull-left"><span>Add to my collection</span></a></li> 1097 </ul> 1098 1099 </div>*@ <!-- m-attractor-options --> 1100 1101 </div> <!-- attractor --> 1102 1103 </div> 1104 } 1105 } 1106 1107 </div> 1108 1109 <div class="text-center all-case-studies"> 1110 1111 @if (!String.IsNullOrEmpty(paraContent)) 1112 { 1113 @paraContent 1114 } 1115 1116 @if (!String.IsNullOrEmpty(hyperLink)) 1117 { 1118 <a class="m-btn-xs-more btn btn-default btn-xs text-uppercase" href="@hyperLink" role="button">@Translate("ViewAllCaseStudies", "View all our case studies")</a> 1119 } 1120 1121 </div> 1122 1123 @*<div class="m-search-advanced-buttons text-center"> 1124 <a class="m-btn-xs-more btn btn-default btn-xs text-uppercase" href="@hyperLink" role="button">@Translate("ViewAllCaseStudies", "View all our case studies")</a> 1125 </div>*@ 1126 1127 @*</div>*@ 1128 1129 <div class="text-center"> 1130 <a href="#inspirationfinder" class="m-search-advanced-close"><img src="/Files/Templates/Designs/HagsCore/res/img/buttons/search-advanced-close.svg" data-nosvg="/Files/Templates/Designs/HagsCore/res/img/buttons/search-advanced-close.png" width="112" alt="Search Advanced Close"></a> 1131 </div> 1132 </div> 1133 1134 </div> 1135 </div> 1136 1137 <div id="NoResults" style="display:none;">Sorry there are currently no items that match your search criteria. Please refine your search using the options above.</div> 1138 1139 </div> 1140 </div> 1141 1142 <div style="margin-top:50px; display:none;" id="SearchResults">@Translate("YourResults", "YourResults") **Search Results here**</div> 1143 1144 1145 </div> 1146 1147 @Scripts.Render("~/bundle/AssetSearch") 1148 1149 @if (areaLanguage != "en") 1150 { 1151 // non english validation messages 1152 <script src="/Files/Templates/Designs/HagsCore/script/source/libraries/validation/localization/@validationMessages"></script> 1153 } 1154

Gower House, Telford

Transformation at Gower House

The Gower Heritage and Enterprise Foundation, based in Telford, contacted HAGS back in March 2016, explaining that as part of the ongoing restoration of the old School House, they would like to refurbish an old legacy playground (Record Playgrounds) dating back from January 1995. The customer’s budget was not sufficient enough to replace the existing equipment with new and so the HAGS Inspection, Maintenance & Repair team was invited to quote to refurbish the existing playground.

The scope of works was agreed meeting the customer’s requirements to come in at a budget of £5,000 and as soon as the customer was successful in obtaining funding from the “Pride in your High Street Fund”, work commenced. The customer would organise the wet pour resurfacing themselves.

The work included clearing the site of debris, supply and install of two new springers, supply a selection of new swing seats and supply a new seat for the gullwing seesaw. The multiplay unit was repaired with missing panels being replaced, a new rope bridge and a new climbing rope net. The roundabout had new bearings. Finally, the swing frames, roundabout, multiplay unit and bench were all repainted.

The transformation is really quite remarkable and shows what can be achieved with a low budget. Future maintenance costs have been reduced by replacing parts with modern, more durable materials where possible.

Location
Telford, United Kingdom
Year Completed
2017
Project Value
£5,000

Related Products

HAGS UK

We believe play is one of the most transformative things humans do. It is essential for us to thrive. Our products enable and encourage everyone to be together and live more playful lives. This, in turn, promotes happier individuals and healthier communities.

United Kingdom

HAGS UK South
Clockhouse Lane East
Egham
Surrey
TW20 8PG Egham
United Kingdom

HAGS UK North
Waterfront Complex
Selby
North Yorkshire
YO8 8AP Selby
North Yorkshire

Follow Hags:

View Distributors