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 105: The type or namespace name 'Broker' does not exist in the namespace 'RealEstate' (are you missing an assembly reference?)
Line 179: The name 'HttpUtility' does not exist in the current context
Line 394: 'Utils' does not contain a definition for 'ExtractMaskedEmail'
Line 397: 'Utils' does not contain a definition for 'ExtractMaskedEmail'
Line 409: 'Utils' does not contain a definition for 'FormatPhoneNumber'
Line 421: 'Utils' does not contain a definition for 'FormatPhoneNumber'
Line 456: 'Utils' does not contain a definition for 'FormatPhoneNumber'
Line 111: The variable 'e' is declared but never used
Line 122: 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_fa872265c4b14696a73a440923fd51b9 : 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 string altan = p.GetFieldStringValue("xEjendomFaciliteterAltan"); 103 int garageAreal = p.GetFieldIntValue("xEjendomArealerOevrigeArealerGarage") + p.GetFieldIntValue("xEjendomArealerHovedbygningIntegreredeArealerGarage"); 104 105 RealEstate.Broker.Model.BrokerEmployee propBroker = null; 106 var brokerUrl = ""; 107 try 108 { 109 propBroker = Search.GetEmployee(p.GetProductFieldValue("xButikID").ToString(), p.GetProductFieldValue("xAktoererMaeglerKontaktEmail").ToString()); 110 } 111 catch (Exception e) { } 112 113 string bName = String.Empty; 114 string bEmail = String.Empty; 115 if (propBroker != null) 116 { 117 try 118 { 119 var ItemModelBroker = Search.Item(propBroker.Broker); 120 brokerUrl = "/" + ItemModelBroker.GetString("CBMedlemsnummer").Substring(1); 121 } 122 catch (Exception e) { } 123 124 bName = propBroker.Broker.Name; 125 if (!String.IsNullOrEmpty(propBroker.Broker.CompanyName)) 126 { 127 bName = propBroker.Broker.CompanyName; 128 } 129 130 var butikId = String.Empty; 131 if (propBroker != null && propBroker.Broker != null) 132 { 133 butikId = propBroker.Broker.Item().GetString("CBMedlemsnummer"); 134 bEmail = propBroker.Broker.Item().GetString("Email"); 135 } 136 } 137 var tidligereAabnehuse = boligManager.TidligereAfholdteAabnehuse(bolig); 138 139 Dictionary<string, string> edhFiles = BoligManager.GetEDHFilesCompact(p); 140 141 WriteLiteral(@" <section class=""clearfix sale-item""> 142 <section class=""my-sales-items bolig-page bolig-list bolig-list-static""> 143 <div class=""container""> 144 <div class=""content""> 145 <div class=""row""> 146 <div class=""col-12""> 147 <h2>"); 148 Write(p.GetFieldStringValue("xEjendomAdresseAdresseLinie")); 149 WriteLiteral("<br>"); 150 Write(p.GetFieldStringValue("xEjendomAdressePostAdresseLinie")); 151 WriteLiteral(@"</h2> 152 </div> 153 </div> 154 <div class=""row""> 155 <div class=""bolig col-md-4""> 156 <div class=""box""> 157 <a"); 158 BeginWriteAttribute("href", " href=\'", 7013, "\'", 7034, 1); 159 WriteAttributeValue("", 7020, bolig.LinkUrl, 7020, 14, false); 160 EndWriteAttribute(); 161 WriteLiteral(" target=\"_blank\">\r\n <div class=\"img-wrapper\">\r\n"); 162 if (!String.IsNullOrEmpty(bolig.Label)) 163 { 164 WriteLiteral(" <div class=\"label\"><b>"); 165 Write(bolig.Label); 166 WriteLiteral("</b></div>\r\n"); 167 } 168 169 //PushPromise(imgUrl); 170 WriteLiteral(" <img"); 171 BeginWriteAttribute("src", " src=\"", 7718, "\"", 7731, 1); 172 WriteAttributeValue("", 7724, imgUrl, 7724, 7, false); 173 EndWriteAttribute(); 174 BeginWriteAttribute("class", " class=\"", 7732, "\"", 7764, 2); 175 WriteAttributeValue("", 7740, "img-responsive", 7740, 14, true); 176 WriteAttributeValue(" ", 7754, imgClass, 7755, 9, false); 177 EndWriteAttribute(); 178 BeginWriteAttribute("alt", " alt=\"", 7765, "\"", 7842, 2); 179 WriteAttributeValue("", 7771, HttpUtility.HtmlAttributeEncode(bolig.Adresse), 7771, 47, false); 180 WriteAttributeValue(" ", 7818, bolig.Ejendomskategori, 7819, 23, false); 181 EndWriteAttribute(); 182 WriteLiteral(" />\r\n </div>\r\n </a>\r\n </div>\r\n"); 183 if (tidligereAabnehuse.Count > 0) 184 { 185 WriteLiteral(" <div class=\"open-houses\">\r\n <b>Tidligere afholdte åbent hus</b>\r\n"); 186 foreach (var item in tidligereAabnehuse) 187 { 188 WriteLiteral(" <p>\r\n "); 189 Write(item.Dag); 190 WriteLiteral(" "); 191 Write(item.DatoFormateret); 192 WriteLiteral(" "); 193 if (!String.IsNullOrEmpty(item.TidspunktFormateret)) 194 { Write(item.TidspunktFormateret); 195 } 196 WriteLiteral(" </p>\r\n"); 197 } 198 WriteLiteral(" </div>\r\n"); 199 } 200 WriteLiteral(@" </div> 201 <div class=""col-md-4""> 202 <h3>Detaljer</h3> 203 <table> 204 <tr> 205 <td>Sagsnummer</td> 206 <td align=""right""><b>"); 207 Write(bolig.Id); 208 WriteLiteral("</b></td>\r\n </tr>\r\n"); 209 if (!propIsErhverv) 210 { 211 if (string.IsNullOrEmpty(p.GetFieldStringValue("xEjendomBSEjendomstype"))) 212 { 213 WriteLiteral(" <tr>\r\n <td>Boligtype</td>\r\n <td align=\"right\"><b>"); 214 Write(p.GetFieldStringValue("xEjendomBSEjendomstype")); 215 WriteLiteral("</b></td>\r\n </tr>\r\n"); 216 } 217 if (p.GetFieldIntValue("xEjendomArealerBoligAreal") > 0) 218 { 219 WriteLiteral(" <tr>\r\n <td>Boligareal</td>\r\n <td align=\"right\"><b>"); 220 Write(p.GetFieldStringValue("xEjendomArealerBoligAreal")); 221 WriteLiteral(" m<sup>2</sup></b></td>\r\n </tr>\r\n"); 222 } 223 if (p.GetFieldIntValue("xEjendomArealerGrundArealHA") > 0) 224 { 225 WriteLiteral(" <tr>\r\n <td>Grundareal</td>\r\n <td align=\"right\"><b>"); 226 Write(p.GetFieldIntValue("xEjendomArealerGrundArealHA")); 227 WriteLiteral(" hektar</b></td>\r\n </tr>\r\n"); 228 } 229 else if (p.GetFieldIntValue("xEjendomArealerGrundAreal") > 0) 230 { 231 WriteLiteral(" <tr>\r\n <td>Grundareal</td>\r\n <td align=\"right\"><b>"); 232 Write(p.GetFieldIntValue("xEjendomArealerGrundAreal")); 233 WriteLiteral(" m<sup>2</sup></b></td>\r\n </tr>\r\n"); 234 } 235 if (p.GetFieldIntValue("xEjendomArealerKaelderAreal") > 0) 236 { 237 WriteLiteral(" <tr>\r\n <td>Kælderareal</td>\r\n <td align=\"right\"><b>"); 238 Write(p.GetFieldIntValue("xEjendomArealerKaelderAreal")); 239 WriteLiteral(" m<sup>2</sup></b></td>\r\n </tr>\r\n"); 240 } 241 if (garageAreal > 0) 242 { 243 WriteLiteral(" <tr>\r\n <td>Garage/carport</td>\r\n <td align=\"right\"><b>"); 244 Write(garageAreal); 245 WriteLiteral(" m<sup>2</sup></b></td>\r\n </tr>\r\n"); 246 } 247 if (!String.IsNullOrEmpty(altan) && altan.ToLower() == "true") 248 { 249 WriteLiteral(@" <tr> 250 <td>Altan</td> 251 <td align=""right""><b>Ja</b></td> 252 </tr> 253 "); 254 } 255 if (p.GetFieldIntValue("xEjendomOpfoertAar") != 0) 256 { 257 WriteLiteral(@" <tr> 258 <td>Bygget/ombygget</td> 259 <td align=""right""> 260 <b> 261 "); 262 Write(p.GetFieldIntValue("xEjendomOpfoertAar")); 263 WriteLiteral("\r\n"); 264 if (p.GetFieldIntValue("xEjendomOmbyggetAar") != 0) 265 {WriteLiteral(" / "); 266 Write(p.GetFieldIntValue("xEjendomOmbyggetAar")); 267 } 268 WriteLiteral(" </b>\r\n </td>\r\n </tr>\r\n"); 269 } 270 if (p.GetFieldIntValue("xEjendomArealerVaerelser") != 0) 271 { 272 WriteLiteral(" <tr>\r\n <td>Antal rum</td>\r\n <td align=\"right\"><b>"); 273 Write(p.GetFieldStringValue("xEjendomArealerVaerelser")); 274 WriteLiteral(" </b></td>\r\n </tr>\r\n"); 275 } 276 if (p.GetFieldIntValue("xEjendomArealerEtager") != 0) 277 { 278 WriteLiteral(" <tr>\r\n <td>Etager</td>\r\n <td align=\"right\"><b>"); 279 Write(p.GetFieldStringValue("xEjendomArealerEtager")); 280 WriteLiteral("</b></td>\r\n </tr>\r\n"); 281 } 282 } 283 else 284 { 285 if (!String.IsNullOrEmpty(p.GetFieldStringValue("xEjendomEjendomstype"))) 286 { 287 WriteLiteral(@" <tr> 288 <td>Ejendomstype</td> 289 <td align=""right""> 290 <b> 291 "); 292 Write(p.GetFieldStringValue("xEjendomEjendomstype")); 293 WriteLiteral("\r\n </b>\r\n </td>\r\n </tr>\r\n"); 294 } 295 if (p.GetFieldStringValue("xUdbudsForm") == "Salg" && p.GetFieldIntValue("xEjendomArealerErhvervAreal") > 0) 296 { 297 WriteLiteral(" <tr>\r\n <td>Erhvervsareal</td>\r\n <td align=\"right\"><b>"); 298 Write(p.GetFieldStringValue("xEjendomArealerErhvervAreal")); 299 WriteLiteral(" m<sup>2</sup></b></td>\r\n </tr>\r\n"); 300 } 301 else if (p.GetFieldStringValue("xUdbudsForm") == "Leje" && p.GetFieldIntValue("xEjendomArealerEtageAreal") > 0) 302 { 303 WriteLiteral(" <tr>\r\n <td>Erhvervsareal</td>\r\n <td align=\"right\"><b>"); 304 Write(p.GetFieldStringValue("xEjendomArealerEtageAreal")); 305 WriteLiteral(" m<sup>2</sup></b></td>\r\n </tr>\r\n"); 306 } 307 if (p.GetFieldIntValue("xEjendomArealerGrundArealHA") > 0) 308 { 309 WriteLiteral(" <tr>\r\n <td>Grund</td>\r\n <td align=\"right\"><b>"); 310 Write(p.GetFieldIntValue("xEjendomArealerGrundArealHA")); 311 WriteLiteral(" hektar</b></td>\r\n </tr>\r\n"); 312 } 313 else if (p.GetFieldIntValue("xEjendomArealerGrundAreal") > 0) 314 { 315 WriteLiteral(" <tr>\r\n <td>Grund</td>\r\n <td align=\"right\"><b>"); 316 Write(p.GetFieldIntValue("xEjendomArealerGrundAreal")); 317 WriteLiteral(" m<sup>2</sup></b></td>\r\n </tr>\r\n"); 318 } 319 if (p.GetFieldIntValue("xEjendomOpfoertAar") != 0) 320 { 321 WriteLiteral(@" <tr> 322 <td>Bygget/ombygget</td> 323 <td align=""right""> 324 <b> 325 "); 326 Write(p.GetFieldIntValue("xEjendomOpfoertAar")); 327 WriteLiteral("\r\n"); 328 if (p.GetFieldIntValue("xEjendomOmbyggetAar") != 0) 329 {WriteLiteral(" / "); 330 Write(p.GetFieldIntValue("xEjendomOmbyggetAar")); 331 } 332 WriteLiteral(" </b>\r\n </td>\r\n </tr>\r\n"); 333 } 334 } 335 WriteLiteral(@" <tr> 336 <td>&nbsp;</td> 337 <td align=""right"">&nbsp;</td> 338 </tr> 339 "); 340 if (!String.IsNullOrEmpty(p.GetFieldStringValue("xEjendomEnergiklassifikation")) && !propIsErhverv) 341 { 342 WriteLiteral(@" <tr> 343 <td>Energimærke</td> 344 <td align=""right""> 345 <div class=""energylabel"" data-energylabel="""); 346 Write(p.GetFieldStringValue("xEjendomEnergiklassifikation")); 347 WriteLiteral("\"></div>\r\n </td>\r\n </tr>\r\n"); 348 } 349 WriteLiteral(" </table>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <h3>Mægler</h3>\r\n"); 350 if (propBroker != null) 351 { 352 string eImg = ""; 353 string bClass = "col-12"; 354 if (propBroker.Employee != null) 355 { 356 string image = propBroker.Employee.Item().GetString("Portrait1000"); 357 if (!String.IsNullOrEmpty(image)) 358 { 359 eImg = image; 360 bClass = "col-7"; 361 } 362 } 363 WriteLiteral(" <div class=\"row\">\r\n"); 364 if (!String.IsNullOrEmpty(eImg)) 365 { 366 WriteLiteral(" <div class=\"col-5\">\r\n <a"); 367 BeginWriteAttribute("href", " href=\"", 22864, "\"", 22881, 1); 368 WriteAttributeValue("", 22871, brokerUrl, 22871, 10, false); 369 EndWriteAttribute(); 370 WriteLiteral(">\r\n"); 371 372 //PushPromise(eImg); 373 WriteLiteral(" <img"); 374 BeginWriteAttribute("src", " src=\"", 23178, "\"", 23189, 1); 375 WriteAttributeValue("", 23184, eImg, 23184, 5, false); 376 EndWriteAttribute(); 377 WriteLiteral(" class=\"img-responsive\" />\r\n </a>\r\n </div>"); 378 } 379 WriteLiteral(" <div"); 380 BeginWriteAttribute("class", " class=\"", 23405, "\"", 23420, 1); 381 WriteAttributeValue("", 23413, bClass, 23413, 7, false); 382 EndWriteAttribute(); 383 WriteLiteral(">\r\n <p>\r\n"); 384 if (propBroker.Employee != null) 385 { 386 WriteLiteral(" <b>"); 387 Write(propBroker.Employee.Name); 388 WriteLiteral("</b><br>\r\n"); 389 if (!String.IsNullOrEmpty(propBroker.Employee.Email)) 390 { 391 WriteLiteral("Mail: <a"); 392 BeginWriteAttribute("href", " href=\"", 24015, "\"", 24083, 2); 393 WriteAttributeValue("", 24022, "mailto:", 24022, 7, true); 394 WriteAttributeValue("", 24029, Utils.ExtractMaskedEmail(propBroker.Employee.Email), 24029, 54, false); 395 EndWriteAttribute(); 396 WriteLiteral(">"); 397 Write(Utils.ExtractMaskedEmail(propBroker.Employee.Email)); 398 WriteLiteral("</a><br>"); 399 400 } 401 if (!String.IsNullOrEmpty(propBroker.Employee.PhoneMobile)) 402 { 403 WriteLiteral("Tlf.: <a"); 404 BeginWriteAttribute("href", " href=\"", 24495, "\"", 24540, 2); 405 WriteAttributeValue("", 24502, "tel:", 24502, 4, true); 406 WriteAttributeValue("", 24506, propBroker.Employee.PhoneMobile, 24506, 34, false); 407 EndWriteAttribute(); 408 WriteLiteral(">"); 409 Write(Utils.FormatPhoneNumber(propBroker.Employee.PhoneMobile)); 410 WriteLiteral("</a><br>"); 411 412 } 413 else if (!String.IsNullOrEmpty(propBroker.Broker.Telephone)) 414 { 415 WriteLiteral("Tlf.: <a"); 416 BeginWriteAttribute("href", " href=\"", 24958, "\"", 24999, 2); 417 WriteAttributeValue("", 24965, "tel:", 24965, 4, true); 418 WriteAttributeValue("", 24969, propBroker.Broker.Telephone, 24969, 30, false); 419 EndWriteAttribute(); 420 WriteLiteral(">"); 421 Write(Utils.FormatPhoneNumber(propBroker.Broker.Telephone)); 422 WriteLiteral("</a><br>"); 423 424 } 425 WriteLiteral(" <br>\r\n"); 426 } 427 WriteLiteral(" <b>"); 428 Write(bName); 429 WriteLiteral("</b><br>\r\n "); 430 Write(propBroker.Broker.Address); 431 WriteLiteral("<br>\r\n "); 432 Write(propBroker.Broker.ZipCode); 433 WriteLiteral(" "); 434 Write(propBroker.Broker.City); 435 WriteLiteral("<br>\r\n"); 436 if (!String.IsNullOrEmpty(bEmail)) 437 { 438 WriteLiteral("Mail: <a"); 439 BeginWriteAttribute("href", " href=\"", 25796, "\"", 25819, 2); 440 WriteAttributeValue("", 25803, "mailto:", 25803, 7, true); 441 WriteAttributeValue("", 25810, bEmail, 25810, 9, false); 442 EndWriteAttribute(); 443 WriteLiteral(">"); 444 Write(bEmail); 445 WriteLiteral("</a><br />"); 446 447 } 448 if (!String.IsNullOrEmpty(propBroker.Broker.Telephone)) 449 { 450 WriteLiteral("Tlf.: <a"); 451 BeginWriteAttribute("href", " href=\"", 26171, "\"", 26212, 2); 452 WriteAttributeValue("", 26178, "tel:", 26178, 4, true); 453 WriteAttributeValue("", 26182, propBroker.Broker.Telephone, 26182, 30, false); 454 EndWriteAttribute(); 455 WriteLiteral(">"); 456 Write(Utils.FormatPhoneNumber(propBroker.Broker.Telephone)); 457 WriteLiteral("</a><br />"); 458 459 } 460 WriteLiteral(" </p>\r\n </div>\r\n </div>\r\n"); 461 } 462 else 463 { 464 WriteLiteral(" <div class=\"row\">\r\n Denne bolig har ingen mægler tilkoblet.\r\n </div>\r\n"); 465 } 466 WriteLiteral(" </div>\r\n </div>\r\n"); 467 if (edhFiles.Any()) 468 { 469 WriteLiteral(@" <div class=""row""> 470 <div class=""col-md-4 hidden-xs"">&nbsp;</div> 471 <div class=""downloads col-md-8""> 472 <h3>Dokumenter</h3> 473 <table> 474 "); 475 foreach (var item in edhFiles) 476 { 477 if (item.Value.ToLower() == "salgsopstilling") 478 { 479 WriteLiteral(" <tr>\r\n"); 480 if (propIsErhverv) 481 { 482 WriteLiteral(" <td>\r\n <a"); 483 BeginWriteAttribute("href", " href=\"", 28147, "\"", 28163, 1); 484 WriteAttributeValue("", 28154, item.Key, 28154, 9, false); 485 EndWriteAttribute(); 486 WriteLiteral(" class=\"downloads-link\" target=\"_blank\">Salgsprospekt</a>\r\n </td>\r\n"); 487 } 488 else 489 { 490 WriteLiteral(" <td>\r\n <a"); 491 BeginWriteAttribute("href", " href=\"", 28650, "\"", 28666, 1); 492 WriteAttributeValue("", 28657, item.Key, 28657, 9, false); 493 EndWriteAttribute(); 494 WriteLiteral(" class=\"downloads-link\" target=\"_blank\">"); 495 Write(item.Value); 496 WriteLiteral("</a>\r\n </td>\r\n"); 497 } 498 WriteLiteral(" </tr>\r\n"); 499 } 500 else 501 { 502 WriteLiteral(" <tr>\r\n <td colspan=\"2\">\r\n <a"); 503 BeginWriteAttribute("href", " href=\"", 29331, "\"", 29347, 1); 504 WriteAttributeValue("", 29338, item.Key, 29338, 9, false); 505 EndWriteAttribute(); 506 WriteLiteral(" class=\"downloads-link\" target=\"_blank\">"); 507 Write(item.Value); 508 WriteLiteral("</a>\r\n </td>\r\n </tr>\r\n"); 509 } 510 } 511 WriteLiteral(" </table>\r\n </div>\r\n </div>\r\n"); 512 } 513 WriteLiteral(" </div>\r\n </div>\r\n\r\n"); 514 515 Dynamicweb.Content.PageService a = new Dynamicweb.Content.PageService(); 516 var pageID = 0; 517 518 var page = a.GetPageByNavigationTag(Dynamicweb.Frontend.PageView.Current().AreaID, "UserSaleItemsNavigationTag"); 519 520 if (page != null) 521 { 522 pageID = page.ID; 523 } 524 525 WriteLiteral(" <input type=\"hidden\" class=\"js-GraphPageAjax\""); 526 BeginWriteAttribute("value", " value=\"", 30552, "\"", 30583, 2); 527 WriteAttributeValue("", 30560, "Default.aspx?id=", 30560, 16, true); 528 WriteAttributeValue("", 30576, pageID, 30576, 7, false); 529 EndWriteAttribute(); 530 WriteLiteral(">\r\n\r\n <section class=\"my-sales-items-statistic\">\r\n <div class=\"container\">\r\n\r\n <div"); 531 BeginWriteAttribute("id", " id=\"", 30760, "\"", 30791, 2); 532 WriteAttributeValue("", 30765, "js-insert-Graph", 30765, 15, true); 533 WriteAttributeValue("", 30780, bolig.Id, 30780, 11, false); 534 EndWriteAttribute(); 535 WriteLiteral(">\r\n <div hidden class=\"acc-toggle loading-text\">"); 536 Write(Translate("Smartpage.Graphloadingtext", "Vent venligst...")); 537 WriteLiteral("</div>\r\n </div>\r\n\r\n <div class=\"acc-toggle-container row\">\r\n <div"); 538 BeginWriteAttribute("class", " class=\"", 31113, "\"", 31166, 4); 539 WriteAttributeValue("", 31121, "loading", 31121, 7, true); 540 WriteAttributeValue("", 31128, bolig.Id, 31128, 11, false); 541 WriteAttributeValue(" ", 31139, "acc-toggle", 31140, 11, true); 542 WriteAttributeValue(" ", 31150, "js-toggle-chart", 31151, 16, true); 543 EndWriteAttribute(); 544 WriteLiteral(" data-propertyID=\""); 545 Write(p.Id); 546 WriteLiteral("\" data-houseID=\""); 547 Write(bolig.Id); 548 WriteLiteral("\" data-productFieldValueAddress=\""); 549 Write(Dynamicweb.Core.Converter.ToString(p.GetProductFieldValue("xEjendomAdresseAdresseLinie"))); 550 WriteLiteral(@""" data-acc-label-loading=""Hej"" data-acc-label-hide=""Skjul statistik"" data-acc-label-show=""Vis statistik"">Vis statistik</div> 551 552 </div> 553 </div> 554 </section> 555 556 </section> 557 </section> 558 "); 559 560 } 561 WriteLiteral(" <section class=\"no-sales-items\"><div class=\"container mt-4 mb-4 text-center\"><h4>"); 562 Write(Translate("Smartpage:Mitboligsalg.NoSearch", "Din søgning havde ikke resultater")); 563 WriteLiteral("</h4></div></section>\r\n\r\n\r\n </div>\r\n"); 564 } 565 else 566 { 567 WriteLiteral(" <section><div class=\"container mt-4 mb-4 text-center\"><h4>"); 568 Write(Translate("Smartpage:Mitboligsalg.NoItemsForSale", "Ingen boliger til salg")); 569 WriteLiteral("</h4></div></section>\r\n"); 570 571 } 572 573 } 574 575 } 576 } 577 #pragma warning restore 1998 578 } 579 } 580 #pragma warning restore 1591 581

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 string altan = p.GetFieldStringValue("xEjendomFaciliteterAltan"); 93 int garageAreal = p.GetFieldIntValue("xEjendomArealerOevrigeArealerGarage") + p.GetFieldIntValue("xEjendomArealerHovedbygningIntegreredeArealerGarage"); 94 95 RealEstate.Broker.Model.BrokerEmployee propBroker = null; 96 var brokerUrl = ""; 97 try 98 { 99 propBroker = Search.GetEmployee(p.GetProductFieldValue("xButikID").ToString(), p.GetProductFieldValue("xAktoererMaeglerKontaktEmail").ToString()); 100 } 101 catch (Exception e) { } 102 103 string bName = String.Empty; 104 string bEmail = String.Empty; 105 if (propBroker != null) 106 { 107 try 108 { 109 var ItemModelBroker = Search.Item(propBroker.Broker); 110 brokerUrl = "/" + ItemModelBroker.GetString("CBMedlemsnummer").Substring(1); 111 } 112 catch (Exception e) { } 113 114 bName = propBroker.Broker.Name; 115 if (!String.IsNullOrEmpty(propBroker.Broker.CompanyName)) 116 { 117 bName = propBroker.Broker.CompanyName; 118 } 119 120 var butikId = String.Empty; 121 if (propBroker != null && propBroker.Broker != null) 122 { 123 butikId = propBroker.Broker.Item().GetString("CBMedlemsnummer"); 124 bEmail = propBroker.Broker.Item().GetString("Email"); 125 } 126 } 127 var tidligereAabnehuse = boligManager.TidligereAfholdteAabnehuse(bolig); 128 129 Dictionary<string, string> edhFiles = BoligManager.GetEDHFilesCompact(p); 130 131 <section class="clearfix sale-item"> 132 <section class="my-sales-items bolig-page bolig-list bolig-list-static"> 133 <div class="container"> 134 <div class="content"> 135 <div class="row"> 136 <div class="col-12"> 137 <h2>@p.GetFieldStringValue("xEjendomAdresseAdresseLinie")<br>@p.GetFieldStringValue("xEjendomAdressePostAdresseLinie")</h2> 138 </div> 139 </div> 140 <div class="row"> 141 <div class="bolig col-md-4"> 142 <div class="box"> 143 <a href='@bolig.LinkUrl' target="_blank"> 144 <div class="img-wrapper"> 145 @if (!String.IsNullOrEmpty(bolig.Label)) 146 { 147 <div class="label"><b>@bolig.Label</b></div> 148 } 149 @{ 150 //PushPromise(imgUrl); 151 } 152 <img src="@imgUrl" class="img-responsive @imgClass" alt="@HttpUtility.HtmlAttributeEncode(bolig.Adresse) @bolig.Ejendomskategori" /> 153 </div> 154 </a> 155 </div> 156 @if (tidligereAabnehuse.Count > 0) 157 { 158 <div class="open-houses"> 159 <b>Tidligere afholdte åbent hus</b> 160 @foreach (var item in tidligereAabnehuse) 161 { 162 <p> 163 @item.Dag @item.DatoFormateret @if (!String.IsNullOrEmpty(item.TidspunktFormateret)) 164 {<text>@item.TidspunktFormateret</text>} 165 </p> 166 } 167 </div> 168 } 169 </div> 170 <div class="col-md-4"> 171 <h3>Detaljer</h3> 172 <table> 173 <tr> 174 <td>Sagsnummer</td> 175 <td align="right"><b>@bolig.Id</b></td> 176 </tr> 177 @if (!propIsErhverv) 178 { 179 if (string.IsNullOrEmpty(p.GetFieldStringValue("xEjendomBSEjendomstype"))) 180 { 181 <tr> 182 <td>Boligtype</td> 183 <td align="right"><b>@p.GetFieldStringValue("xEjendomBSEjendomstype")</b></td> 184 </tr> 185 } 186 if (p.GetFieldIntValue("xEjendomArealerBoligAreal") > 0) 187 { 188 <tr> 189 <td>Boligareal</td> 190 <td align="right"><b>@p.GetFieldStringValue("xEjendomArealerBoligAreal") m<sup>2</sup></b></td> 191 </tr> 192 } 193 if (p.GetFieldIntValue("xEjendomArealerGrundArealHA") > 0) 194 { 195 <tr> 196 <td>Grundareal</td> 197 <td align="right"><b>@p.GetFieldIntValue("xEjendomArealerGrundArealHA") hektar</b></td> 198 </tr> 199 } 200 else if (p.GetFieldIntValue("xEjendomArealerGrundAreal") > 0) 201 { 202 <tr> 203 <td>Grundareal</td> 204 <td align="right"><b>@p.GetFieldIntValue("xEjendomArealerGrundAreal") m<sup>2</sup></b></td> 205 </tr> 206 } 207 if (p.GetFieldIntValue("xEjendomArealerKaelderAreal") > 0) 208 { 209 <tr> 210 <td>Kælderareal</td> 211 <td align="right"><b>@p.GetFieldIntValue("xEjendomArealerKaelderAreal") m<sup>2</sup></b></td> 212 </tr> 213 } 214 if (garageAreal > 0) 215 { 216 <tr> 217 <td>Garage/carport</td> 218 <td align="right"><b>@garageAreal m<sup>2</sup></b></td> 219 </tr> 220 } 221 if (!String.IsNullOrEmpty(altan) && altan.ToLower() == "true") 222 { 223 <tr> 224 <td>Altan</td> 225 <td align="right"><b>Ja</b></td> 226 </tr> 227 } 228 if (p.GetFieldIntValue("xEjendomOpfoertAar") != 0) 229 { 230 <tr> 231 <td>Bygget/ombygget</td> 232 <td align="right"> 233 <b> 234 @p.GetFieldIntValue("xEjendomOpfoertAar") 235 @if (p.GetFieldIntValue("xEjendomOmbyggetAar") != 0) 236 {<text> / @p.GetFieldIntValue("xEjendomOmbyggetAar")</text>} 237 </b> 238 </td> 239 </tr> 240 } 241 if (p.GetFieldIntValue("xEjendomArealerVaerelser") != 0) 242 { 243 <tr> 244 <td>Antal rum</td> 245 <td align="right"><b>@p.GetFieldStringValue("xEjendomArealerVaerelser") </b></td> 246 </tr> 247 } 248 if (p.GetFieldIntValue("xEjendomArealerEtager") != 0) 249 { 250 <tr> 251 <td>Etager</td> 252 <td align="right"><b>@p.GetFieldStringValue("xEjendomArealerEtager")</b></td> 253 </tr> 254 } 255 } 256 else 257 { 258 if (!String.IsNullOrEmpty(p.GetFieldStringValue("xEjendomEjendomstype"))) 259 { 260 <tr> 261 <td>Ejendomstype</td> 262 <td align="right"> 263 <b> 264 @p.GetFieldStringValue("xEjendomEjendomstype") 265 </b> 266 </td> 267 </tr> 268 } 269 if (p.GetFieldStringValue("xUdbudsForm") == "Salg" && p.GetFieldIntValue("xEjendomArealerErhvervAreal") > 0) 270 { 271 <tr> 272 <td>Erhvervsareal</td> 273 <td align="right"><b>@p.GetFieldStringValue("xEjendomArealerErhvervAreal") m<sup>2</sup></b></td> 274 </tr> 275 } 276 else if (p.GetFieldStringValue("xUdbudsForm") == "Leje" && p.GetFieldIntValue("xEjendomArealerEtageAreal") > 0) 277 { 278 <tr> 279 <td>Erhvervsareal</td> 280 <td align="right"><b>@p.GetFieldStringValue("xEjendomArealerEtageAreal") m<sup>2</sup></b></td> 281 </tr> 282 } 283 if (p.GetFieldIntValue("xEjendomArealerGrundArealHA") > 0) 284 { 285 <tr> 286 <td>Grund</td> 287 <td align="right"><b>@p.GetFieldIntValue("xEjendomArealerGrundArealHA") hektar</b></td> 288 </tr> 289 } 290 else if (p.GetFieldIntValue("xEjendomArealerGrundAreal") > 0) 291 { 292 <tr> 293 <td>Grund</td> 294 <td align="right"><b>@p.GetFieldIntValue("xEjendomArealerGrundAreal") m<sup>2</sup></b></td> 295 </tr> 296 } 297 if (p.GetFieldIntValue("xEjendomOpfoertAar") != 0) 298 { 299 <tr> 300 <td>Bygget/ombygget</td> 301 <td align="right"> 302 <b> 303 @p.GetFieldIntValue("xEjendomOpfoertAar") 304 @if (p.GetFieldIntValue("xEjendomOmbyggetAar") != 0) 305 {<text> / @p.GetFieldIntValue("xEjendomOmbyggetAar")</text>} 306 </b> 307 </td> 308 </tr> 309 } 310 } 311 <tr> 312 <td>&nbsp;</td> 313 <td align="right">&nbsp;</td> 314 </tr> 315 @if (!String.IsNullOrEmpty(p.GetFieldStringValue("xEjendomEnergiklassifikation")) && !propIsErhverv) 316 { 317 <tr> 318 <td>Energimærke</td> 319 <td align="right"> 320 <div class="energylabel" data-energylabel="@p.GetFieldStringValue("xEjendomEnergiklassifikation")"></div> 321 </td> 322 </tr> 323 } 324 </table> 325 </div> 326 <div class="col-md-4"> 327 <h3>Mægler</h3> 328 @if (propBroker != null) 329 { 330 string eImg = ""; 331 string bClass = "col-12"; 332 if (propBroker.Employee != null) 333 { 334 string image = propBroker.Employee.Item().GetString("Portrait1000"); 335 if (!String.IsNullOrEmpty(image)) 336 { 337 eImg = image; 338 bClass = "col-7"; 339 } 340 } 341 <div class="row"> 342 @if (!String.IsNullOrEmpty(eImg)) 343 { 344 <div class="col-5"> 345 <a href="@brokerUrl"> 346 @{ 347 //PushPromise(eImg); 348 } 349 <img src="@eImg" class="img-responsive" /> 350 </a> 351 </div>} 352 <div class="@bClass"> 353 <p> 354 @if (propBroker.Employee != null) 355 { 356 <b>@(propBroker.Employee.Name)</b><br> 357 if (!String.IsNullOrEmpty(propBroker.Employee.Email)) 358 { 359 <text>Mail: <a href="mailto:@(Utils.ExtractMaskedEmail(propBroker.Employee.Email))">@Utils.ExtractMaskedEmail(propBroker.Employee.Email)</a><br></text> 360 } 361 if (!String.IsNullOrEmpty(propBroker.Employee.PhoneMobile)) 362 { 363 <text>Tlf.: <a href="tel:@(propBroker.Employee.PhoneMobile)">@Utils.FormatPhoneNumber(propBroker.Employee.PhoneMobile)</a><br></text> 364 } 365 else if (!String.IsNullOrEmpty(propBroker.Broker.Telephone)) 366 { 367 <text>Tlf.: <a href="tel:@(propBroker.Broker.Telephone)">@Utils.FormatPhoneNumber(propBroker.Broker.Telephone)</a><br></text> 368 } 369 <br> 370 } 371 <b>@bName</b><br> 372 @propBroker.Broker.Address<br> 373 @propBroker.Broker.ZipCode @propBroker.Broker.City<br> 374 @if (!String.IsNullOrEmpty(bEmail)) 375 { 376 <text>Mail: <a href="mailto:@(bEmail)">@(bEmail)</a><br /></text> 377 } 378 @if (!String.IsNullOrEmpty(propBroker.Broker.Telephone)) 379 { 380 <text>Tlf.: <a href="tel:@(propBroker.Broker.Telephone)">@(Utils.FormatPhoneNumber(propBroker.Broker.Telephone))</a><br /></text> 381 } 382 </p> 383 </div> 384 </div> 385 } 386 else 387 { 388 <div class="row"> 389 Denne bolig har ingen mægler tilkoblet. 390 </div> 391 } 392 </div> 393 </div> 394 @if (edhFiles.Any()) 395 { 396 <div class="row"> 397 <div class="col-md-4 hidden-xs">&nbsp;</div> 398 <div class="downloads col-md-8"> 399 <h3>Dokumenter</h3> 400 <table> 401 @foreach (var item in edhFiles) 402 { 403 if (item.Value.ToLower() == "salgsopstilling") 404 { 405 <tr> 406 @if (propIsErhverv) 407 { 408 <td> 409 <a href="@item.Key" class="downloads-link" target="_blank">Salgsprospekt</a> 410 </td> 411 } 412 else 413 { 414 <td> 415 <a href="@item.Key" class="downloads-link" target="_blank">@item.Value</a> 416 </td> 417 } 418 </tr> 419 } 420 else 421 { 422 <tr> 423 <td colspan="2"> 424 <a href="@item.Key" class="downloads-link" target="_blank">@item.Value</a> 425 </td> 426 </tr> 427 } 428 } 429 </table> 430 </div> 431 </div> 432 } 433 </div> 434 </div> 435 436 @{ 437 Dynamicweb.Content.PageService a = new Dynamicweb.Content.PageService(); 438 var pageID = 0; 439 440 var page = a.GetPageByNavigationTag(Dynamicweb.Frontend.PageView.Current().AreaID, "UserSaleItemsNavigationTag"); 441 442 if (page != null) 443 { 444 pageID = page.ID; 445 } 446 447 } 448 <input type="hidden" class="js-GraphPageAjax" value="Default.aspx?id=@pageID"> 449 450 <section class="my-sales-items-statistic"> 451 <div class="container"> 452 453 <div id="js-insert-Graph@(bolig.Id)"> 454 <div hidden class="acc-toggle loading-text">@Translate("Smartpage.Graphloadingtext", "Vent venligst...")</div> 455 </div> 456 457 <div class="acc-toggle-container row"> 458 <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> 459 460 </div> 461 </div> 462 </section> 463 464 </section> 465 </section> 466 467 } 468 <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> 469 470 471 </div> 472 } 473 else 474 { 475 <section><div class="container mt-4 mb-4 text-center"><h4>@Translate("Smartpage:Mitboligsalg.NoItemsForSale", "Ingen boliger til salg")</h4></div></section> 476 477 } 478 479 } 480 481 } 482
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.