Søg bolig

0 Boliger til salg

Boliger til salg

Dette er en samlet oversigt over boliger til salg hos din tilknyttede mægler.

Error compiling template "/Paragraph/user_sale_itemsSearch.cshtml"
Line 13: The type or namespace name 'Broker' does not exist in the namespace 'RealEstate' (are you missing an assembly reference?)
Line 42: 'User.GetCurrentExtranetUser()' is obsolete: 'Use UserContext.Current.User instead.'
Line 45: The type or namespace name 'Broker' does not exist in the namespace 'RealEstate' (are you missing an assembly reference?)
Line 48: 'User.IsExtranetUserLoggedIn()' is obsolete: 'Use IsFrontendUserLoggedIn() instead.'
Line 66: 'User.Groups' is obsolete: 'Use GetGroups instead.'
Line 68: 'Group' does not contain a definition for 'Item' and no accessible extension method 'Item' accepting a first argument of type 'Group' could be found (are you missing a using directive or an assembly reference?)
Line 109: 'Product' does not contain a definition for 'GetProductsByProductIDs'
Line 110: '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 156: The type or namespace name 'Broker' does not exist in the namespace 'RealEstate' (are you missing an assembly reference?)
Line 160: The type or namespace name 'Broker' does not exist in the namespace 'RealEstate' (are you missing an assembly reference?)
Line 170: The type or namespace name 'Broker' does not exist in the namespace 'RealEstate' (are you missing an assembly reference?)
Line 440: 'Utils' does not contain a definition for 'ExtractMaskedEmail'
Line 443: 'Utils' does not contain a definition for 'ExtractMaskedEmail'
Line 455: 'Utils' does not contain a definition for 'FormatPhoneNumber'
Line 467: 'Utils' does not contain a definition for 'FormatPhoneNumber'
Line 502: 'Utils' does not contain a definition for 'FormatPhoneNumber'
Line 162: The variable 'e' is declared but never used
Line 173: The variable 'e' is declared but never used
Line 29: The variable 'chartPrimaryColor' is assigned but its value is never used
Line 30: The variable 'chartSecondaryColor' is assigned but its value is never used
Line 31: The variable 'chartTertiaryColor' is assigned but its value is 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 System.Web; 11 using System.Globalization; 12 using RealEstate.User; 13 using RealEstate.Broker; 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_b67176c360eb4dcc9cfa0ef39c639ecd : 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"); 25 26 bool BoligOne = false; 27 if (!string.IsNullOrEmpty(Dynamicweb.Frontend.PageView.Current().Area.Item["Type"].ToString()) && Dynamicweb.Frontend.PageView.Current().Area.Item["Type"].ToString().Equals("bone")) { BoligOne = true; } 28 29 var chartPrimaryColor = "rgba(0, 55, 97,1)"; // #003761 30 var chartSecondaryColor = "rgba(150, 121, 73, 1)"; // #967949 31 var chartTertiaryColor = "rgba(76, 73, 74, 1)"; // #4c494a 32 33 if (BoligOne) 34 { 35 chartPrimaryColor = "rgba(178, 7, 26, 1)"; // #b2071a 36 chartSecondaryColor = "rgba(45, 56, 60, 1)"; // #2d383c 37 chartTertiaryColor = "rgba(128, 128, 131, 1)"; // #808083 38 } 39 40 var culture = new System.Globalization.CultureInfo("da-DK"); 41 42 var user = Dynamicweb.Security.UserManagement.User.GetCurrentExtranetUser(); 43 44 bool isBroker = (user.ItemType == "Medarbejder" ? true : false); 45 var ItemModel = RealEstate.Broker.Search.Item(user); 46 47 WriteLiteral("\r\n"); 48 if (Dynamicweb.Security.UserManagement.User.IsExtranetUserLoggedIn()) 49 { 50 51 string SellerString = ""; 52 string[] SplittedIDS = new string[] { }; 53 List<string> butikker = new List<string>(); 54 HashSet<string> godkendteSager = new HashSet<string>(); 55 56 if (!string.IsNullOrEmpty(ItemModel.GetString("Godkendte_Salgsopstillinger"))) 57 { 58 godkendteSager = new HashSet<string>(ItemModel.GetString("Godkendte_Salgsopstillinger").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)); 59 } 60 if (!string.IsNullOrEmpty(ItemModel.GetString("SagsNrListe")) || isBroker) 61 { 62 63 if (isBroker) 64 { 65 // Get all relevant butikIds for this user via his groups 66 foreach (var group in user.Groups) 67 { 68 var butikId = group.Item().GetString("CBMedlemsnummer"); 69 if (!String.IsNullOrEmpty(butikId)) 70 { 71 butikker.Add(butikId); 72 } 73 } 74 75 Dynamicweb.Indexing.Querying.IQueryProvider maeglerBoligerQueryProvider = Dynamicweb.Extensibility.ServiceLocator.Current.GetInstance<Dynamicweb.Indexing.IIndexService>().LoadIndex("Boliger", "Boliger.index").GetInstance() as Dynamicweb.Indexing.Querying.IQueryProvider; 76 Dynamicweb.Indexing.Querying.IQuery maeglerBoligerQuery = Dynamicweb.Extensibility.ServiceLocator.Current.GetInstance<Dynamicweb.Indexing.Querying.IQueryService>().LoadQuery("Boliger", "Medarbejderboliger.query"); 77 Dynamicweb.Indexing.Querying.QuerySettings querySettings = new Dynamicweb.Indexing.Querying.QuerySettings(); 78 querySettings.IncludeDebugInfo = true; 79 querySettings.Take = 256; 80 querySettings.Parameters = new Dictionary<string, object>(); 81 /* Do sorting on products collection later on 82 querySettings.SortOrder = new List<Dynamicweb.Indexing.Querying.Sorting.SortInfo>(); 83 Dynamicweb.Indexing.Querying.Sorting.SortInfo si = new Dynamicweb.Indexing.Querying.Sorting.SortInfo(); 84 si.Field = "CustomField_xMarketingFoersteAnnonceringsdato"; 85 si.SortDirection = Dynamicweb.Indexing.Querying.Sorting.SortDirection.Descending; 86 querySettings.SortOrder.Add(si); 87 */ 88 89 querySettings.Parameters.Add("butikker", butikker.ToArray()); 90 91 Dynamicweb.Indexing.Querying.IQueryResult queryResult = null; 92 try 93 { 94 queryResult = maeglerBoligerQueryProvider.Query(maeglerBoligerQuery, querySettings); 95 // SellerString = String.Join(",", queryResult.QueryResult.Select(x => (((Dictionary<string, object>)x)["ID"]).ToString())); 96 SplittedIDS = queryResult.QueryResult.Select(x => (((Dictionary<string, object>)x)["ID"]).ToString()).ToArray(); 97 } 98 catch 99 { 100 // Ignore 101 } 102 } 103 else 104 { 105 SellerString = ItemModel.GetString("SagsNrListe"); 106 SplittedIDS = SellerString.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); 107 } 108 109 var Properties = Dynamicweb.Ecommerce.Products.Product.GetProductsByProductIDs(SplittedIDS); 110 var products = Properties.ToList().OrderByDescending(p => p.GetFieldDateTimeValue("xMarketingFoersteAnnonceringsdato")); 111 // .Sort("xMarketingFoersteAnnonceringsdato", Dynamicweb.Ecommerce.Products.SortDirection.Descending); 112 113 BoligManager boligManager = new BoligManager(Pageview); 114 115 if (products.Count() > 0) 116 { 117 WriteLiteral(" <div class=\"container\">\r\n <input type=\"text\" class=\"js-livesearch form-control mitboligsalg-search\""); 118 BeginWriteAttribute("placeholder", " placeholder=\"", 5114, "\"", 5216, 1); 119 WriteAttributeValue("", 5128, Translate("Smartpage:Boligsalg.SearchPlaceholder","Søg efter adresse eller sagsnummer"), 5128, 88, false); 120 EndWriteAttribute(); 121 WriteLiteral(" />\r\n </div>\r\n"); 122 } 123 else 124 { 125 WriteLiteral(" <section><div class=\"container mt-4 mb-4 text-center\"><h4>"); 126 Write(Translate("Smartpage:Mitboligsalg.NoItemsForSale", "Ingen boliger til salg")); 127 WriteLiteral("</h4></div></section>\r\n"); 128 129 } 130 131 WriteLiteral(" <div class=\"sales-items\">\r\n\r\n"); 132 foreach (var p in products) 133 { 134 var bolig = boligManager.CreateBolig(p); 135 string imgUrl = ""; 136 string imgClass = "na"; 137 if (BoligOne) 138 { 139 imgUrl = "/Files/Templates/Designs/rm/assets/images/na-bone.png"; 140 } 141 else 142 { 143 imgUrl = "/Files/Templates/Designs/rm/assets/images/na-real.png"; 144 } 145 if (!String.IsNullOrEmpty(bolig.ImageUrl)) 146 { 147 imgUrl = bolig.ImageUrl; 148 imgClass = ""; 149 } 150 string propCategory = bolig.Ejendomskategori; 151 bool propIsErhverv = bolig.Erhverv; 152 153 string altan = p.GetFieldStringValue("xEjendomFaciliteterAltan"); 154 int garageAreal = p.GetFieldIntValue("xEjendomArealerOevrigeArealerGarage") + p.GetFieldIntValue("xEjendomArealerHovedbygningIntegreredeArealerGarage"); 155 156 RealEstate.Broker.Model.BrokerEmployee propBroker = null; 157 var brokerUrl = ""; 158 try 159 { 160 propBroker = RealEstate.Broker.Search.GetEmployee(p.GetProductFieldValue("xButikID").ToString(), p.GetProductFieldValue("xAktoererMaeglerKontaktEmail").ToString()); 161 } 162 catch (Exception e) { } 163 164 string bName = String.Empty; 165 string bEmail = String.Empty; 166 if (propBroker != null) 167 { 168 try 169 { 170 var ItemModelBroker = RealEstate.Broker.Search.Item(propBroker.Broker); 171 brokerUrl = "/" + ItemModelBroker.GetString("CBMedlemsnummer").Substring(1); 172 } 173 catch (Exception e) { } 174 175 bName = propBroker.Broker.Name; 176 if (!String.IsNullOrEmpty(propBroker.Broker.CompanyName)) 177 { 178 bName = propBroker.Broker.CompanyName; 179 } 180 181 var butikId = String.Empty; 182 183 if (propBroker != null && propBroker.Broker != null) 184 { 185 butikId = propBroker.Broker.Item().GetString("CBMedlemsnummer"); 186 bEmail = propBroker.Broker.Item().GetString("Email"); 187 } 188 } 189 var tidligereAabnehuse = boligManager.TidligereAfholdteAabnehuse(bolig); 190 191 Dictionary<string, string> edhFiles = BoligManager.GetEDHFilesCompact(p); 192 193 WriteLiteral(@" <section class=""clearfix sale-item""> 194 <section class=""my-sales-items bolig-page bolig-list bolig-list-static""> 195 <div class=""container""> 196 <div class=""content""> 197 <div class=""row""> 198 <div class=""col-12""> 199 <h2>"); 200 Write(p.GetFieldStringValue("xEjendomAdresseAdresseLinie")); 201 WriteLiteral("<br>"); 202 Write(p.GetFieldStringValue("xEjendomAdressePostAdresseLinie")); 203 WriteLiteral(@"</h2> 204 </div> 205 </div> 206 <div class=""row""> 207 <div class=""bolig col-md-4""> 208 <div class=""box""> 209 <a"); 210 BeginWriteAttribute("href", " href=\'", 9036, "\'", 9057, 1); 211 WriteAttributeValue("", 9043, bolig.LinkUrl, 9043, 14, false); 212 EndWriteAttribute(); 213 WriteLiteral(" target=\"_blank\">\r\n <div class=\"img-wrapper\">\r\n"); 214 if (!String.IsNullOrEmpty(bolig.Label)) 215 { 216 WriteLiteral(" <div class=\"label\"><b>"); 217 Write(bolig.Label); 218 WriteLiteral("</b></div>\r\n"); 219 } 220 WriteLiteral("\r\n <img"); 221 BeginWriteAttribute("src", " src=\"", 9516, "\"", 9529, 1); 222 WriteAttributeValue("", 9522, imgUrl, 9522, 7, false); 223 EndWriteAttribute(); 224 BeginWriteAttribute("class", " class=\"", 9530, "\"", 9562, 2); 225 WriteAttributeValue("", 9538, "img-responsive", 9538, 14, true); 226 WriteAttributeValue(" ", 9552, imgClass, 9553, 9, false); 227 EndWriteAttribute(); 228 BeginWriteAttribute("alt", " alt=\"", 9563, "\"", 9640, 2); 229 WriteAttributeValue("", 9569, HttpUtility.HtmlAttributeEncode(bolig.Adresse), 9569, 47, false); 230 WriteAttributeValue(" ", 9616, bolig.Ejendomskategori, 9617, 23, false); 231 EndWriteAttribute(); 232 WriteLiteral(" />\r\n </div>\r\n </a>\r\n </div>\r\n"); 233 if (tidligereAabnehuse.Count > 0) 234 { 235 WriteLiteral(" <div class=\"open-houses\">\r\n <b>Tidligere afholdte åbent hus</b>\r\n"); 236 foreach (var item in tidligereAabnehuse) 237 { 238 WriteLiteral(" <p>\r\n "); 239 Write(item.Dag); 240 WriteLiteral(" "); 241 Write(item.DatoFormateret); 242 WriteLiteral(" "); 243 if (!String.IsNullOrEmpty(item.TidspunktFormateret)) 244 { Write(item.TidspunktFormateret); 245 } 246 WriteLiteral(" </p>\r\n"); 247 } 248 WriteLiteral(" </div>\r\n"); 249 } 250 WriteLiteral(@" </div> 251 <div class=""col-md-4""> 252 <h3>Detaljer</h3> 253 <table> 254 <tr> 255 <td>Sagsnummer</td> 256 <td align=""right""><b>"); 257 Write(bolig.Id); 258 WriteLiteral("</b></td>\r\n </tr>\r\n\r\n"); 259 if (!propIsErhverv) 260 { 261 if (!string.IsNullOrEmpty(p.GetFieldStringValue("xEjendomBSEjendomstype"))) 262 { 263 WriteLiteral(" <tr>\r\n <td>Boligtype</td>\r\n <td align=\"right\"><b>"); 264 Write(p.GetFieldStringValue("xEjendomBSEjendomstype")); 265 WriteLiteral("</b></td>\r\n </tr>\r\n"); 266 } 267 if (p.GetFieldIntValue("xEjendomArealerBoligAreal") > 0) 268 { 269 WriteLiteral(" <tr>\r\n <td>Boligareal</td>\r\n <td align=\"right\"><b>"); 270 Write(p.GetFieldStringValue("xEjendomArealerBoligAreal")); 271 WriteLiteral(" m<sup>2</sup></b></td>\r\n </tr>\r\n"); 272 } 273 if (p.GetFieldIntValue("xEjendomArealerGrundArealHA") > 0) 274 { 275 WriteLiteral(" <tr>\r\n <td>Grundareal</td>\r\n <td align=\"right\"><b>"); 276 Write(p.GetFieldIntValue("xEjendomArealerGrundArealHA")); 277 WriteLiteral(" hektar</b></td>\r\n </tr>\r\n"); 278 } 279 else if (p.GetFieldIntValue("xEjendomArealerGrundAreal") > 0) 280 { 281 WriteLiteral(" <tr>\r\n <td>Grundareal</td>\r\n <td align=\"right\"><b>"); 282 Write(p.GetFieldIntValue("xEjendomArealerGrundAreal")); 283 WriteLiteral(" m<sup>2</sup></b></td>\r\n </tr>\r\n"); 284 } 285 if (p.GetFieldIntValue("xEjendomArealerKaelderAreal") > 0) 286 { 287 WriteLiteral(" <tr>\r\n <td>Kælderareal</td>\r\n <td align=\"right\"><b>"); 288 Write(p.GetFieldIntValue("xEjendomArealerKaelderAreal")); 289 WriteLiteral(" m<sup>2</sup></b></td>\r\n </tr>\r\n"); 290 } 291 if (garageAreal > 0) 292 { 293 WriteLiteral(" <tr>\r\n <td>Garage/carport</td>\r\n <td align=\"right\"><b>"); 294 Write(garageAreal); 295 WriteLiteral(" m<sup>2</sup></b></td>\r\n </tr>\r\n"); 296 } 297 if (!String.IsNullOrEmpty(altan) && altan.ToLower() == "true") 298 { 299 WriteLiteral(@" <tr> 300 <td>Altan</td> 301 <td align=""right""><b>Ja</b></td> 302 </tr> 303 "); 304 } 305 if (p.GetFieldIntValue("xEjendomOpfoertAar") != 0) 306 { 307 WriteLiteral(@" <tr> 308 <td>Bygget/ombygget</td> 309 <td align=""right""> 310 <b> 311 "); 312 Write(p.GetFieldIntValue("xEjendomOpfoertAar")); 313 WriteLiteral("\r\n"); 314 if (p.GetFieldIntValue("xEjendomOmbyggetAar") != 0) 315 {WriteLiteral(" / "); 316 Write(p.GetFieldIntValue("xEjendomOmbyggetAar")); 317 } 318 WriteLiteral(" </b>\r\n </td>\r\n </tr>\r\n"); 319 } 320 if (p.GetFieldIntValue("xEjendomArealerVaerelser") != 0) 321 { 322 WriteLiteral(" <tr>\r\n <td>Antal rum</td>\r\n <td align=\"right\"><b>"); 323 Write(p.GetFieldStringValue("xEjendomArealerVaerelser")); 324 WriteLiteral(" </b></td>\r\n </tr>\r\n"); 325 } 326 if (p.GetFieldIntValue("xEjendomArealerEtager") != 0) 327 { 328 WriteLiteral(" <tr>\r\n <td>Etager</td>\r\n <td align=\"right\"><b>"); 329 Write(p.GetFieldStringValue("xEjendomArealerEtager")); 330 WriteLiteral("</b></td>\r\n </tr>\r\n"); 331 } 332 } 333 else 334 { 335 if (!String.IsNullOrEmpty(p.GetFieldStringValue("xEjendomEjendomstype"))) 336 { 337 WriteLiteral(@" <tr> 338 <td>Ejendomstype</td> 339 <td align=""right""> 340 <b> 341 "); 342 Write(p.GetFieldStringValue("xEjendomEjendomstype")); 343 WriteLiteral("\r\n </b>\r\n </td>\r\n </tr>\r\n"); 344 } 345 if (p.GetFieldStringValue("xUdbudsForm") == "Salg" && p.GetFieldIntValue("xEjendomArealerErhvervAreal") > 0) 346 { 347 WriteLiteral(" <tr>\r\n <td>Erhvervsareal</td>\r\n <td align=\"right\"><b>"); 348 Write(p.GetFieldStringValue("xEjendomArealerErhvervAreal")); 349 WriteLiteral(" m<sup>2</sup></b></td>\r\n </tr>\r\n"); 350 } 351 else if (p.GetFieldStringValue("xUdbudsForm") == "Leje" && p.GetFieldIntValue("xEjendomArealerEtageAreal") > 0) 352 { 353 WriteLiteral(" <tr>\r\n <td>Erhvervsareal</td>\r\n <td align=\"right\"><b>"); 354 Write(p.GetFieldStringValue("xEjendomArealerEtageAreal")); 355 WriteLiteral(" m<sup>2</sup></b></td>\r\n </tr>\r\n"); 356 } 357 if (p.GetFieldIntValue("xEjendomArealerGrundArealHA") > 0) 358 { 359 WriteLiteral(" <tr>\r\n <td>Grund</td>\r\n <td align=\"right\"><b>"); 360 Write(p.GetFieldIntValue("xEjendomArealerGrundArealHA")); 361 WriteLiteral(" hektar</b></td>\r\n </tr>\r\n"); 362 } 363 else if (p.GetFieldIntValue("xEjendomArealerGrundAreal") > 0) 364 { 365 WriteLiteral(" <tr>\r\n <td>Grund</td>\r\n <td align=\"right\"><b>"); 366 Write(p.GetFieldIntValue("xEjendomArealerGrundAreal")); 367 WriteLiteral(" m<sup>2</sup></b></td>\r\n </tr>\r\n"); 368 } 369 if (p.GetFieldIntValue("xEjendomOpfoertAar") != 0) 370 { 371 WriteLiteral(@" <tr> 372 <td>Bygget/ombygget</td> 373 <td align=""right""> 374 <b> 375 "); 376 Write(p.GetFieldIntValue("xEjendomOpfoertAar")); 377 WriteLiteral("\r\n"); 378 if (p.GetFieldIntValue("xEjendomOmbyggetAar") != 0) 379 {WriteLiteral(" / "); 380 Write(p.GetFieldIntValue("xEjendomOmbyggetAar")); 381 } 382 WriteLiteral(" </b>\r\n </td>\r\n </tr>\r\n"); 383 } 384 } 385 WriteLiteral(" <tr>\r\n <td>&nbsp;</td>\r\n <td align=\"right\">&nbsp;</td>\r\n </tr>\r\n"); 386 if (!String.IsNullOrEmpty(p.GetFieldStringValue("xEjendomEnergiklassifikation")) && !propIsErhverv) 387 { 388 WriteLiteral(@" <tr> 389 <td>Energimærke</td> 390 <td align=""right""> 391 <div class=""energylabel"" data-energylabel="""); 392 Write(p.GetFieldStringValue("xEjendomEnergiklassifikation")); 393 WriteLiteral("\"></div>\r\n </td>\r\n </tr>\r\n"); 394 } 395 WriteLiteral(" </table>\r\n </div>\r\n <div class=\"col-md-4\">\r\n\r\n <h3>Mægler</h3>\r\n"); 396 if (propBroker != null) 397 { 398 string eImg = ""; 399 string bClass = "col-12"; 400 if (propBroker.Employee != null) 401 { 402 string image = propBroker.Employee.Item().GetString("Portrait1000"); 403 if (!String.IsNullOrEmpty(image)) 404 { 405 eImg = image; 406 bClass = "col-7"; 407 } 408 } 409 WriteLiteral(" <div class=\"row\">\r\n"); 410 if (!String.IsNullOrEmpty(eImg)) 411 { 412 WriteLiteral(" <div class=\"col-5\">\r\n <a"); 413 BeginWriteAttribute("href", " href=\"", 23843, "\"", 23860, 1); 414 WriteAttributeValue("", 23850, brokerUrl, 23850, 10, false); 415 EndWriteAttribute(); 416 WriteLiteral(">\r\n"); 417 418 //PushPromise(eImg); 419 WriteLiteral(" <img"); 420 BeginWriteAttribute("src", " src=\"", 24141, "\"", 24152, 1); 421 WriteAttributeValue("", 24147, eImg, 24147, 5, false); 422 EndWriteAttribute(); 423 WriteLiteral(" class=\"img-responsive\" />\r\n </a>\r\n </div>"); 424 } 425 WriteLiteral(" <div"); 426 BeginWriteAttribute("class", " class=\"", 24356, "\"", 24371, 1); 427 WriteAttributeValue("", 24364, bClass, 24364, 7, false); 428 EndWriteAttribute(); 429 WriteLiteral(">\r\n <p>\r\n"); 430 if (propBroker.Employee != null) 431 { 432 WriteLiteral(" <b>"); 433 Write(propBroker.Employee.Name); 434 WriteLiteral("</b><br>\r\n"); 435 if (!String.IsNullOrEmpty(propBroker.Employee.Email)) 436 { 437 WriteLiteral("Mail: <a"); 438 BeginWriteAttribute("href", " href=\"", 24938, "\"", 25006, 2); 439 WriteAttributeValue("", 24945, "mailto:", 24945, 7, true); 440 WriteAttributeValue("", 24952, Utils.ExtractMaskedEmail(propBroker.Employee.Email), 24952, 54, false); 441 EndWriteAttribute(); 442 WriteLiteral(">"); 443 Write(Utils.ExtractMaskedEmail(propBroker.Employee.Email)); 444 WriteLiteral("</a><br>"); 445 446 } 447 if (!String.IsNullOrEmpty(propBroker.Employee.PhoneMobile)) 448 { 449 WriteLiteral("Tlf.: <a"); 450 BeginWriteAttribute("href", " href=\"", 25402, "\"", 25447, 2); 451 WriteAttributeValue("", 25409, "tel:", 25409, 4, true); 452 WriteAttributeValue("", 25413, propBroker.Employee.PhoneMobile, 25413, 34, false); 453 EndWriteAttribute(); 454 WriteLiteral(">"); 455 Write(Utils.FormatPhoneNumber(propBroker.Employee.PhoneMobile)); 456 WriteLiteral("</a><br>"); 457 458 } 459 else if (!String.IsNullOrEmpty(propBroker.Broker.Telephone)) 460 { 461 WriteLiteral("Tlf.: <a"); 462 BeginWriteAttribute("href", " href=\"", 25849, "\"", 25890, 2); 463 WriteAttributeValue("", 25856, "tel:", 25856, 4, true); 464 WriteAttributeValue("", 25860, propBroker.Broker.Telephone, 25860, 30, false); 465 EndWriteAttribute(); 466 WriteLiteral(">"); 467 Write(Utils.FormatPhoneNumber(propBroker.Broker.Telephone)); 468 WriteLiteral("</a><br>"); 469 470 } 471 WriteLiteral(" <br>\r\n"); 472 } 473 WriteLiteral(" <b>"); 474 Write(bName); 475 WriteLiteral("</b><br>\r\n "); 476 Write(propBroker.Broker.Address); 477 WriteLiteral("<br>\r\n "); 478 Write(propBroker.Broker.ZipCode); 479 WriteLiteral(" "); 480 Write(propBroker.Broker.City); 481 WriteLiteral("<br>\r\n"); 482 if (!String.IsNullOrEmpty(bEmail)) 483 { 484 WriteLiteral("Mail: <a"); 485 BeginWriteAttribute("href", " href=\"", 26651, "\"", 26674, 2); 486 WriteAttributeValue("", 26658, "mailto:", 26658, 7, true); 487 WriteAttributeValue("", 26665, bEmail, 26665, 9, false); 488 EndWriteAttribute(); 489 WriteLiteral(">"); 490 Write(bEmail); 491 WriteLiteral("</a><br />"); 492 493 } 494 if (!String.IsNullOrEmpty(propBroker.Broker.Telephone)) 495 { 496 WriteLiteral("Tlf.: <a"); 497 BeginWriteAttribute("href", " href=\"", 27010, "\"", 27051, 2); 498 WriteAttributeValue("", 27017, "tel:", 27017, 4, true); 499 WriteAttributeValue("", 27021, propBroker.Broker.Telephone, 27021, 30, false); 500 EndWriteAttribute(); 501 WriteLiteral(">"); 502 Write(Utils.FormatPhoneNumber(propBroker.Broker.Telephone)); 503 WriteLiteral("</a><br />"); 504 505 } 506 WriteLiteral(" </p>\r\n </div>\r\n </div>\r\n"); 507 } 508 else 509 { 510 WriteLiteral(" <div class=\"row\">\r\n Denne bolig har ingen mægler tilkoblet.\r\n </div>\r\n"); 511 } 512 WriteLiteral(" </div>\r\n </div>\r\n\r\n"); 513 if (edhFiles.Any()) 514 { 515 WriteLiteral(@" <div class=""row""> 516 <div class=""col-md-4 hidden-xs"">&nbsp;</div> 517 <div class=""downloads col-md-8""> 518 <h3>Dokumenter</h3> 519 <table> 520 "); 521 foreach (var item in edhFiles) 522 { 523 if (item.Value.ToLower() == "salgsopstilling") 524 { 525 WriteLiteral(" <tr>\r\n"); 526 if (propIsErhverv) 527 { 528 WriteLiteral(" <td>\r\n <a"); 529 BeginWriteAttribute("href", " href=\"", 28872, "\"", 28888, 1); 530 WriteAttributeValue("", 28879, item.Key, 28879, 9, false); 531 EndWriteAttribute(); 532 WriteLiteral(" class=\"downloads-link\" target=\"_blank\">Salgsprospekt</a>\r\n </td>\r\n"); 533 } 534 else 535 { 536 WriteLiteral(" <td>\r\n <a"); 537 BeginWriteAttribute("href", " href=\"", 29351, "\"", 29367, 1); 538 WriteAttributeValue("", 29358, item.Key, 29358, 9, false); 539 EndWriteAttribute(); 540 WriteLiteral(" class=\"downloads-link\" target=\"_blank\">"); 541 Write(item.Value); 542 WriteLiteral("</a>\r\n </td>\r\n"); 543 } 544 WriteLiteral(" </tr>\r\n"); 545 } 546 else 547 { 548 WriteLiteral(" <tr>\r\n <td colspan=\"2\">\r\n <a"); 549 BeginWriteAttribute("href", " href=\"", 29996, "\"", 30012, 1); 550 WriteAttributeValue("", 30003, item.Key, 30003, 9, false); 551 EndWriteAttribute(); 552 WriteLiteral(" class=\"downloads-link\" target=\"_blank\">"); 553 Write(item.Value); 554 WriteLiteral("</a>\r\n </td>\r\n </tr>\r\n"); 555 } 556 } 557 WriteLiteral(" </table>\r\n </div>\r\n </div>\r\n"); 558 } 559 WriteLiteral(" </div>\r\n </div>\r\n\r\n"); 560 561 Dynamicweb.Content.PageService a = new Dynamicweb.Content.PageService(); 562 var pageID = 0; 563 564 var page = a.GetPageByNavigationTag(Dynamicweb.Frontend.PageView.Current().AreaID, "UserSaleItemsNavigationTag"); 565 566 if (page != null) 567 { 568 pageID = page.ID; 569 } 570 571 WriteLiteral("\r\n <input type=\"hidden\" class=\"js-GraphPageAjax\""); 572 BeginWriteAttribute("value", " value=\"", 31139, "\"", 31170, 2); 573 WriteAttributeValue("", 31147, "Default.aspx?id=", 31147, 16, true); 574 WriteAttributeValue("", 31163, pageID, 31163, 7, false); 575 EndWriteAttribute(); 576 WriteLiteral(">\r\n\r\n <section"); 577 BeginWriteAttribute("id", " id=\"", 31208, "\"", 31232, 2); 578 WriteAttributeValue("", 31213, "property", 31213, 8, true); 579 WriteAttributeValue("", 31221, bolig.Id, 31221, 11, false); 580 EndWriteAttribute(); 581 WriteLiteral(" class=\"my-sales-items-statistic myData js-chart-container\" data-id=\""); 582 Write(bolig.Id); 583 WriteLiteral("\">\r\n <div class=\"container\">\r\n\r\n <div"); 584 BeginWriteAttribute("id", " id=\"", 31408, "\"", 31439, 2); 585 WriteAttributeValue("", 31413, "js-insert-Graph", 31413, 15, true); 586 WriteAttributeValue("", 31428, bolig.Id, 31428, 11, false); 587 EndWriteAttribute(); 588 WriteLiteral(">\r\n <div hidden class=\"acc-toggle loading-text\">"); 589 Write(Translate("Smartpage.Graphloadingtext", "Vent venligst...")); 590 WriteLiteral("</div>\r\n </div>\r\n\r\n <div class=\"acc-toggle-container row\">\r\n <div"); 591 BeginWriteAttribute("class", " class=\"", 31745, "\"", 31798, 4); 592 WriteAttributeValue("", 31753, "loading", 31753, 7, true); 593 WriteAttributeValue("", 31760, bolig.Id, 31760, 11, false); 594 WriteAttributeValue(" ", 31771, "acc-toggle", 31772, 11, true); 595 WriteAttributeValue(" ", 31782, "js-toggle-chart", 31783, 16, true); 596 EndWriteAttribute(); 597 WriteLiteral(" data-propertyID=\""); 598 Write(p.Id); 599 WriteLiteral("\" data-houseID=\""); 600 Write(bolig.Id); 601 WriteLiteral("\" data-productFieldValueAddress=\""); 602 Write(Dynamicweb.Core.Converter.ToString(p.GetProductFieldValue("xEjendomAdresseAdresseLinie"))); 603 WriteLiteral(@""" data-acc-label-loading=""Hej"" data-acc-label-hide=""Skjul statistik"" data-acc-label-show=""Vis statistik"">Vis statistik</div> 604 605 </div> 606 </div> 607 </section> 608 609 </section> 610 </section> 611 "); 612 613 } 614 WriteLiteral("\r\n <section class=\"no-sales-items\"><div class=\"container mt-4 mb-4 text-center\"><h4>"); 615 Write(Translate("Smartpage:Mitboligsalg.NoSearch", "Din søgning havde ikke resultater")); 616 WriteLiteral("</h4></div></section>\r\n\r\n\r\n </div>\r\n"); 617 } 618 } 619 } 620 #pragma warning restore 1998 621 } 622 } 623 #pragma warning restore 1591 624

1 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 2 @using System 3 @using System.Web 4 @using System.Globalization; 5 @using RealEstate.User; 6 @using RealEstate.Broker; 7 @using RealMaeglerne.Library; 8 @using RealMaeglerne.Library.Models; 9 @using RealMaeglerne.Dynamicweb; 10 @using Newtonsoft.Json; 11 @using Dynamicweb.Core; 12 13 @{ 14 bool BoligOne = false; 15 if (!string.IsNullOrEmpty(Dynamicweb.Frontend.PageView.Current().Area.Item["Type"].ToString()) && Dynamicweb.Frontend.PageView.Current().Area.Item["Type"].ToString().Equals("bone")) { BoligOne = true; } 16 17 var chartPrimaryColor = "rgba(0, 55, 97,1)"; // #003761 18 var chartSecondaryColor = "rgba(150, 121, 73, 1)"; // #967949 19 var chartTertiaryColor = "rgba(76, 73, 74, 1)"; // #4c494a 20 21 if (BoligOne) 22 { 23 chartPrimaryColor = "rgba(178, 7, 26, 1)"; // #b2071a 24 chartSecondaryColor = "rgba(45, 56, 60, 1)"; // #2d383c 25 chartTertiaryColor = "rgba(128, 128, 131, 1)"; // #808083 26 } 27 28 var culture = new System.Globalization.CultureInfo("da-DK"); 29 30 var user = Dynamicweb.Security.UserManagement.User.GetCurrentExtranetUser(); 31 32 bool isBroker = (user.ItemType == "Medarbejder" ? true : false); 33 var ItemModel = RealEstate.Broker.Search.Item(user); 34 35 } 36 37 @if (Dynamicweb.Security.UserManagement.User.IsExtranetUserLoggedIn()) 38 { 39 40 string SellerString = ""; 41 string[] SplittedIDS = new string[] { }; 42 List<string> butikker = new List<string>(); 43 HashSet<string> godkendteSager = new HashSet<string>(); 44 45 if (!string.IsNullOrEmpty(ItemModel.GetString("Godkendte_Salgsopstillinger"))) 46 { 47 godkendteSager = new HashSet<string>(ItemModel.GetString("Godkendte_Salgsopstillinger").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)); 48 } 49 if (!string.IsNullOrEmpty(ItemModel.GetString("SagsNrListe")) || isBroker) 50 { 51 52 if (isBroker) 53 { 54 // Get all relevant butikIds for this user via his groups 55 foreach (var group in user.Groups) 56 { 57 var butikId = group.Item().GetString("CBMedlemsnummer"); 58 if (!String.IsNullOrEmpty(butikId)) 59 { 60 butikker.Add(butikId); 61 } 62 } 63 64 Dynamicweb.Indexing.Querying.IQueryProvider maeglerBoligerQueryProvider = Dynamicweb.Extensibility.ServiceLocator.Current.GetInstance<Dynamicweb.Indexing.IIndexService>().LoadIndex("Boliger", "Boliger.index").GetInstance() as Dynamicweb.Indexing.Querying.IQueryProvider; 65 Dynamicweb.Indexing.Querying.IQuery maeglerBoligerQuery = Dynamicweb.Extensibility.ServiceLocator.Current.GetInstance<Dynamicweb.Indexing.Querying.IQueryService>().LoadQuery("Boliger", "Medarbejderboliger.query"); 66 Dynamicweb.Indexing.Querying.QuerySettings querySettings = new Dynamicweb.Indexing.Querying.QuerySettings(); 67 querySettings.IncludeDebugInfo = true; 68 querySettings.Take = 256; 69 querySettings.Parameters = new Dictionary<string, object>(); 70 /* Do sorting on products collection later on 71 querySettings.SortOrder = new List<Dynamicweb.Indexing.Querying.Sorting.SortInfo>(); 72 Dynamicweb.Indexing.Querying.Sorting.SortInfo si = new Dynamicweb.Indexing.Querying.Sorting.SortInfo(); 73 si.Field = "CustomField_xMarketingFoersteAnnonceringsdato"; 74 si.SortDirection = Dynamicweb.Indexing.Querying.Sorting.SortDirection.Descending; 75 querySettings.SortOrder.Add(si); 76 */ 77 78 querySettings.Parameters.Add("butikker", butikker.ToArray()); 79 80 Dynamicweb.Indexing.Querying.IQueryResult queryResult = null; 81 try 82 { 83 queryResult = maeglerBoligerQueryProvider.Query(maeglerBoligerQuery, querySettings); 84 // SellerString = String.Join(",", queryResult.QueryResult.Select(x => (((Dictionary<string, object>)x)["ID"]).ToString())); 85 SplittedIDS = queryResult.QueryResult.Select(x => (((Dictionary<string, object>)x)["ID"]).ToString()).ToArray(); 86 } 87 catch 88 { 89 // Ignore 90 } 91 } 92 else 93 { 94 SellerString = ItemModel.GetString("SagsNrListe"); 95 SplittedIDS = SellerString.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); 96 } 97 98 var Properties = Dynamicweb.Ecommerce.Products.Product.GetProductsByProductIDs(SplittedIDS); 99 var products = Properties.ToList().OrderByDescending(p => p.GetFieldDateTimeValue("xMarketingFoersteAnnonceringsdato")); 100 // .Sort("xMarketingFoersteAnnonceringsdato", Dynamicweb.Ecommerce.Products.SortDirection.Descending); 101 102 BoligManager boligManager = new BoligManager(Pageview); 103 104 if (products.Count() > 0) 105 { 106 <div class="container"> 107 <input type="text" class="js-livesearch form-control mitboligsalg-search" placeholder="@Translate("Smartpage:Boligsalg.SearchPlaceholder","Søg efter adresse eller sagsnummer")" /> 108 </div> 109 } 110 else 111 { 112 <section><div class="container mt-4 mb-4 text-center"><h4>@Translate("Smartpage:Mitboligsalg.NoItemsForSale", "Ingen boliger til salg")</h4></div></section> 113 114 } 115 116 <div class="sales-items"> 117 118 @foreach (var p in products) 119 { 120 var bolig = boligManager.CreateBolig(p); 121 string imgUrl = ""; 122 string imgClass = "na"; 123 if (BoligOne) 124 { 125 imgUrl = "/Files/Templates/Designs/rm/assets/images/na-bone.png"; 126 } 127 else 128 { 129 imgUrl = "/Files/Templates/Designs/rm/assets/images/na-real.png"; 130 } 131 if (!String.IsNullOrEmpty(bolig.ImageUrl)) 132 { 133 imgUrl = bolig.ImageUrl; 134 imgClass = ""; 135 } 136 string propCategory = bolig.Ejendomskategori; 137 bool propIsErhverv = bolig.Erhverv; 138 139 string altan = p.GetFieldStringValue("xEjendomFaciliteterAltan"); 140 int garageAreal = p.GetFieldIntValue("xEjendomArealerOevrigeArealerGarage") + p.GetFieldIntValue("xEjendomArealerHovedbygningIntegreredeArealerGarage"); 141 142 RealEstate.Broker.Model.BrokerEmployee propBroker = null; 143 var brokerUrl = ""; 144 try 145 { 146 propBroker = RealEstate.Broker.Search.GetEmployee(p.GetProductFieldValue("xButikID").ToString(), p.GetProductFieldValue("xAktoererMaeglerKontaktEmail").ToString()); 147 } 148 catch (Exception e) { } 149 150 string bName = String.Empty; 151 string bEmail = String.Empty; 152 if (propBroker != null) 153 { 154 try 155 { 156 var ItemModelBroker = RealEstate.Broker.Search.Item(propBroker.Broker); 157 brokerUrl = "/" + ItemModelBroker.GetString("CBMedlemsnummer").Substring(1); 158 } 159 catch (Exception e) { } 160 161 bName = propBroker.Broker.Name; 162 if (!String.IsNullOrEmpty(propBroker.Broker.CompanyName)) 163 { 164 bName = propBroker.Broker.CompanyName; 165 } 166 167 var butikId = String.Empty; 168 169 if (propBroker != null && propBroker.Broker != null) 170 { 171 butikId = propBroker.Broker.Item().GetString("CBMedlemsnummer"); 172 bEmail = propBroker.Broker.Item().GetString("Email"); 173 } 174 } 175 var tidligereAabnehuse = boligManager.TidligereAfholdteAabnehuse(bolig); 176 177 Dictionary<string, string> edhFiles = BoligManager.GetEDHFilesCompact(p); 178 179 <section class="clearfix sale-item"> 180 <section class="my-sales-items bolig-page bolig-list bolig-list-static"> 181 <div class="container"> 182 <div class="content"> 183 <div class="row"> 184 <div class="col-12"> 185 <h2>@p.GetFieldStringValue("xEjendomAdresseAdresseLinie")<br>@p.GetFieldStringValue("xEjendomAdressePostAdresseLinie")</h2> 186 </div> 187 </div> 188 <div class="row"> 189 <div class="bolig col-md-4"> 190 <div class="box"> 191 <a href='@bolig.LinkUrl' target="_blank"> 192 <div class="img-wrapper"> 193 @if (!String.IsNullOrEmpty(bolig.Label)) 194 { 195 <div class="label"><b>@bolig.Label</b></div> 196 } 197 198 <img src="@imgUrl" class="img-responsive @imgClass" alt="@HttpUtility.HtmlAttributeEncode(bolig.Adresse) @bolig.Ejendomskategori" /> 199 </div> 200 </a> 201 </div> 202 @if (tidligereAabnehuse.Count > 0) 203 { 204 <div class="open-houses"> 205 <b>Tidligere afholdte åbent hus</b> 206 @foreach (var item in tidligereAabnehuse) 207 { 208 <p> 209 @item.Dag @item.DatoFormateret @if (!String.IsNullOrEmpty(item.TidspunktFormateret)) 210 {<text>@item.TidspunktFormateret</text>} 211 </p> 212 } 213 </div> 214 } 215 </div> 216 <div class="col-md-4"> 217 <h3>Detaljer</h3> 218 <table> 219 <tr> 220 <td>Sagsnummer</td> 221 <td align="right"><b>@bolig.Id</b></td> 222 </tr> 223 224 @if (!propIsErhverv) 225 { 226 if (!string.IsNullOrEmpty(p.GetFieldStringValue("xEjendomBSEjendomstype"))) 227 { 228 <tr> 229 <td>Boligtype</td> 230 <td align="right"><b>@p.GetFieldStringValue("xEjendomBSEjendomstype")</b></td> 231 </tr> 232 } 233 if (p.GetFieldIntValue("xEjendomArealerBoligAreal") > 0) 234 { 235 <tr> 236 <td>Boligareal</td> 237 <td align="right"><b>@p.GetFieldStringValue("xEjendomArealerBoligAreal") m<sup>2</sup></b></td> 238 </tr> 239 } 240 if (p.GetFieldIntValue("xEjendomArealerGrundArealHA") > 0) 241 { 242 <tr> 243 <td>Grundareal</td> 244 <td align="right"><b>@p.GetFieldIntValue("xEjendomArealerGrundArealHA") hektar</b></td> 245 </tr> 246 } 247 else if (p.GetFieldIntValue("xEjendomArealerGrundAreal") > 0) 248 { 249 <tr> 250 <td>Grundareal</td> 251 <td align="right"><b>@p.GetFieldIntValue("xEjendomArealerGrundAreal") m<sup>2</sup></b></td> 252 </tr> 253 } 254 if (p.GetFieldIntValue("xEjendomArealerKaelderAreal") > 0) 255 { 256 <tr> 257 <td>Kælderareal</td> 258 <td align="right"><b>@p.GetFieldIntValue("xEjendomArealerKaelderAreal") m<sup>2</sup></b></td> 259 </tr> 260 } 261 if (garageAreal > 0) 262 { 263 <tr> 264 <td>Garage/carport</td> 265 <td align="right"><b>@garageAreal m<sup>2</sup></b></td> 266 </tr> 267 } 268 if (!String.IsNullOrEmpty(altan) && altan.ToLower() == "true") 269 { 270 <tr> 271 <td>Altan</td> 272 <td align="right"><b>Ja</b></td> 273 </tr> 274 } 275 if (p.GetFieldIntValue("xEjendomOpfoertAar") != 0) 276 { 277 <tr> 278 <td>Bygget/ombygget</td> 279 <td align="right"> 280 <b> 281 @p.GetFieldIntValue("xEjendomOpfoertAar") 282 @if (p.GetFieldIntValue("xEjendomOmbyggetAar") != 0) 283 {<text> / @p.GetFieldIntValue("xEjendomOmbyggetAar")</text>} 284 </b> 285 </td> 286 </tr> 287 } 288 if (p.GetFieldIntValue("xEjendomArealerVaerelser") != 0) 289 { 290 <tr> 291 <td>Antal rum</td> 292 <td align="right"><b>@p.GetFieldStringValue("xEjendomArealerVaerelser") </b></td> 293 </tr> 294 } 295 if (p.GetFieldIntValue("xEjendomArealerEtager") != 0) 296 { 297 <tr> 298 <td>Etager</td> 299 <td align="right"><b>@p.GetFieldStringValue("xEjendomArealerEtager")</b></td> 300 </tr> 301 } 302 } 303 else 304 { 305 if (!String.IsNullOrEmpty(p.GetFieldStringValue("xEjendomEjendomstype"))) 306 { 307 <tr> 308 <td>Ejendomstype</td> 309 <td align="right"> 310 <b> 311 @p.GetFieldStringValue("xEjendomEjendomstype") 312 </b> 313 </td> 314 </tr> 315 } 316 if (p.GetFieldStringValue("xUdbudsForm") == "Salg" && p.GetFieldIntValue("xEjendomArealerErhvervAreal") > 0) 317 { 318 <tr> 319 <td>Erhvervsareal</td> 320 <td align="right"><b>@p.GetFieldStringValue("xEjendomArealerErhvervAreal") m<sup>2</sup></b></td> 321 </tr> 322 } 323 else if (p.GetFieldStringValue("xUdbudsForm") == "Leje" && p.GetFieldIntValue("xEjendomArealerEtageAreal") > 0) 324 { 325 <tr> 326 <td>Erhvervsareal</td> 327 <td align="right"><b>@p.GetFieldStringValue("xEjendomArealerEtageAreal") m<sup>2</sup></b></td> 328 </tr> 329 } 330 if (p.GetFieldIntValue("xEjendomArealerGrundArealHA") > 0) 331 { 332 <tr> 333 <td>Grund</td> 334 <td align="right"><b>@p.GetFieldIntValue("xEjendomArealerGrundArealHA") hektar</b></td> 335 </tr> 336 } 337 else if (p.GetFieldIntValue("xEjendomArealerGrundAreal") > 0) 338 { 339 <tr> 340 <td>Grund</td> 341 <td align="right"><b>@p.GetFieldIntValue("xEjendomArealerGrundAreal") m<sup>2</sup></b></td> 342 </tr> 343 } 344 if (p.GetFieldIntValue("xEjendomOpfoertAar") != 0) 345 { 346 <tr> 347 <td>Bygget/ombygget</td> 348 <td align="right"> 349 <b> 350 @p.GetFieldIntValue("xEjendomOpfoertAar") 351 @if (p.GetFieldIntValue("xEjendomOmbyggetAar") != 0) 352 {<text> / @p.GetFieldIntValue("xEjendomOmbyggetAar")</text>} 353 </b> 354 </td> 355 </tr> 356 } 357 } 358 <tr> 359 <td>&nbsp;</td> 360 <td align="right">&nbsp;</td> 361 </tr> 362 @if (!String.IsNullOrEmpty(p.GetFieldStringValue("xEjendomEnergiklassifikation")) && !propIsErhverv) 363 { 364 <tr> 365 <td>Energimærke</td> 366 <td align="right"> 367 <div class="energylabel" data-energylabel="@p.GetFieldStringValue("xEjendomEnergiklassifikation")"></div> 368 </td> 369 </tr> 370 } 371 </table> 372 </div> 373 <div class="col-md-4"> 374 375 <h3>Mægler</h3> 376 @if (propBroker != null) 377 { 378 string eImg = ""; 379 string bClass = "col-12"; 380 if (propBroker.Employee != null) 381 { 382 string image = propBroker.Employee.Item().GetString("Portrait1000"); 383 if (!String.IsNullOrEmpty(image)) 384 { 385 eImg = image; 386 bClass = "col-7"; 387 } 388 } 389 <div class="row"> 390 @if (!String.IsNullOrEmpty(eImg)) 391 { 392 <div class="col-5"> 393 <a href="@brokerUrl"> 394 @{ 395 //PushPromise(eImg); 396 } 397 <img src="@eImg" class="img-responsive" /> 398 </a> 399 </div>} 400 <div class="@bClass"> 401 <p> 402 @if (propBroker.Employee != null) 403 { 404 <b>@(propBroker.Employee.Name)</b><br> 405 if (!String.IsNullOrEmpty(propBroker.Employee.Email)) 406 { 407 <text>Mail: <a href="mailto:@(Utils.ExtractMaskedEmail(propBroker.Employee.Email))">@Utils.ExtractMaskedEmail(propBroker.Employee.Email)</a><br></text> 408 } 409 if (!String.IsNullOrEmpty(propBroker.Employee.PhoneMobile)) 410 { 411 <text>Tlf.: <a href="tel:@(propBroker.Employee.PhoneMobile)">@Utils.FormatPhoneNumber(propBroker.Employee.PhoneMobile)</a><br></text> 412 } 413 else if (!String.IsNullOrEmpty(propBroker.Broker.Telephone)) 414 { 415 <text>Tlf.: <a href="tel:@(propBroker.Broker.Telephone)">@Utils.FormatPhoneNumber(propBroker.Broker.Telephone)</a><br></text> 416 } 417 <br> 418 } 419 <b>@bName</b><br> 420 @propBroker.Broker.Address<br> 421 @propBroker.Broker.ZipCode @propBroker.Broker.City<br> 422 @if (!String.IsNullOrEmpty(bEmail)) 423 { 424 <text>Mail: <a href="mailto:@(bEmail)">@(bEmail)</a><br /></text> 425 } 426 @if (!String.IsNullOrEmpty(propBroker.Broker.Telephone)) 427 { 428 <text>Tlf.: <a href="tel:@(propBroker.Broker.Telephone)">@(Utils.FormatPhoneNumber(propBroker.Broker.Telephone))</a><br /></text> 429 } 430 </p> 431 </div> 432 </div> 433 } 434 else 435 { 436 <div class="row"> 437 Denne bolig har ingen mægler tilkoblet. 438 </div> 439 } 440 </div> 441 </div> 442 443 @if (edhFiles.Any()) 444 { 445 <div class="row"> 446 <div class="col-md-4 hidden-xs">&nbsp;</div> 447 <div class="downloads col-md-8"> 448 <h3>Dokumenter</h3> 449 <table> 450 @foreach (var item in edhFiles) 451 { 452 if (item.Value.ToLower() == "salgsopstilling") 453 { 454 <tr> 455 @if (propIsErhverv) 456 { 457 <td> 458 <a href="@item.Key" class="downloads-link" target="_blank">Salgsprospekt</a> 459 </td> 460 } 461 else 462 { 463 <td> 464 <a href="@item.Key" class="downloads-link" target="_blank">@item.Value</a> 465 </td> 466 } 467 </tr> 468 } 469 else 470 { 471 <tr> 472 <td colspan="2"> 473 <a href="@item.Key" class="downloads-link" target="_blank">@item.Value</a> 474 </td> 475 </tr> 476 } 477 } 478 </table> 479 </div> 480 </div> 481 } 482 </div> 483 </div> 484 485 @{ 486 Dynamicweb.Content.PageService a = new Dynamicweb.Content.PageService(); 487 var pageID = 0; 488 489 var page = a.GetPageByNavigationTag(Dynamicweb.Frontend.PageView.Current().AreaID, "UserSaleItemsNavigationTag"); 490 491 if (page != null) 492 { 493 pageID = page.ID; 494 } 495 496 } 497 498 <input type="hidden" class="js-GraphPageAjax" value="Default.aspx?id=@pageID"> 499 500 <section id="property@(bolig.Id)" class="my-sales-items-statistic myData js-chart-container" data-id="@(bolig.Id)"> 501 <div class="container"> 502 503 <div id="js-insert-Graph@(bolig.Id)"> 504 <div hidden class="acc-toggle loading-text">@Translate("Smartpage.Graphloadingtext", "Vent venligst...")</div> 505 </div> 506 507 <div class="acc-toggle-container row"> 508 <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> 509 510 </div> 511 </div> 512 </section> 513 514 </section> 515 </section> 516 517 } 518 519 <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> 520 521 522 </div> 523 } 524 }
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.