Søg bolig
0 Boliger til salg
På Mit Boligsalg kan du følge salget af din bolig. Se hvor mange der har besøgt din boligpræsentation og hentet en salgsopstilling.
Error compiling template "/Paragraph/user_sale_items.cshtml" Line 80: ; expected Line 28: 'User.GetCurrentExtranetUser()' is obsolete: 'Use UserContext.Current.User instead.' Line 32: 'User.IsExtranetUserLoggedIn()' is obsolete: 'Use IsFrontendUserLoggedIn() instead.' Line 46: 'User.Groups' is obsolete: 'Use GetGroups instead.' Line 80: 'Product' does not contain a definition for 'GetProductsByProductIDs' Line 81: 'Func, IEnumerable >' does not contain a definition for 'ToList' and no accessible extension method 'ToList' accepting a first argument of type 'Func , IEnumerable >' could be found (are you missing a using directive or an assembly reference?) Line 81: 'TSource' does not contain a definition for 'GetFieldDateTimeValue' and the best extension method overload 'ProductExtensions.GetFieldDateTimeValue(Product, string)' requires a receiver of type 'Dynamicweb.Ecommerce.Products.Product' Line 107: The type or namespace name 'Broker' does not exist in the namespace 'RealEstate' (are you missing an assembly reference?) Line 182: The name 'HttpUtility' does not exist in the current context Line 415: 'Utils' does not contain a definition for 'ExtractMaskedEmail' Line 418: 'Utils' does not contain a definition for 'ExtractMaskedEmail' Line 430: 'Utils' does not contain a definition for 'FormatPhoneNumber' Line 442: 'Utils' does not contain a definition for 'FormatPhoneNumber' Line 477: 'Utils' does not contain a definition for 'FormatPhoneNumber' Line 113: The variable 'e' is declared but never used Line 124: The variable 'e' is declared but never used
1 // <auto-generated/> 2 #pragma warning disable 1591 3 namespace CompiledRazorTemplates.Dynamic 4 { 5 #line hidden 6 using System.Threading.Tasks; 7 using System.Collections.Generic; 8 using System.Linq; 9 using System; 10 using Dynamicweb; 11 using System.Globalization; 12 using RealEstate.User; 13 using Custom.Integration.Brokers; 14 using RealMaeglerne.Library; 15 using RealMaeglerne.Library.Models; 16 using RealMaeglerne.Dynamicweb; 17 using Newtonsoft.Json; 18 using Dynamicweb.Core; 19 internal class RazorEngine_699f96be76a34d2982584c0fefb6a23f : Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 20 { 21 #pragma warning disable 1998 22 public async override global::System.Threading.Tasks.Task ExecuteAsync() 23 { 24 WriteLiteral("\r\n\r\n"); 25 26 var culture = new System.Globalization.CultureInfo("da-DK"); 27 28 var user = Dynamicweb.Security.UserManagement.User.GetCurrentExtranetUser(); 29 bool isBroker = (user?.ItemType == "Medarbejder" ? true : false); 30 var ItemModel = Search.Item(user); 31 WriteLiteral("\r\n"); 32 if (Dynamicweb.Security.UserManagement.User.IsExtranetUserLoggedIn()) 33 { 34 string SellerString = ""; 35 string[] SplittedIDS = new string[] { }; 36 List<string> butikker = new List<string>(); 37 38 HashSet<string> godkendteSager = new HashSet<string>(ItemModel.GetString("Godkendte_Salgsopstillinger").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)); 39 40 if (!string.IsNullOrEmpty(ItemModel.GetString("SagsNrListe")) || isBroker) 41 { 42 43 if (isBroker) 44 { 45 // Get all relevant butikIds for this user via his groups 46 foreach (var group in user.Groups) 47 { 48 var butikId = group.Item().GetString("CBMedlemsnummer"); 49 if (!String.IsNullOrEmpty(butikId)) 50 { 51 butikker.Add(butikId); 52 } 53 } 54 55 Dynamicweb.Indexing.Querying.IQueryProvider maeglerBoligerQueryProvider = Dynamicweb.Extensibility.ServiceLocator.Current.GetInstance<Dynamicweb.Indexing.IIndexService>().LoadIndex("Boliger", "Boliger.index").GetInstance() as Dynamicweb.Indexing.Querying.IQueryProvider; 56 Dynamicweb.Indexing.Querying.IQuery maeglerBoligerQuery = Dynamicweb.Extensibility.ServiceLocator.Current.GetInstance<Dynamicweb.Indexing.Querying.IQueryService>().LoadQuery("Boliger", "Medarbejderboliger.query"); 57 Dynamicweb.Indexing.Querying.QuerySettings querySettings = new Dynamicweb.Indexing.Querying.QuerySettings(); 58 querySettings.IncludeDebugInfo = true; 59 querySettings.Take = 256; 60 querySettings.Parameters = new Dictionary<string, object>(); 61 querySettings.Parameters.Add("butikker", butikker.ToArray()); 62 63 Dynamicweb.Indexing.Querying.IQueryResult queryResult = null; 64 try 65 { 66 queryResult = maeglerBoligerQueryProvider.Query(maeglerBoligerQuery, querySettings); 67 SplittedIDS = queryResult.QueryResult.Select(x => (((Dictionary<string, object>)x)["ID"]).ToString()).ToArray(); 68 } 69 catch 70 { 71 // Ignore 72 } 73 } 74 else 75 { 76 SellerString = ItemModel.GetString("SagsNrListe"); 77 SplittedIDS = SellerString.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); 78 } 79 80 var Properties = Dynamicweb.Ecommerce.Services.Products.GetProductsByKeys Dynamicweb.Ecommerce.Products.Product.GetProductsByProductIDs(SplittedIDS); 81 var products = Properties.ToList().OrderByDescending(p => p.GetFieldDateTimeValue("xMarketingFoersteAnnonceringsdato")); 82 83 BoligManager boligManager = new BoligManager(Pageview); 84 85 if (products.Any()) 86 { 87 WriteLiteral(" <div class=\"sales-items\">\r\n"); 88 foreach (var p in products) 89 { 90 var bolig = boligManager.CreateBolig(p); 91 string imgUrl = ""; 92 string imgClass = "na"; 93 imgUrl = "/Files/Templates/Designs/rm/assets/images/na-real.png"; 94 if (!String.IsNullOrEmpty(bolig.ImageUrl)) 95 { 96 imgUrl = bolig.ImageUrl; 97 imgClass = ""; 98 } 99 string propCategory = bolig.Ejendomskategori; 100 bool propIsErhverv = bolig.Erhverv; 101 102 int propTypeNr = p.GetFieldIntValue("xEjendomEjendomstypeNr"); 103 104 string altan = p.GetFieldStringValue("xEjendomFaciliteterAltan"); 105 int garageAreal = p.GetFieldIntValue("xEjendomArealerOevrigeArealerGarage") + p.GetFieldIntValue("xEjendomArealerHovedbygningIntegreredeArealerGarage"); 106 107 RealEstate.Broker.Model.BrokerEmployee propBroker = null; 108 var brokerUrl = ""; 109 try 110 { 111 propBroker = Search.GetEmployee(p.GetProductFieldValue("xButikID").ToString(), p.GetProductFieldValue("xAktoererMaeglerKontaktEmail").ToString()); 112 } 113 catch (Exception e) { } 114 115 string bName = String.Empty; 116 string bEmail = String.Empty; 117 if (propBroker != null) 118 { 119 try 120 { 121 var ItemModelBroker = Search.Item(propBroker.Broker); 122 brokerUrl = "/" + ItemModelBroker.GetString("CBMedlemsnummer").Substring(1); 123 } 124 catch (Exception e) { } 125 126 bName = propBroker.Broker.Name; 127 if (!String.IsNullOrEmpty(propBroker.Broker.CompanyName)) 128 { 129 bName = propBroker.Broker.CompanyName; 130 } 131 132 var butikId = String.Empty; 133 if (propBroker != null && propBroker.Broker != null) 134 { 135 butikId = propBroker.Broker.Item().GetString("CBMedlemsnummer"); 136 bEmail = propBroker.Broker.Item().GetString("Email"); 137 } 138 } 139 var tidligereAabnehuse = boligManager.TidligereAfholdteAabnehuse(bolig); 140 141 string edhFilesAllInOne = p.GetFieldStringValue("xDokumenterEDHHentAlleUrl"); 142 Dictionary<string, string> edhFiles = BoligManager.GetEDHFilesCompact(p); 143 144 WriteLiteral(@" <section class=""clearfix sale-item""> 145 <section class=""my-sales-items bolig-page bolig-list bolig-list-static""> 146 <div class=""container""> 147 <div class=""content""> 148 <div class=""row""> 149 <div class=""col-12""> 150 <h2>"); 151 Write(p.GetFieldStringValue("xEjendomAdresseAdresseLinie")); 152 WriteLiteral("<br>"); 153 Write(p.GetFieldStringValue("xEjendomAdressePostAdresseLinie")); 154 WriteLiteral(@"</h2> 155 </div> 156 </div> 157 <div class=""row""> 158 <div class=""bolig col-md-4""> 159 <div class=""box""> 160 <a"); 161 BeginWriteAttribute("href", " href=\'", 7198, "\'", 7219, 1); 162 WriteAttributeValue("", 7205, bolig.LinkUrl, 7205, 14, false); 163 EndWriteAttribute(); 164 WriteLiteral(" target=\"_blank\">\r\n <div class=\"img-wrapper\">\r\n"); 165 if (!String.IsNullOrEmpty(bolig.Label)) 166 { 167 WriteLiteral(" <div class=\"label\"><b>"); 168 Write(bolig.Label); 169 WriteLiteral("</b></div>\r\n"); 170 } 171 172 //PushPromise(imgUrl); 173 WriteLiteral(" <img"); 174 BeginWriteAttribute("src", " src=\"", 7903, "\"", 7916, 1); 175 WriteAttributeValue("", 7909, imgUrl, 7909, 7, false); 176 EndWriteAttribute(); 177 BeginWriteAttribute("class", " class=\"", 7917, "\"", 7949, 2); 178 WriteAttributeValue("", 7925, "img-responsive", 7925, 14, true); 179 WriteAttributeValue(" ", 7939, imgClass, 7940, 9, false); 180 EndWriteAttribute(); 181 BeginWriteAttribute("alt", " alt=\"", 7950, "\"", 8027, 2); 182 WriteAttributeValue("", 7956, HttpUtility.HtmlAttributeEncode(bolig.Adresse), 7956, 47, false); 183 WriteAttributeValue(" ", 8003, bolig.Ejendomskategori, 8004, 23, false); 184 EndWriteAttribute(); 185 WriteLiteral(" />\r\n </div>\r\n </a>\r\n </div>\r\n"); 186 if (tidligereAabnehuse.Count > 0) 187 { 188 WriteLiteral(" <div class=\"open-houses\">\r\n <b>Tidligere afholdte åbent hus</b>\r\n"); 189 foreach (var item in tidligereAabnehuse) 190 { 191 WriteLiteral(" <p>\r\n "); 192 Write(item.Dag); 193 WriteLiteral(" "); 194 Write(item.DatoFormateret); 195 WriteLiteral(" "); 196 if (!String.IsNullOrEmpty(item.TidspunktFormateret)) 197 { Write(item.TidspunktFormateret); 198 } 199 WriteLiteral(" </p>\r\n"); 200 } 201 WriteLiteral(" </div>\r\n"); 202 } 203 WriteLiteral(@" </div> 204 <div class=""col-md-4""> 205 <h3>Detaljer</h3> 206 <table> 207 <tr> 208 <td>Sagsnummer</td> 209 <td align=""right""><b>"); 210 Write(bolig.Id); 211 WriteLiteral("</b></td>\r\n </tr>\r\n"); 212 if (!propIsErhverv) 213 { 214 if (!String.IsNullOrEmpty(p.GetFieldStringValue("xEjendomBSEjendomstype"))) 215 { 216 WriteLiteral(" <tr>\r\n <td>Boligtype</td>\r\n <td align=\"right\"><b>"); 217 Write(p.GetFieldStringValue("xEjendomBSEjendomstype")); 218 WriteLiteral("</b></td>\r\n </tr>\r\n"); 219 220 if (!String.IsNullOrEmpty(p.GetFieldStringValue("xEjendomBSEjendomstypeSupplerende")) && p.GetFieldStringValue("xEjendomBSEjendomstypeSupplerende") != p.GetFieldStringValue("xEjendomBSEjendomstype")) 221 { 222 WriteLiteral(" <tr>\r\n <td>Supplerende boligtype</td>\r\n <td align=\"right\"><b>"); 223 Write(p.GetFieldStringValue("xEjendomBSEjendomstypeSupplerende")); 224 WriteLiteral("</b></td>\r\n </tr>\r\n"); 225 } 226 } 227 if (p.GetFieldIntValue("xEjendomArealerBoligAreal") > 0) 228 { 229 WriteLiteral(" <tr>\r\n <td>Boligareal</td>\r\n <td align=\"right\"><b>"); 230 Write(p.GetFieldStringValue("xEjendomArealerBoligAreal")); 231 WriteLiteral(" m<sup>2</sup></b></td>\r\n </tr>\r\n"); 232 } 233 if (p.GetFieldIntValue("xEjendomArealerGrundArealHA") > 0) 234 { 235 WriteLiteral(" <tr>\r\n <td>Grundareal</td>\r\n <td align=\"right\"><b>"); 236 Write(p.GetFieldIntValue("xEjendomArealerGrundArealHA")); 237 WriteLiteral(" hektar</b></td>\r\n </tr>\r\n"); 238 } 239 else if (p.GetFieldIntValue("xEjendomArealerGrundAreal") > 0) 240 { 241 WriteLiteral(" <tr>\r\n <td>Grundareal</td>\r\n <td align=\"right\"><b>"); 242 Write(p.GetFieldIntValue("xEjendomArealerGrundAreal")); 243 WriteLiteral(" m<sup>2</sup></b></td>\r\n </tr>\r\n"); 244 } 245 if (p.GetFieldIntValue("xEjendomArealerKaelderAreal") > 0) 246 { 247 WriteLiteral(" <tr>\r\n <td>Kælderareal</td>\r\n <td align=\"right\"><b>"); 248 Write(p.GetFieldIntValue("xEjendomArealerKaelderAreal")); 249 WriteLiteral(" m<sup>2</sup></b></td>\r\n </tr>\r\n"); 250 } 251 if (garageAreal > 0) 252 { 253 WriteLiteral(" <tr>\r\n <td>Garage/carport</td>\r\n <td align=\"right\"><b>"); 254 Write(garageAreal); 255 WriteLiteral(" m<sup>2</sup></b></td>\r\n </tr>\r\n"); 256 } 257 if (!String.IsNullOrEmpty(altan) && altan.ToLower() == "true") 258 { 259 WriteLiteral(@" <tr> 260 <td>Altan</td> 261 <td align=""right""><b>Ja</b></td> 262 </tr> 263 "); 264 } 265 if (p.GetFieldIntValue("xEjendomOpfoertAar") != 0) 266 { 267 WriteLiteral(@" <tr> 268 <td>Bygget/ombygget</td> 269 <td align=""right""> 270 <b> 271 "); 272 Write(p.GetFieldIntValue("xEjendomOpfoertAar")); 273 WriteLiteral("\r\n"); 274 if (p.GetFieldIntValue("xEjendomOmbyggetAar") != 0) 275 {WriteLiteral(" / "); 276 Write(p.GetFieldIntValue("xEjendomOmbyggetAar")); 277 } 278 WriteLiteral(" </b>\r\n </td>\r\n </tr>\r\n"); 279 } 280 if (p.GetFieldIntValue("xEjendomArealerVaerelser") != 0) 281 { 282 WriteLiteral(" <tr>\r\n <td>Antal rum</td>\r\n <td align=\"right\"><b>"); 283 Write(p.GetFieldStringValue("xEjendomArealerVaerelser")); 284 WriteLiteral(" </b></td>\r\n </tr>\r\n"); 285 } 286 if (p.GetFieldIntValue("xEjendomArealerEtager") != 0) 287 { 288 WriteLiteral(" <tr>\r\n <td>Etager</td>\r\n <td align=\"right\"><b>"); 289 Write(p.GetFieldStringValue("xEjendomArealerEtager")); 290 WriteLiteral("</b></td>\r\n </tr>\r\n"); 291 } 292 } 293 else 294 { 295 if (!String.IsNullOrEmpty(p.GetFieldStringValue("xEjendomEjendomstype"))) 296 { 297 WriteLiteral(@" <tr> 298 <td>Ejendomstype</td> 299 <td align=""right""> 300 <b> 301 "); 302 Write(p.GetFieldStringValue("xEjendomEjendomstype")); 303 WriteLiteral("\r\n"); 304 if (!String.IsNullOrEmpty(p.GetFieldStringValue("xEjendomEjendomstypeSupplerende"))) 305 {WriteLiteral(" / "); 306 Write(p.GetFieldStringValue("xEjendomEjendomstypeSupplerende")); 307 } 308 WriteLiteral(" </b>\r\n </td>\r\n </tr>\r\n"); 309 } 310 if (p.GetFieldStringValue("xUdbudsForm") == "Salg" && p.GetFieldIntValue("xEjendomArealerErhvervAreal") > 0) 311 { 312 WriteLiteral(" <tr>\r\n <td>Erhvervsareal</td>\r\n <td align=\"right\"><b>"); 313 Write(p.GetFieldStringValue("xEjendomArealerErhvervAreal")); 314 WriteLiteral(" m<sup>2</sup></b></td>\r\n </tr>\r\n"); 315 } 316 else if (p.GetFieldStringValue("xUdbudsForm") == "Leje" && p.GetFieldIntValue("xEjendomArealerEtageAreal") > 0) 317 { 318 WriteLiteral(" <tr>\r\n <td>Erhvervsareal</td>\r\n <td align=\"right\"><b>"); 319 Write(p.GetFieldStringValue("xEjendomArealerEtageAreal")); 320 WriteLiteral(" m<sup>2</sup></b></td>\r\n </tr>\r\n"); 321 } 322 if (propTypeNr == 12) 323 { 324 WriteLiteral(" <tr>\r\n <td>Boligareal</td>\r\n <td align=\"right\"><b>"); 325 Write(p.GetFieldStringValue("xEjendomArealerBoligAreal")); 326 WriteLiteral(" m<sup>2</sup></b></td>\r\n </tr>\r\n"); 327 } 328 if (p.GetFieldIntValue("xEjendomArealerGrundArealHA") > 0) 329 { 330 WriteLiteral(" <tr>\r\n <td>Grund</td>\r\n <td align=\"right\"><b>"); 331 Write(p.GetFieldIntValue("xEjendomArealerGrundArealHA")); 332 WriteLiteral(" hektar</b></td>\r\n </tr>\r\n"); 333 } 334 else if (p.GetFieldIntValue("xEjendomArealerGrundAreal") > 0) 335 { 336 WriteLiteral(" <tr>\r\n <td>Grund</td>\r\n <td align=\"right\"><b>"); 337 Write(p.GetFieldIntValue("xEjendomArealerGrundAreal")); 338 WriteLiteral(" m<sup>2</sup></b></td>\r\n </tr>\r\n"); 339 } 340 if (p.GetFieldIntValue("xEjendomOpfoertAar") != 0) 341 { 342 WriteLiteral(@" <tr> 343 <td>Bygget/ombygget</td> 344 <td align=""right""> 345 <b> 346 "); 347 Write(p.GetFieldIntValue("xEjendomOpfoertAar")); 348 WriteLiteral("\r\n"); 349 if (p.GetFieldIntValue("xEjendomOmbyggetAar") != 0) 350 {WriteLiteral(" / "); 351 Write(p.GetFieldIntValue("xEjendomOmbyggetAar")); 352 } 353 WriteLiteral(" </b>\r\n </td>\r\n </tr>\r\n"); 354 } 355 } 356 WriteLiteral(@" <tr> 357 <td> </td> 358 <td align=""right""> </td> 359 </tr> 360 "); 361 if (!String.IsNullOrEmpty(p.GetFieldStringValue("xEjendomEnergiklassifikation")) && !propIsErhverv) 362 { 363 WriteLiteral(@" <tr> 364 <td>Energimærke</td> 365 <td align=""right""> 366 <div class=""energylabel"" data-energylabel="""); 367 Write(p.GetFieldStringValue("xEjendomEnergiklassifikation")); 368 WriteLiteral("\"></div>\r\n </td>\r\n </tr>\r\n"); 369 } 370 WriteLiteral(" </table>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <h3>Mægler</h3>\r\n"); 371 if (propBroker != null) 372 { 373 string eImg = ""; 374 string bClass = "col-12"; 375 if (propBroker.Employee != null) 376 { 377 string image = propBroker.Employee.Item().GetString("Portrait1000"); 378 if (!String.IsNullOrEmpty(image)) 379 { 380 eImg = image; 381 bClass = "col-7"; 382 } 383 } 384 WriteLiteral(" <div class=\"row\">\r\n"); 385 if (!String.IsNullOrEmpty(eImg)) 386 { 387 WriteLiteral(" <div class=\"col-5\">\r\n <a"); 388 BeginWriteAttribute("href", " href=\"", 24659, "\"", 24676, 1); 389 WriteAttributeValue("", 24666, brokerUrl, 24666, 10, false); 390 EndWriteAttribute(); 391 WriteLiteral(">\r\n"); 392 393 //PushPromise(eImg); 394 WriteLiteral(" <img"); 395 BeginWriteAttribute("src", " src=\"", 24973, "\"", 24984, 1); 396 WriteAttributeValue("", 24979, eImg, 24979, 5, false); 397 EndWriteAttribute(); 398 WriteLiteral(" class=\"img-responsive\" />\r\n </a>\r\n </div>"); 399 } 400 WriteLiteral(" <div"); 401 BeginWriteAttribute("class", " class=\"", 25200, "\"", 25215, 1); 402 WriteAttributeValue("", 25208, bClass, 25208, 7, false); 403 EndWriteAttribute(); 404 WriteLiteral(">\r\n <p>\r\n"); 405 if (propBroker.Employee != null) 406 { 407 WriteLiteral(" <b>"); 408 Write(propBroker.Employee.Name); 409 WriteLiteral("</b><br>\r\n"); 410 if (!String.IsNullOrEmpty(propBroker.Employee.Email)) 411 { 412 WriteLiteral("Mail: <a"); 413 BeginWriteAttribute("href", " href=\"", 25810, "\"", 25878, 2); 414 WriteAttributeValue("", 25817, "mailto:", 25817, 7, true); 415 WriteAttributeValue("", 25824, Utils.ExtractMaskedEmail(propBroker.Employee.Email), 25824, 54, false); 416 EndWriteAttribute(); 417 WriteLiteral(">"); 418 Write(Utils.ExtractMaskedEmail(propBroker.Employee.Email)); 419 WriteLiteral("</a><br>"); 420 421 } 422 if (!String.IsNullOrEmpty(propBroker.Employee.PhoneMobile)) 423 { 424 WriteLiteral("Tlf.: <a"); 425 BeginWriteAttribute("href", " href=\"", 26290, "\"", 26335, 2); 426 WriteAttributeValue("", 26297, "tel:", 26297, 4, true); 427 WriteAttributeValue("", 26301, propBroker.Employee.PhoneMobile, 26301, 34, false); 428 EndWriteAttribute(); 429 WriteLiteral(">"); 430 Write(Utils.FormatPhoneNumber(propBroker.Employee.PhoneMobile)); 431 WriteLiteral("</a><br>"); 432 433 } 434 else if (!String.IsNullOrEmpty(propBroker.Broker.Telephone)) 435 { 436 WriteLiteral("Tlf.: <a"); 437 BeginWriteAttribute("href", " href=\"", 26753, "\"", 26794, 2); 438 WriteAttributeValue("", 26760, "tel:", 26760, 4, true); 439 WriteAttributeValue("", 26764, propBroker.Broker.Telephone, 26764, 30, false); 440 EndWriteAttribute(); 441 WriteLiteral(">"); 442 Write(Utils.FormatPhoneNumber(propBroker.Broker.Telephone)); 443 WriteLiteral("</a><br>"); 444 445 } 446 WriteLiteral(" <br>\r\n"); 447 } 448 WriteLiteral(" <b>"); 449 Write(bName); 450 WriteLiteral("</b><br>\r\n "); 451 Write(propBroker.Broker.Address); 452 WriteLiteral("<br>\r\n "); 453 Write(propBroker.Broker.ZipCode); 454 WriteLiteral(" "); 455 Write(propBroker.Broker.City); 456 WriteLiteral("<br>\r\n"); 457 if (!String.IsNullOrEmpty(bEmail)) 458 { 459 WriteLiteral("Mail: <a"); 460 BeginWriteAttribute("href", " href=\"", 27591, "\"", 27614, 2); 461 WriteAttributeValue("", 27598, "mailto:", 27598, 7, true); 462 WriteAttributeValue("", 27605, bEmail, 27605, 9, false); 463 EndWriteAttribute(); 464 WriteLiteral(">"); 465 Write(bEmail); 466 WriteLiteral("</a><br />"); 467 468 } 469 if (!String.IsNullOrEmpty(propBroker.Broker.Telephone)) 470 { 471 WriteLiteral("Tlf.: <a"); 472 BeginWriteAttribute("href", " href=\"", 27966, "\"", 28007, 2); 473 WriteAttributeValue("", 27973, "tel:", 27973, 4, true); 474 WriteAttributeValue("", 27977, propBroker.Broker.Telephone, 27977, 30, false); 475 EndWriteAttribute(); 476 WriteLiteral(">"); 477 Write(Utils.FormatPhoneNumber(propBroker.Broker.Telephone)); 478 WriteLiteral("</a><br />"); 479 480 } 481 WriteLiteral(" </p>\r\n </div>\r\n </div>\r\n"); 482 } 483 else 484 { 485 WriteLiteral(" <div class=\"row\">\r\n Denne bolig har ingen mægler tilkoblet.\r\n </div>\r\n"); 486 } 487 WriteLiteral(" </div>\r\n </div>\r\n"); 488 if (!String.IsNullOrEmpty(edhFilesAllInOne)) 489 { 490 WriteLiteral(@" <div class=""row""> 491 <div class=""col-md-4 hidden-xs""> </div> 492 <div class=""downloads col-md-8""> 493 <h3>Dokumenter</h3> 494 <table> 495 "); 496 foreach (var item in edhFiles) 497 { 498 if (item.Value.ToLower() == "salgsopstilling") 499 { 500 WriteLiteral(" <tr>\r\n"); 501 if (propIsErhverv) 502 { 503 WriteLiteral(" <td>\r\n <a"); 504 BeginWriteAttribute("href", " href=\"", 29967, "\"", 29983, 1); 505 WriteAttributeValue("", 29974, item.Key, 29974, 9, false); 506 EndWriteAttribute(); 507 WriteLiteral(" class=\"downloads-link\" target=\"_blank\">Salgsprospekt</a>\r\n </td>\r\n"); 508 } 509 else 510 { 511 WriteLiteral(" <td>\r\n <a"); 512 BeginWriteAttribute("href", " href=\"", 30470, "\"", 30486, 1); 513 WriteAttributeValue("", 30477, item.Key, 30477, 9, false); 514 EndWriteAttribute(); 515 WriteLiteral(" class=\"downloads-link\" target=\"_blank\">"); 516 Write(item.Value); 517 WriteLiteral("</a>\r\n </td>\r\n"); 518 } 519 WriteLiteral(" </tr>\r\n"); 520 521 } 522 else 523 { 524 WriteLiteral(" <tr>\r\n <td colspan=\"2\">\r\n <a"); 525 BeginWriteAttribute("href", " href=\"", 32688, "\"", 32704, 1); 526 WriteAttributeValue("", 32695, item.Key, 32695, 9, false); 527 EndWriteAttribute(); 528 WriteLiteral(" class=\"downloads-link\" target=\"_blank\">"); 529 Write(item.Value); 530 WriteLiteral("</a>\r\n </td>\r\n </tr>\r\n"); 531 } 532 } 533 WriteLiteral(" </table>\r\n </div>\r\n </div>\r\n"); 534 } 535 WriteLiteral(" </div>\r\n </div>\r\n"); 536 WriteLiteral("\r\n\r\n"); 537 538 Dynamicweb.Content.PageService a = new Dynamicweb.Content.PageService(); 539 var pageID = 0; 540 541 var page = a.GetPageByNavigationTag(Dynamicweb.Frontend.PageView.Current().AreaID, "UserSaleItemsNavigationTag"); 542 543 if (page != null) 544 { 545 pageID = page.ID; 546 } 547 548 WriteLiteral(" <input type=\"hidden\" class=\"js-GraphPageAjax\""); 549 BeginWriteAttribute("value", " value=\"", 34290, "\"", 34321, 2); 550 WriteAttributeValue("", 34298, "Default.aspx?id=", 34298, 16, true); 551 WriteAttributeValue("", 34314, pageID, 34314, 7, false); 552 EndWriteAttribute(); 553 WriteLiteral(">\r\n\r\n <section class=\"my-sales-items-statistic\">\r\n <div class=\"container\">\r\n\r\n <div"); 554 BeginWriteAttribute("id", " id=\"", 34498, "\"", 34529, 2); 555 WriteAttributeValue("", 34503, "js-insert-Graph", 34503, 15, true); 556 WriteAttributeValue("", 34518, bolig.Id, 34518, 11, false); 557 EndWriteAttribute(); 558 WriteLiteral(">\r\n <div hidden class=\"acc-toggle loading-text\">"); 559 Write(Translate("Smartpage.Graphloadingtext", "Vent venligst...")); 560 WriteLiteral("</div>\r\n </div>\r\n\r\n <div class=\"acc-toggle-container row\">\r\n <div"); 561 BeginWriteAttribute("class", " class=\"", 34851, "\"", 34904, 4); 562 WriteAttributeValue("", 34859, "loading", 34859, 7, true); 563 WriteAttributeValue("", 34866, bolig.Id, 34866, 11, false); 564 WriteAttributeValue(" ", 34877, "acc-toggle", 34878, 11, true); 565 WriteAttributeValue(" ", 34888, "js-toggle-chart", 34889, 16, true); 566 EndWriteAttribute(); 567 WriteLiteral(" data-propertyID=\""); 568 Write(p.Id); 569 WriteLiteral("\" data-houseID=\""); 570 Write(bolig.Id); 571 WriteLiteral("\" data-productFieldValueAddress=\""); 572 Write(Dynamicweb.Core.Converter.ToString(p.GetProductFieldValue("xEjendomAdresseAdresseLinie"))); 573 WriteLiteral(@""" data-acc-label-loading=""Hej"" data-acc-label-hide=""Skjul statistik"" data-acc-label-show=""Vis statistik"">Vis statistik</div> 574 575 </div> 576 </div> 577 </section> 578 579 </section> 580 </section> 581 "); 582 583 } 584 WriteLiteral(" <section class=\"no-sales-items\"><div class=\"container mt-4 mb-4 text-center\"><h4>"); 585 Write(Translate("Smartpage:Mitboligsalg.NoSearch", "Din søgning havde ikke resultater")); 586 WriteLiteral("</h4></div></section>\r\n\r\n\r\n </div>\r\n"); 587 } 588 else 589 { 590 WriteLiteral(" <section><div class=\"container mt-4 mb-4 text-center\"><h4>"); 591 Write(Translate("Smartpage:Mitboligsalg.NoItemsForSale", "Ingen boliger til salg")); 592 WriteLiteral("</h4></div></section>\r\n"); 593 594 } 595 596 } 597 598 } 599 } 600 #pragma warning restore 1998 601 } 602 } 603 #pragma warning restore 1591 604
1 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 2 @using System 3 @using Dynamicweb; 4 @using System.Globalization; 5 @using RealEstate.User; 6 @using Custom.Integration.Brokers; 7 @using RealMaeglerne.Library; 8 @using RealMaeglerne.Library.Models; 9 @using RealMaeglerne.Dynamicweb; 10 @using Newtonsoft.Json; 11 @using Dynamicweb.Core; 12 13 14 @{ 15 var culture = new System.Globalization.CultureInfo("da-DK"); 16 17 var user = Dynamicweb.Security.UserManagement.User.GetCurrentExtranetUser(); 18 bool isBroker = (user?.ItemType == "Medarbejder" ? true : false); 19 var ItemModel = Search.Item(user); 20 } 21 22 @if (Dynamicweb.Security.UserManagement.User.IsExtranetUserLoggedIn()) 23 { 24 string SellerString = ""; 25 string[] SplittedIDS = new string[] { }; 26 List<string> butikker = new List<string>(); 27 28 HashSet<string> godkendteSager = new HashSet<string>(ItemModel.GetString("Godkendte_Salgsopstillinger").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)); 29 30 if (!string.IsNullOrEmpty(ItemModel.GetString("SagsNrListe")) || isBroker) 31 { 32 33 if (isBroker) 34 { 35 // Get all relevant butikIds for this user via his groups 36 foreach (var group in user.Groups) 37 { 38 var butikId = group.Item().GetString("CBMedlemsnummer"); 39 if (!String.IsNullOrEmpty(butikId)) 40 { 41 butikker.Add(butikId); 42 } 43 } 44 45 Dynamicweb.Indexing.Querying.IQueryProvider maeglerBoligerQueryProvider = Dynamicweb.Extensibility.ServiceLocator.Current.GetInstance<Dynamicweb.Indexing.IIndexService>().LoadIndex("Boliger", "Boliger.index").GetInstance() as Dynamicweb.Indexing.Querying.IQueryProvider; 46 Dynamicweb.Indexing.Querying.IQuery maeglerBoligerQuery = Dynamicweb.Extensibility.ServiceLocator.Current.GetInstance<Dynamicweb.Indexing.Querying.IQueryService>().LoadQuery("Boliger", "Medarbejderboliger.query"); 47 Dynamicweb.Indexing.Querying.QuerySettings querySettings = new Dynamicweb.Indexing.Querying.QuerySettings(); 48 querySettings.IncludeDebugInfo = true; 49 querySettings.Take = 256; 50 querySettings.Parameters = new Dictionary<string, object>(); 51 querySettings.Parameters.Add("butikker", butikker.ToArray()); 52 53 Dynamicweb.Indexing.Querying.IQueryResult queryResult = null; 54 try 55 { 56 queryResult = maeglerBoligerQueryProvider.Query(maeglerBoligerQuery, querySettings); 57 SplittedIDS = queryResult.QueryResult.Select(x => (((Dictionary<string, object>)x)["ID"]).ToString()).ToArray(); 58 } 59 catch 60 { 61 // Ignore 62 } 63 } 64 else 65 { 66 SellerString = ItemModel.GetString("SagsNrListe"); 67 SplittedIDS = SellerString.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); 68 } 69 70 var Properties = Dynamicweb.Ecommerce.Services.Products.GetProductsByKeys Dynamicweb.Ecommerce.Products.Product.GetProductsByProductIDs(SplittedIDS); 71 var products = Properties.ToList().OrderByDescending(p => p.GetFieldDateTimeValue("xMarketingFoersteAnnonceringsdato")); 72 73 BoligManager boligManager = new BoligManager(Pageview); 74 75 if (products.Any()) 76 { 77 <div class="sales-items"> 78 @foreach (var p in products) 79 { 80 var bolig = boligManager.CreateBolig(p); 81 string imgUrl = ""; 82 string imgClass = "na"; 83 imgUrl = "/Files/Templates/Designs/rm/assets/images/na-real.png"; 84 if (!String.IsNullOrEmpty(bolig.ImageUrl)) 85 { 86 imgUrl = bolig.ImageUrl; 87 imgClass = ""; 88 } 89 string propCategory = bolig.Ejendomskategori; 90 bool propIsErhverv = bolig.Erhverv; 91 92 int propTypeNr = p.GetFieldIntValue("xEjendomEjendomstypeNr"); 93 94 string altan = p.GetFieldStringValue("xEjendomFaciliteterAltan"); 95 int garageAreal = p.GetFieldIntValue("xEjendomArealerOevrigeArealerGarage") + p.GetFieldIntValue("xEjendomArealerHovedbygningIntegreredeArealerGarage"); 96 97 RealEstate.Broker.Model.BrokerEmployee propBroker = null; 98 var brokerUrl = ""; 99 try 100 { 101 propBroker = Search.GetEmployee(p.GetProductFieldValue("xButikID").ToString(), p.GetProductFieldValue("xAktoererMaeglerKontaktEmail").ToString()); 102 } 103 catch (Exception e) { } 104 105 string bName = String.Empty; 106 string bEmail = String.Empty; 107 if (propBroker != null) 108 { 109 try 110 { 111 var ItemModelBroker = Search.Item(propBroker.Broker); 112 brokerUrl = "/" + ItemModelBroker.GetString("CBMedlemsnummer").Substring(1); 113 } 114 catch (Exception e) { } 115 116 bName = propBroker.Broker.Name; 117 if (!String.IsNullOrEmpty(propBroker.Broker.CompanyName)) 118 { 119 bName = propBroker.Broker.CompanyName; 120 } 121 122 var butikId = String.Empty; 123 if (propBroker != null && propBroker.Broker != null) 124 { 125 butikId = propBroker.Broker.Item().GetString("CBMedlemsnummer"); 126 bEmail = propBroker.Broker.Item().GetString("Email"); 127 } 128 } 129 var tidligereAabnehuse = boligManager.TidligereAfholdteAabnehuse(bolig); 130 131 string edhFilesAllInOne = p.GetFieldStringValue("xDokumenterEDHHentAlleUrl"); 132 Dictionary<string, string> edhFiles = BoligManager.GetEDHFilesCompact(p); 133 134 <section class="clearfix sale-item"> 135 <section class="my-sales-items bolig-page bolig-list bolig-list-static"> 136 <div class="container"> 137 <div class="content"> 138 <div class="row"> 139 <div class="col-12"> 140 <h2>@p.GetFieldStringValue("xEjendomAdresseAdresseLinie")<br>@p.GetFieldStringValue("xEjendomAdressePostAdresseLinie")</h2> 141 </div> 142 </div> 143 <div class="row"> 144 <div class="bolig col-md-4"> 145 <div class="box"> 146 <a href='@bolig.LinkUrl' target="_blank"> 147 <div class="img-wrapper"> 148 @if (!String.IsNullOrEmpty(bolig.Label)) 149 { 150 <div class="label"><b>@bolig.Label</b></div> 151 } 152 @{ 153 //PushPromise(imgUrl); 154 } 155 <img src="@imgUrl" class="img-responsive @imgClass" alt="@HttpUtility.HtmlAttributeEncode(bolig.Adresse) @bolig.Ejendomskategori" /> 156 </div> 157 </a> 158 </div> 159 @if (tidligereAabnehuse.Count > 0) 160 { 161 <div class="open-houses"> 162 <b>Tidligere afholdte åbent hus</b> 163 @foreach (var item in tidligereAabnehuse) 164 { 165 <p> 166 @item.Dag @item.DatoFormateret @if (!String.IsNullOrEmpty(item.TidspunktFormateret)) 167 {<text>@item.TidspunktFormateret</text>} 168 </p> 169 } 170 </div> 171 } 172 </div> 173 <div class="col-md-4"> 174 <h3>Detaljer</h3> 175 <table> 176 <tr> 177 <td>Sagsnummer</td> 178 <td align="right"><b>@bolig.Id</b></td> 179 </tr> 180 @if (!propIsErhverv) 181 { 182 if (!String.IsNullOrEmpty(p.GetFieldStringValue("xEjendomBSEjendomstype"))) 183 { 184 <tr> 185 <td>Boligtype</td> 186 <td align="right"><b>@p.GetFieldStringValue("xEjendomBSEjendomstype")</b></td> 187 </tr> 188 189 if (!String.IsNullOrEmpty(p.GetFieldStringValue("xEjendomBSEjendomstypeSupplerende")) && p.GetFieldStringValue("xEjendomBSEjendomstypeSupplerende") != p.GetFieldStringValue("xEjendomBSEjendomstype")) 190 { 191 <tr> 192 <td>Supplerende boligtype</td> 193 <td align="right"><b>@p.GetFieldStringValue("xEjendomBSEjendomstypeSupplerende")</b></td> 194 </tr> 195 } 196 } 197 if (p.GetFieldIntValue("xEjendomArealerBoligAreal") > 0) 198 { 199 <tr> 200 <td>Boligareal</td> 201 <td align="right"><b>@p.GetFieldStringValue("xEjendomArealerBoligAreal") m<sup>2</sup></b></td> 202 </tr> 203 } 204 if (p.GetFieldIntValue("xEjendomArealerGrundArealHA") > 0) 205 { 206 <tr> 207 <td>Grundareal</td> 208 <td align="right"><b>@p.GetFieldIntValue("xEjendomArealerGrundArealHA") hektar</b></td> 209 </tr> 210 } 211 else if (p.GetFieldIntValue("xEjendomArealerGrundAreal") > 0) 212 { 213 <tr> 214 <td>Grundareal</td> 215 <td align="right"><b>@p.GetFieldIntValue("xEjendomArealerGrundAreal") m<sup>2</sup></b></td> 216 </tr> 217 } 218 if (p.GetFieldIntValue("xEjendomArealerKaelderAreal") > 0) 219 { 220 <tr> 221 <td>Kælderareal</td> 222 <td align="right"><b>@p.GetFieldIntValue("xEjendomArealerKaelderAreal") m<sup>2</sup></b></td> 223 </tr> 224 } 225 if (garageAreal > 0) 226 { 227 <tr> 228 <td>Garage/carport</td> 229 <td align="right"><b>@garageAreal m<sup>2</sup></b></td> 230 </tr> 231 } 232 if (!String.IsNullOrEmpty(altan) && altan.ToLower() == "true") 233 { 234 <tr> 235 <td>Altan</td> 236 <td align="right"><b>Ja</b></td> 237 </tr> 238 } 239 if (p.GetFieldIntValue("xEjendomOpfoertAar") != 0) 240 { 241 <tr> 242 <td>Bygget/ombygget</td> 243 <td align="right"> 244 <b> 245 @p.GetFieldIntValue("xEjendomOpfoertAar") 246 @if (p.GetFieldIntValue("xEjendomOmbyggetAar") != 0) 247 {<text> / @p.GetFieldIntValue("xEjendomOmbyggetAar")</text>} 248 </b> 249 </td> 250 </tr> 251 } 252 if (p.GetFieldIntValue("xEjendomArealerVaerelser") != 0) 253 { 254 <tr> 255 <td>Antal rum</td> 256 <td align="right"><b>@p.GetFieldStringValue("xEjendomArealerVaerelser") </b></td> 257 </tr> 258 } 259 if (p.GetFieldIntValue("xEjendomArealerEtager") != 0) 260 { 261 <tr> 262 <td>Etager</td> 263 <td align="right"><b>@p.GetFieldStringValue("xEjendomArealerEtager")</b></td> 264 </tr> 265 } 266 } 267 else 268 { 269 if (!String.IsNullOrEmpty(p.GetFieldStringValue("xEjendomEjendomstype"))) 270 { 271 <tr> 272 <td>Ejendomstype</td> 273 <td align="right"> 274 <b> 275 @p.GetFieldStringValue("xEjendomEjendomstype") 276 @if (!String.IsNullOrEmpty(p.GetFieldStringValue("xEjendomEjendomstypeSupplerende"))) 277 {<text> / @p.GetFieldStringValue("xEjendomEjendomstypeSupplerende")</text>} 278 </b> 279 </td> 280 </tr> 281 } 282 if (p.GetFieldStringValue("xUdbudsForm") == "Salg" && p.GetFieldIntValue("xEjendomArealerErhvervAreal") > 0) 283 { 284 <tr> 285 <td>Erhvervsareal</td> 286 <td align="right"><b>@p.GetFieldStringValue("xEjendomArealerErhvervAreal") m<sup>2</sup></b></td> 287 </tr> 288 } 289 else if (p.GetFieldStringValue("xUdbudsForm") == "Leje" && p.GetFieldIntValue("xEjendomArealerEtageAreal") > 0) 290 { 291 <tr> 292 <td>Erhvervsareal</td> 293 <td align="right"><b>@p.GetFieldStringValue("xEjendomArealerEtageAreal") m<sup>2</sup></b></td> 294 </tr> 295 } 296 if (propTypeNr == 12) 297 { 298 <tr> 299 <td>Boligareal</td> 300 <td align="right"><b>@p.GetFieldStringValue("xEjendomArealerBoligAreal") m<sup>2</sup></b></td> 301 </tr> 302 } 303 if (p.GetFieldIntValue("xEjendomArealerGrundArealHA") > 0) 304 { 305 <tr> 306 <td>Grund</td> 307 <td align="right"><b>@p.GetFieldIntValue("xEjendomArealerGrundArealHA") hektar</b></td> 308 </tr> 309 } 310 else if (p.GetFieldIntValue("xEjendomArealerGrundAreal") > 0) 311 { 312 <tr> 313 <td>Grund</td> 314 <td align="right"><b>@p.GetFieldIntValue("xEjendomArealerGrundAreal") m<sup>2</sup></b></td> 315 </tr> 316 } 317 if (p.GetFieldIntValue("xEjendomOpfoertAar") != 0) 318 { 319 <tr> 320 <td>Bygget/ombygget</td> 321 <td align="right"> 322 <b> 323 @p.GetFieldIntValue("xEjendomOpfoertAar") 324 @if (p.GetFieldIntValue("xEjendomOmbyggetAar") != 0) 325 {<text> / @p.GetFieldIntValue("xEjendomOmbyggetAar")</text>} 326 </b> 327 </td> 328 </tr> 329 } 330 } 331 <tr> 332 <td> </td> 333 <td align="right"> </td> 334 </tr> 335 @if (!String.IsNullOrEmpty(p.GetFieldStringValue("xEjendomEnergiklassifikation")) && !propIsErhverv) 336 { 337 <tr> 338 <td>Energimærke</td> 339 <td align="right"> 340 <div class="energylabel" data-energylabel="@p.GetFieldStringValue("xEjendomEnergiklassifikation")"></div> 341 </td> 342 </tr> 343 } 344 </table> 345 </div> 346 <div class="col-md-4"> 347 <h3>Mægler</h3> 348 @if (propBroker != null) 349 { 350 string eImg = ""; 351 string bClass = "col-12"; 352 if (propBroker.Employee != null) 353 { 354 string image = propBroker.Employee.Item().GetString("Portrait1000"); 355 if (!String.IsNullOrEmpty(image)) 356 { 357 eImg = image; 358 bClass = "col-7"; 359 } 360 } 361 <div class="row"> 362 @if (!String.IsNullOrEmpty(eImg)) 363 { 364 <div class="col-5"> 365 <a href="@brokerUrl"> 366 @{ 367 //PushPromise(eImg); 368 } 369 <img src="@eImg" class="img-responsive" /> 370 </a> 371 </div>} 372 <div class="@bClass"> 373 <p> 374 @if (propBroker.Employee != null) 375 { 376 <b>@(propBroker.Employee.Name)</b><br> 377 if (!String.IsNullOrEmpty(propBroker.Employee.Email)) 378 { 379 <text>Mail: <a href="mailto:@(Utils.ExtractMaskedEmail(propBroker.Employee.Email))">@Utils.ExtractMaskedEmail(propBroker.Employee.Email)</a><br></text> 380 } 381 if (!String.IsNullOrEmpty(propBroker.Employee.PhoneMobile)) 382 { 383 <text>Tlf.: <a href="tel:@(propBroker.Employee.PhoneMobile)">@Utils.FormatPhoneNumber(propBroker.Employee.PhoneMobile)</a><br></text> 384 } 385 else if (!String.IsNullOrEmpty(propBroker.Broker.Telephone)) 386 { 387 <text>Tlf.: <a href="tel:@(propBroker.Broker.Telephone)">@Utils.FormatPhoneNumber(propBroker.Broker.Telephone)</a><br></text> 388 } 389 <br> 390 } 391 <b>@bName</b><br> 392 @propBroker.Broker.Address<br> 393 @propBroker.Broker.ZipCode @propBroker.Broker.City<br> 394 @if (!String.IsNullOrEmpty(bEmail)) 395 { 396 <text>Mail: <a href="mailto:@(bEmail)">@(bEmail)</a><br /></text> 397 } 398 @if (!String.IsNullOrEmpty(propBroker.Broker.Telephone)) 399 { 400 <text>Tlf.: <a href="tel:@(propBroker.Broker.Telephone)">@(Utils.FormatPhoneNumber(propBroker.Broker.Telephone))</a><br /></text> 401 } 402 </p> 403 </div> 404 </div> 405 } 406 else 407 { 408 <div class="row"> 409 Denne bolig har ingen mægler tilkoblet. 410 </div> 411 } 412 </div> 413 </div> 414 @if (!String.IsNullOrEmpty(edhFilesAllInOne)) 415 { 416 <div class="row"> 417 <div class="col-md-4 hidden-xs"> </div> 418 <div class="downloads col-md-8"> 419 <h3>Dokumenter</h3> 420 <table> 421 @foreach (var item in edhFiles) 422 { 423 if (item.Value.ToLower() == "salgsopstilling") 424 { 425 <tr> 426 @if (propIsErhverv) 427 { 428 <td> 429 <a href="@item.Key" class="downloads-link" target="_blank">Salgsprospekt</a> 430 </td> 431 } 432 else 433 { 434 <td> 435 <a href="@item.Key" class="downloads-link" target="_blank">@item.Value</a> 436 </td> 437 } 438 @*<td align="right"> 439 @if (godkendteSager.Contains(bolig.Id)) 440 { 441 <button type="button" class="btn btn-secondary downloads-approve-btn" data-sagsnr="@bolig.Id" data-brugerid="@user.ID" disabled="disabled">Er godkendt</button> 442 } 443 else 444 { 445 <button type="button" class="btn btn-primary downloads-approve-btn" data-sagsnr="@bolig.Id" data-brugerid="@user.ID">Godkend</button> 446 } 447 </td>*@ 448 </tr> 449 @*<tr> 450 <td colspan="2"> 451 <span class="downloads-notice">* hvis du ikke kan godkende salgsopstillingen skal du kontakte din mægler</span> 452 </td> 453 </tr>*@ 454 } 455 else 456 { 457 <tr> 458 <td colspan="2"> 459 <a href="@item.Key" class="downloads-link" target="_blank">@item.Value</a> 460 </td> 461 </tr> 462 } 463 } 464 </table> 465 </div> 466 </div> 467 } 468 </div> 469 </div> 470 @*<input type="hidden" class="js-PropertyID" value="@(p.Id)"> 471 <input type="hidden" class="js-houseID" value="@(bolig.Id)"> 472 <input type="hidden" class="js-productFieldValueAddress" value="@(Dynamicweb.Core.Converter.ToString(p.GetProductFieldValue("xEjendomAdresseAdresseLinie")))">*@ 473 474 475 @{ 476 Dynamicweb.Content.PageService a = new Dynamicweb.Content.PageService(); 477 var pageID = 0; 478 479 var page = a.GetPageByNavigationTag(Dynamicweb.Frontend.PageView.Current().AreaID, "UserSaleItemsNavigationTag"); 480 481 if (page != null) 482 { 483 pageID = page.ID; 484 } 485 486 } 487 <input type="hidden" class="js-GraphPageAjax" value="Default.aspx?id=@pageID"> 488 489 <section class="my-sales-items-statistic"> 490 <div class="container"> 491 492 <div id="js-insert-Graph@(bolig.Id)"> 493 <div hidden class="acc-toggle loading-text">@Translate("Smartpage.Graphloadingtext", "Vent venligst...")</div> 494 </div> 495 496 <div class="acc-toggle-container row"> 497 <div class="loading@(bolig.Id) acc-toggle js-toggle-chart" data-propertyID="@p.Id" data-houseID="@bolig.Id" data-productFieldValueAddress="@(Dynamicweb.Core.Converter.ToString(p.GetProductFieldValue("xEjendomAdresseAdresseLinie")))" data-acc-label-loading="Hej" data-acc-label-hide="Skjul statistik" data-acc-label-show="Vis statistik">Vis statistik</div> 498 499 </div> 500 </div> 501 </section> 502 503 </section> 504 </section> 505 506 } 507 <section class="no-sales-items"><div class="container mt-4 mb-4 text-center"><h4>@Translate("Smartpage:Mitboligsalg.NoSearch", "Din søgning havde ikke resultater")</h4></div></section> 508 509 510 </div> 511 } 512 else 513 { 514 <section><div class="container mt-4 mb-4 text-center"><h4>@Translate("Smartpage:Mitboligsalg.NoItemsForSale", "Ingen boliger til salg")</h4></div></section> 515 516 } 517 518 } 519 520 } 521