Søg bolig

0 Boliger til salg

Mit Boligsalg

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>&nbsp;</td> 358 <td align=""right"">&nbsp;</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"">&nbsp;</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>&nbsp;</td> 333 <td align="right">&nbsp;</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">&nbsp;</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
Dit RealMæglerne

Log ind på RealMæglernes Boligagent

Med Mit RealMæglerne er det nemt at følge boligmarkedet. Leder du efter nyt, kan du gemme dine favorit boliger og målrette din søgning ned til mindste detalje. Skal du sælge, kan du løbende følge interessen for din bolig og meget mere.


Kontakt Mægler

Din bolig

* Der samles ingen personlige oplysninger uden dit udtrykkelige samtykke. Ved at klikke på denne checkboks giver du dit samtykke til, at dine data samles og behandles af RealMæglerne A/S for at kunne kontakte dig. Du kan til enhver tid tilbagekalde dit samtykke. For at gøre dette skal du blot sende en meddelelse til info@realmaeglerne.dk. Læs mere på privatlivspolitikkerne.

Tilmeld til åbent hus

Adresse:
Dato:
Tidspunkt:

Kontakt Mægler

* Der samles ingen personlige oplysninger uden dit udtrykkelige samtykke. Ved at klikke på denne checkboks giver du dit samtykke til, at dine data samles og behandles af RealMæglerne A/S for at kunne kontakte dig. Du kan til enhver tid tilbagekalde dit samtykke. For at gøre dette skal du blot sende en meddelelse til info@realmaeglerne.dk. Læs mere på privatlivspolitikkerne.

Bestil gratis salgsvurdering

Din bolig

Send salgsvurdering til:

Vælg mægler

* Der samles ingen personlige oplysninger uden dit udtrykkelige samtykke. Ved at klikke på denne checkboks giver du dit samtykke til, at dine data samles og behandles af RealMæglerne A/S for at kunne kontakte dig. Du kan til enhver tid tilbagekalde dit samtykke. For at gøre dette skal du blot sende en meddelelse til info@realmaeglerne.dk. Læs mere på privatlivspolitikkerne.

Bestil gratis salgsvurdering

Din bolig

Send salgsvurdering til:

Vælg mægler

* Der samles ingen personlige oplysninger uden dit udtrykkelige samtykke. Ved at klikke på denne checkboks giver du dit samtykke til, at dine data samles og behandles af RealMæglerne A/S for at kunne kontakte dig. Du kan til enhver tid tilbagekalde dit samtykke. For at gøre dette skal du blot sende en meddelelse til info@realmaeglerne.dk. Læs mere på privatlivspolitikkerne.