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 158: The type or namespace name 'Broker' does not exist in the namespace 'RealEstate' (are you missing an assembly reference?)
Line 162: The type or namespace name 'Broker' does not exist in the namespace 'RealEstate' (are you missing an assembly reference?)
Line 172: The type or namespace name 'Broker' does not exist in the namespace 'RealEstate' (are you missing an assembly reference?)
Line 461: 'Utils' does not contain a definition for 'ExtractMaskedEmail'
Line 464: 'Utils' does not contain a definition for 'ExtractMaskedEmail'
Line 476: 'Utils' does not contain a definition for 'FormatPhoneNumber'
Line 488: 'Utils' does not contain a definition for 'FormatPhoneNumber'
Line 523: 'Utils' does not contain a definition for 'FormatPhoneNumber'
Line 164: The variable 'e' is declared but never used
Line 175: 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_2174a1bed59c47bb9b767b913d7d53ba : 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 int propTypeNr = p.GetFieldIntValue("xEjendomEjendomstypeNr"); 154 155 string altan = p.GetFieldStringValue("xEjendomFaciliteterAltan"); 156 int garageAreal = p.GetFieldIntValue("xEjendomArealerOevrigeArealerGarage") + p.GetFieldIntValue("xEjendomArealerHovedbygningIntegreredeArealerGarage"); 157 158 RealEstate.Broker.Model.BrokerEmployee propBroker = null; 159 var brokerUrl = ""; 160 try 161 { 162 propBroker = RealEstate.Broker.Search.GetEmployee(p.GetProductFieldValue("xButikID").ToString(), p.GetProductFieldValue("xAktoererMaeglerKontaktEmail").ToString()); 163 } 164 catch (Exception e) { } 165 166 string bName = String.Empty; 167 string bEmail = String.Empty; 168 if (propBroker != null) 169 { 170 try 171 { 172 var ItemModelBroker = RealEstate.Broker.Search.Item(propBroker.Broker); 173 brokerUrl = "/" + ItemModelBroker.GetString("CBMedlemsnummer").Substring(1); 174 } 175 catch (Exception e) { } 176 177 bName = propBroker.Broker.Name; 178 if (!String.IsNullOrEmpty(propBroker.Broker.CompanyName)) 179 { 180 bName = propBroker.Broker.CompanyName; 181 } 182 183 var butikId = String.Empty; 184 185 if (propBroker != null && propBroker.Broker != null) 186 { 187 butikId = propBroker.Broker.Item().GetString("CBMedlemsnummer"); 188 bEmail = propBroker.Broker.Item().GetString("Email"); 189 } 190 } 191 var tidligereAabnehuse = boligManager.TidligereAfholdteAabnehuse(bolig); 192 193 string edhFilesAllInOne = p.GetFieldStringValue("xDokumenterEDHHentAlleUrl"); 194 Dictionary<string, string> edhFiles = BoligManager.GetEDHFilesCompact(p); 195 196 WriteLiteral(@" <section class=""clearfix sale-item""> 197 <section class=""my-sales-items bolig-page bolig-list bolig-list-static""> 198 <div class=""container""> 199 <div class=""content""> 200 <div class=""row""> 201 <div class=""col-12""> 202 <h2>"); 203 Write(p.GetFieldStringValue("xEjendomAdresseAdresseLinie")); 204 WriteLiteral("<br>"); 205 Write(p.GetFieldStringValue("xEjendomAdressePostAdresseLinie")); 206 WriteLiteral(@"</h2> 207 </div> 208 </div> 209 <div class=""row""> 210 <div class=""bolig col-md-4""> 211 <div class=""box""> 212 <a"); 213 BeginWriteAttribute("href", " href=\'", 9213, "\'", 9234, 1); 214 WriteAttributeValue("", 9220, bolig.LinkUrl, 9220, 14, false); 215 EndWriteAttribute(); 216 WriteLiteral(" target=\"_blank\">\r\n <div class=\"img-wrapper\">\r\n"); 217 if (!String.IsNullOrEmpty(bolig.Label)) 218 { 219 WriteLiteral(" <div class=\"label\"><b>"); 220 Write(bolig.Label); 221 WriteLiteral("</b></div>\r\n"); 222 } 223 WriteLiteral("\r\n <img"); 224 BeginWriteAttribute("src", " src=\"", 9693, "\"", 9706, 1); 225 WriteAttributeValue("", 9699, imgUrl, 9699, 7, false); 226 EndWriteAttribute(); 227 BeginWriteAttribute("class", " class=\"", 9707, "\"", 9739, 2); 228 WriteAttributeValue("", 9715, "img-responsive", 9715, 14, true); 229 WriteAttributeValue(" ", 9729, imgClass, 9730, 9, false); 230 EndWriteAttribute(); 231 BeginWriteAttribute("alt", " alt=\"", 9740, "\"", 9817, 2); 232 WriteAttributeValue("", 9746, HttpUtility.HtmlAttributeEncode(bolig.Adresse), 9746, 47, false); 233 WriteAttributeValue(" ", 9793, bolig.Ejendomskategori, 9794, 23, false); 234 EndWriteAttribute(); 235 WriteLiteral(" />\r\n </div>\r\n </a>\r\n </div>\r\n"); 236 if (tidligereAabnehuse.Count > 0) 237 { 238 WriteLiteral(" <div class=\"open-houses\">\r\n <b>Tidligere afholdte åbent hus</b>\r\n"); 239 foreach (var item in tidligereAabnehuse) 240 { 241 WriteLiteral(" <p>\r\n "); 242 Write(item.Dag); 243 WriteLiteral(" "); 244 Write(item.DatoFormateret); 245 WriteLiteral(" "); 246 if (!String.IsNullOrEmpty(item.TidspunktFormateret)) 247 { Write(item.TidspunktFormateret); 248 } 249 WriteLiteral(" </p>\r\n"); 250 } 251 WriteLiteral(" </div>\r\n"); 252 } 253 WriteLiteral(@" </div> 254 <div class=""col-md-4""> 255 <h3>Detaljer</h3> 256 <table> 257 <tr> 258 <td>Sagsnummer</td> 259 <td align=""right""><b>"); 260 Write(bolig.Id); 261 WriteLiteral("</b></td>\r\n </tr>\r\n\r\n"); 262 if (!propIsErhverv) 263 { 264 if (!String.IsNullOrEmpty(p.GetFieldStringValue("xEjendomBSEjendomstype"))) 265 { 266 WriteLiteral(" <tr>\r\n <td>Boligtype</td>\r\n <td align=\"right\"><b>"); 267 Write(p.GetFieldStringValue("xEjendomBSEjendomstype")); 268 WriteLiteral("</b></td>\r\n </tr>\r\n"); 269 270 if (!String.IsNullOrEmpty(p.GetFieldStringValue("xEjendomBSEjendomstypeSupplerende")) && p.GetFieldStringValue("xEjendomBSEjendomstypeSupplerende") != p.GetFieldStringValue("xEjendomBSEjendomstype")) 271 { 272 WriteLiteral(" <tr>\r\n <td>Supplerende boligtype</td>\r\n <td align=\"right\"><b>"); 273 Write(p.GetFieldStringValue("xEjendomBSEjendomstypeSupplerende")); 274 WriteLiteral("</b></td>\r\n </tr>\r\n"); 275 } 276 } 277 if (p.GetFieldIntValue("xEjendomArealerBoligAreal") > 0) 278 { 279 WriteLiteral(" <tr>\r\n <td>Boligareal</td>\r\n <td align=\"right\"><b>"); 280 Write(p.GetFieldStringValue("xEjendomArealerBoligAreal")); 281 WriteLiteral(" m<sup>2</sup></b></td>\r\n </tr>\r\n"); 282 } 283 if (p.GetFieldIntValue("xEjendomArealerGrundArealHA") > 0) 284 { 285 WriteLiteral(" <tr>\r\n <td>Grundareal</td>\r\n <td align=\"right\"><b>"); 286 Write(p.GetFieldIntValue("xEjendomArealerGrundArealHA")); 287 WriteLiteral(" hektar</b></td>\r\n </tr>\r\n"); 288 } 289 else if (p.GetFieldIntValue("xEjendomArealerGrundAreal") > 0) 290 { 291 WriteLiteral(" <tr>\r\n <td>Grundareal</td>\r\n <td align=\"right\"><b>"); 292 Write(p.GetFieldIntValue("xEjendomArealerGrundAreal")); 293 WriteLiteral(" m<sup>2</sup></b></td>\r\n </tr>\r\n"); 294 } 295 if (p.GetFieldIntValue("xEjendomArealerKaelderAreal") > 0) 296 { 297 WriteLiteral(" <tr>\r\n <td>Kælderareal</td>\r\n <td align=\"right\"><b>"); 298 Write(p.GetFieldIntValue("xEjendomArealerKaelderAreal")); 299 WriteLiteral(" m<sup>2</sup></b></td>\r\n </tr>\r\n"); 300 } 301 if (garageAreal > 0) 302 { 303 WriteLiteral(" <tr>\r\n <td>Garage/carport</td>\r\n <td align=\"right\"><b>"); 304 Write(garageAreal); 305 WriteLiteral(" m<sup>2</sup></b></td>\r\n </tr>\r\n"); 306 } 307 if (!String.IsNullOrEmpty(altan) && altan.ToLower() == "true") 308 { 309 WriteLiteral(@" <tr> 310 <td>Altan</td> 311 <td align=""right""><b>Ja</b></td> 312 </tr> 313 "); 314 } 315 if (p.GetFieldIntValue("xEjendomOpfoertAar") != 0) 316 { 317 WriteLiteral(@" <tr> 318 <td>Bygget/ombygget</td> 319 <td align=""right""> 320 <b> 321 "); 322 Write(p.GetFieldIntValue("xEjendomOpfoertAar")); 323 WriteLiteral("\r\n"); 324 if (p.GetFieldIntValue("xEjendomOmbyggetAar") != 0) 325 {WriteLiteral(" / "); 326 Write(p.GetFieldIntValue("xEjendomOmbyggetAar")); 327 } 328 WriteLiteral(" </b>\r\n </td>\r\n </tr>\r\n"); 329 } 330 if (p.GetFieldIntValue("xEjendomArealerVaerelser") != 0) 331 { 332 WriteLiteral(" <tr>\r\n <td>Antal rum</td>\r\n <td align=\"right\"><b>"); 333 Write(p.GetFieldStringValue("xEjendomArealerVaerelser")); 334 WriteLiteral(" </b></td>\r\n </tr>\r\n"); 335 } 336 if (p.GetFieldIntValue("xEjendomArealerEtager") != 0) 337 { 338 WriteLiteral(" <tr>\r\n <td>Etager</td>\r\n <td align=\"right\"><b>"); 339 Write(p.GetFieldStringValue("xEjendomArealerEtager")); 340 WriteLiteral("</b></td>\r\n </tr>\r\n"); 341 } 342 } 343 else 344 { 345 if (!String.IsNullOrEmpty(p.GetFieldStringValue("xEjendomEjendomstype"))) 346 { 347 WriteLiteral(@" <tr> 348 <td>Ejendomstype</td> 349 <td align=""right""> 350 <b> 351 "); 352 Write(p.GetFieldStringValue("xEjendomEjendomstype")); 353 WriteLiteral("\r\n"); 354 if (!String.IsNullOrEmpty(p.GetFieldStringValue("xEjendomEjendomstypeSupplerende"))) 355 {WriteLiteral(" / "); 356 Write(p.GetFieldStringValue("xEjendomEjendomstypeSupplerende")); 357 } 358 WriteLiteral(" </b>\r\n </td>\r\n </tr>\r\n"); 359 } 360 if (p.GetFieldStringValue("xUdbudsForm") == "Salg" && p.GetFieldIntValue("xEjendomArealerErhvervAreal") > 0) 361 { 362 WriteLiteral(" <tr>\r\n <td>Erhvervsareal</td>\r\n <td align=\"right\"><b>"); 363 Write(p.GetFieldStringValue("xEjendomArealerErhvervAreal")); 364 WriteLiteral(" m<sup>2</sup></b></td>\r\n </tr>\r\n"); 365 } 366 else if (p.GetFieldStringValue("xUdbudsForm") == "Leje" && p.GetFieldIntValue("xEjendomArealerEtageAreal") > 0) 367 { 368 WriteLiteral(" <tr>\r\n <td>Erhvervsareal</td>\r\n <td align=\"right\"><b>"); 369 Write(p.GetFieldStringValue("xEjendomArealerEtageAreal")); 370 WriteLiteral(" m<sup>2</sup></b></td>\r\n </tr>\r\n"); 371 } 372 if (propTypeNr == 12) 373 { 374 WriteLiteral(" <tr>\r\n <td>Boligareal</td>\r\n <td align=\"right\"><b>"); 375 Write(p.GetFieldStringValue("xEjendomArealerBoligAreal")); 376 WriteLiteral(" m<sup>2</sup></b></td>\r\n </tr>\r\n"); 377 } 378 if (p.GetFieldIntValue("xEjendomArealerGrundArealHA") > 0) 379 { 380 WriteLiteral(" <tr>\r\n <td>Grund</td>\r\n <td align=\"right\"><b>"); 381 Write(p.GetFieldIntValue("xEjendomArealerGrundArealHA")); 382 WriteLiteral(" hektar</b></td>\r\n </tr>\r\n"); 383 } 384 else if (p.GetFieldIntValue("xEjendomArealerGrundAreal") > 0) 385 { 386 WriteLiteral(" <tr>\r\n <td>Grund</td>\r\n <td align=\"right\"><b>"); 387 Write(p.GetFieldIntValue("xEjendomArealerGrundAreal")); 388 WriteLiteral(" m<sup>2</sup></b></td>\r\n </tr>\r\n"); 389 } 390 if (p.GetFieldIntValue("xEjendomOpfoertAar") != 0) 391 { 392 WriteLiteral(@" <tr> 393 <td>Bygget/ombygget</td> 394 <td align=""right""> 395 <b> 396 "); 397 Write(p.GetFieldIntValue("xEjendomOpfoertAar")); 398 WriteLiteral("\r\n"); 399 if (p.GetFieldIntValue("xEjendomOmbyggetAar") != 0) 400 {WriteLiteral(" / "); 401 Write(p.GetFieldIntValue("xEjendomOmbyggetAar")); 402 } 403 WriteLiteral(" </b>\r\n </td>\r\n </tr>\r\n"); 404 } 405 } 406 WriteLiteral(" <tr>\r\n <td>&nbsp;</td>\r\n <td align=\"right\">&nbsp;</td>\r\n </tr>\r\n"); 407 if (!String.IsNullOrEmpty(p.GetFieldStringValue("xEjendomEnergiklassifikation")) && !propIsErhverv) 408 { 409 WriteLiteral(@" <tr> 410 <td>Energimærke</td> 411 <td align=""right""> 412 <div class=""energylabel"" data-energylabel="""); 413 Write(p.GetFieldStringValue("xEjendomEnergiklassifikation")); 414 WriteLiteral("\"></div>\r\n </td>\r\n </tr>\r\n"); 415 } 416 WriteLiteral(" </table>\r\n </div>\r\n <div class=\"col-md-4\">\r\n\r\n <h3>Mægler</h3>\r\n"); 417 if (propBroker != null) 418 { 419 string eImg = ""; 420 string bClass = "col-12"; 421 if (propBroker.Employee != null) 422 { 423 string image = propBroker.Employee.Item().GetString("Portrait1000"); 424 if (!String.IsNullOrEmpty(image)) 425 { 426 eImg = image; 427 bClass = "col-7"; 428 } 429 } 430 WriteLiteral(" <div class=\"row\">\r\n"); 431 if (!String.IsNullOrEmpty(eImg)) 432 { 433 WriteLiteral(" <div class=\"col-5\">\r\n <a"); 434 BeginWriteAttribute("href", " href=\"", 25565, "\"", 25582, 1); 435 WriteAttributeValue("", 25572, brokerUrl, 25572, 10, false); 436 EndWriteAttribute(); 437 WriteLiteral(">\r\n"); 438 439 //PushPromise(eImg); 440 WriteLiteral(" <img"); 441 BeginWriteAttribute("src", " src=\"", 25863, "\"", 25874, 1); 442 WriteAttributeValue("", 25869, eImg, 25869, 5, false); 443 EndWriteAttribute(); 444 WriteLiteral(" class=\"img-responsive\" />\r\n </a>\r\n </div>"); 445 } 446 WriteLiteral(" <div"); 447 BeginWriteAttribute("class", " class=\"", 26078, "\"", 26093, 1); 448 WriteAttributeValue("", 26086, bClass, 26086, 7, false); 449 EndWriteAttribute(); 450 WriteLiteral(">\r\n <p>\r\n"); 451 if (propBroker.Employee != null) 452 { 453 WriteLiteral(" <b>"); 454 Write(propBroker.Employee.Name); 455 WriteLiteral("</b><br>\r\n"); 456 if (!String.IsNullOrEmpty(propBroker.Employee.Email)) 457 { 458 WriteLiteral("Mail: <a"); 459 BeginWriteAttribute("href", " href=\"", 26660, "\"", 26728, 2); 460 WriteAttributeValue("", 26667, "mailto:", 26667, 7, true); 461 WriteAttributeValue("", 26674, Utils.ExtractMaskedEmail(propBroker.Employee.Email), 26674, 54, false); 462 EndWriteAttribute(); 463 WriteLiteral(">"); 464 Write(Utils.ExtractMaskedEmail(propBroker.Employee.Email)); 465 WriteLiteral("</a><br>"); 466 467 } 468 if (!String.IsNullOrEmpty(propBroker.Employee.PhoneMobile)) 469 { 470 WriteLiteral("Tlf.: <a"); 471 BeginWriteAttribute("href", " href=\"", 27124, "\"", 27169, 2); 472 WriteAttributeValue("", 27131, "tel:", 27131, 4, true); 473 WriteAttributeValue("", 27135, propBroker.Employee.PhoneMobile, 27135, 34, false); 474 EndWriteAttribute(); 475 WriteLiteral(">"); 476 Write(Utils.FormatPhoneNumber(propBroker.Employee.PhoneMobile)); 477 WriteLiteral("</a><br>"); 478 479 } 480 else if (!String.IsNullOrEmpty(propBroker.Broker.Telephone)) 481 { 482 WriteLiteral("Tlf.: <a"); 483 BeginWriteAttribute("href", " href=\"", 27571, "\"", 27612, 2); 484 WriteAttributeValue("", 27578, "tel:", 27578, 4, true); 485 WriteAttributeValue("", 27582, propBroker.Broker.Telephone, 27582, 30, false); 486 EndWriteAttribute(); 487 WriteLiteral(">"); 488 Write(Utils.FormatPhoneNumber(propBroker.Broker.Telephone)); 489 WriteLiteral("</a><br>"); 490 491 } 492 WriteLiteral(" <br>\r\n"); 493 } 494 WriteLiteral(" <b>"); 495 Write(bName); 496 WriteLiteral("</b><br>\r\n "); 497 Write(propBroker.Broker.Address); 498 WriteLiteral("<br>\r\n "); 499 Write(propBroker.Broker.ZipCode); 500 WriteLiteral(" "); 501 Write(propBroker.Broker.City); 502 WriteLiteral("<br>\r\n"); 503 if (!String.IsNullOrEmpty(bEmail)) 504 { 505 WriteLiteral("Mail: <a"); 506 BeginWriteAttribute("href", " href=\"", 28373, "\"", 28396, 2); 507 WriteAttributeValue("", 28380, "mailto:", 28380, 7, true); 508 WriteAttributeValue("", 28387, bEmail, 28387, 9, false); 509 EndWriteAttribute(); 510 WriteLiteral(">"); 511 Write(bEmail); 512 WriteLiteral("</a><br />"); 513 514 } 515 if (!String.IsNullOrEmpty(propBroker.Broker.Telephone)) 516 { 517 WriteLiteral("Tlf.: <a"); 518 BeginWriteAttribute("href", " href=\"", 28732, "\"", 28773, 2); 519 WriteAttributeValue("", 28739, "tel:", 28739, 4, true); 520 WriteAttributeValue("", 28743, propBroker.Broker.Telephone, 28743, 30, false); 521 EndWriteAttribute(); 522 WriteLiteral(">"); 523 Write(Utils.FormatPhoneNumber(propBroker.Broker.Telephone)); 524 WriteLiteral("</a><br />"); 525 526 } 527 WriteLiteral(" </p>\r\n </div>\r\n </div>\r\n"); 528 } 529 else 530 { 531 WriteLiteral(" <div class=\"row\">\r\n Denne bolig har ingen mægler tilkoblet.\r\n </div>\r\n"); 532 } 533 WriteLiteral(" </div>\r\n </div>\r\n\r\n"); 534 if (!String.IsNullOrEmpty(edhFilesAllInOne)) 535 { 536 WriteLiteral(@" <div class=""row""> 537 <div class=""col-md-4 hidden-xs"">&nbsp;</div> 538 <div class=""downloads col-md-8""> 539 <h3>Dokumenter</h3> 540 <table> 541 "); 542 foreach (var item in edhFiles) 543 { 544 if (item.Value.ToLower() == "salgsopstilling") 545 { 546 WriteLiteral(" <tr>\r\n"); 547 if (propIsErhverv) 548 { 549 WriteLiteral(" <td>\r\n <a"); 550 BeginWriteAttribute("href", " href=\"", 30619, "\"", 30635, 1); 551 WriteAttributeValue("", 30626, item.Key, 30626, 9, false); 552 EndWriteAttribute(); 553 WriteLiteral(" class=\"downloads-link\" target=\"_blank\">Salgsprospekt</a>\r\n </td>\r\n"); 554 } 555 else 556 { 557 WriteLiteral(" <td>\r\n <a"); 558 BeginWriteAttribute("href", " href=\"", 31098, "\"", 31114, 1); 559 WriteAttributeValue("", 31105, item.Key, 31105, 9, false); 560 EndWriteAttribute(); 561 WriteLiteral(" class=\"downloads-link\" target=\"_blank\">"); 562 Write(item.Value); 563 WriteLiteral("</a>\r\n </td>\r\n"); 564 } 565 WriteLiteral(" </tr>\r\n"); 566 567 } 568 else 569 { 570 WriteLiteral(" <tr>\r\n <td colspan=\"2\">\r\n <a"); 571 BeginWriteAttribute("href", " href=\"", 33220, "\"", 33236, 1); 572 WriteAttributeValue("", 33227, item.Key, 33227, 9, false); 573 EndWriteAttribute(); 574 WriteLiteral(" class=\"downloads-link\" target=\"_blank\">"); 575 Write(item.Value); 576 WriteLiteral("</a>\r\n </td>\r\n </tr>\r\n"); 577 } 578 } 579 WriteLiteral(" </table>\r\n </div>\r\n </div>\r\n"); 580 } 581 WriteLiteral(" </div>\r\n </div>\r\n\r\n\r\n\r\n"); 582 583 Dynamicweb.Content.PageService a = new Dynamicweb.Content.PageService(); 584 var pageID = 0; 585 586 var page = a.GetPageByNavigationTag(Dynamicweb.Frontend.PageView.Current().AreaID, "UserSaleItemsNavigationTag"); 587 588 if (page != null) 589 { 590 pageID = page.ID; 591 } 592 593 WriteLiteral("\r\n <input type=\"hidden\" class=\"js-GraphPageAjax\""); 594 BeginWriteAttribute("value", " value=\"", 34367, "\"", 34398, 2); 595 WriteAttributeValue("", 34375, "Default.aspx?id=", 34375, 16, true); 596 WriteAttributeValue("", 34391, pageID, 34391, 7, false); 597 EndWriteAttribute(); 598 WriteLiteral(">\r\n\r\n <section"); 599 BeginWriteAttribute("id", " id=\"", 34436, "\"", 34460, 2); 600 WriteAttributeValue("", 34441, "property", 34441, 8, true); 601 WriteAttributeValue("", 34449, bolig.Id, 34449, 11, false); 602 EndWriteAttribute(); 603 WriteLiteral(" class=\"my-sales-items-statistic myData js-chart-container\" data-id=\""); 604 Write(bolig.Id); 605 WriteLiteral("\">\r\n <div class=\"container\">\r\n\r\n <div"); 606 BeginWriteAttribute("id", " id=\"", 34636, "\"", 34667, 2); 607 WriteAttributeValue("", 34641, "js-insert-Graph", 34641, 15, true); 608 WriteAttributeValue("", 34656, bolig.Id, 34656, 11, false); 609 EndWriteAttribute(); 610 WriteLiteral(">\r\n <div hidden class=\"acc-toggle loading-text\">"); 611 Write(Translate("Smartpage.Graphloadingtext", "Vent venligst...")); 612 WriteLiteral("</div>\r\n </div>\r\n\r\n <div class=\"acc-toggle-container row\">\r\n <div"); 613 BeginWriteAttribute("class", " class=\"", 34973, "\"", 35026, 4); 614 WriteAttributeValue("", 34981, "loading", 34981, 7, true); 615 WriteAttributeValue("", 34988, bolig.Id, 34988, 11, false); 616 WriteAttributeValue(" ", 34999, "acc-toggle", 35000, 11, true); 617 WriteAttributeValue(" ", 35010, "js-toggle-chart", 35011, 16, true); 618 EndWriteAttribute(); 619 WriteLiteral(" data-propertyID=\""); 620 Write(p.Id); 621 WriteLiteral("\" data-houseID=\""); 622 Write(bolig.Id); 623 WriteLiteral("\" data-productFieldValueAddress=\""); 624 Write(Dynamicweb.Core.Converter.ToString(p.GetProductFieldValue("xEjendomAdresseAdresseLinie"))); 625 WriteLiteral(@""" data-acc-label-loading=""Hej"" data-acc-label-hide=""Skjul statistik"" data-acc-label-show=""Vis statistik"">Vis statistik</div> 626 627 </div> 628 </div> 629 </section> 630 631 </section> 632 </section> 633 "); 634 635 } 636 WriteLiteral("\r\n <section class=\"no-sales-items\"><div class=\"container mt-4 mb-4 text-center\"><h4>"); 637 Write(Translate("Smartpage:Mitboligsalg.NoSearch", "Din søgning havde ikke resultater")); 638 WriteLiteral("</h4></div></section>\r\n\r\n\r\n </div>\r\n"); 639 } 640 } 641 } 642 #pragma warning restore 1998 643 } 644 } 645 #pragma warning restore 1591 646

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 int propTypeNr = p.GetFieldIntValue("xEjendomEjendomstypeNr"); 140 141 string altan = p.GetFieldStringValue("xEjendomFaciliteterAltan"); 142 int garageAreal = p.GetFieldIntValue("xEjendomArealerOevrigeArealerGarage") + p.GetFieldIntValue("xEjendomArealerHovedbygningIntegreredeArealerGarage"); 143 144 RealEstate.Broker.Model.BrokerEmployee propBroker = null; 145 var brokerUrl = ""; 146 try 147 { 148 propBroker = RealEstate.Broker.Search.GetEmployee(p.GetProductFieldValue("xButikID").ToString(), p.GetProductFieldValue("xAktoererMaeglerKontaktEmail").ToString()); 149 } 150 catch (Exception e) { } 151 152 string bName = String.Empty; 153 string bEmail = String.Empty; 154 if (propBroker != null) 155 { 156 try 157 { 158 var ItemModelBroker = RealEstate.Broker.Search.Item(propBroker.Broker); 159 brokerUrl = "/" + ItemModelBroker.GetString("CBMedlemsnummer").Substring(1); 160 } 161 catch (Exception e) { } 162 163 bName = propBroker.Broker.Name; 164 if (!String.IsNullOrEmpty(propBroker.Broker.CompanyName)) 165 { 166 bName = propBroker.Broker.CompanyName; 167 } 168 169 var butikId = String.Empty; 170 171 if (propBroker != null && propBroker.Broker != null) 172 { 173 butikId = propBroker.Broker.Item().GetString("CBMedlemsnummer"); 174 bEmail = propBroker.Broker.Item().GetString("Email"); 175 } 176 } 177 var tidligereAabnehuse = boligManager.TidligereAfholdteAabnehuse(bolig); 178 179 string edhFilesAllInOne = p.GetFieldStringValue("xDokumenterEDHHentAlleUrl"); 180 Dictionary<string, string> edhFiles = BoligManager.GetEDHFilesCompact(p); 181 182 <section class="clearfix sale-item"> 183 <section class="my-sales-items bolig-page bolig-list bolig-list-static"> 184 <div class="container"> 185 <div class="content"> 186 <div class="row"> 187 <div class="col-12"> 188 <h2>@p.GetFieldStringValue("xEjendomAdresseAdresseLinie")<br>@p.GetFieldStringValue("xEjendomAdressePostAdresseLinie")</h2> 189 </div> 190 </div> 191 <div class="row"> 192 <div class="bolig col-md-4"> 193 <div class="box"> 194 <a href='@bolig.LinkUrl' target="_blank"> 195 <div class="img-wrapper"> 196 @if (!String.IsNullOrEmpty(bolig.Label)) 197 { 198 <div class="label"><b>@bolig.Label</b></div> 199 } 200 201 <img src="@imgUrl" class="img-responsive @imgClass" alt="@HttpUtility.HtmlAttributeEncode(bolig.Adresse) @bolig.Ejendomskategori" /> 202 </div> 203 </a> 204 </div> 205 @if (tidligereAabnehuse.Count > 0) 206 { 207 <div class="open-houses"> 208 <b>Tidligere afholdte åbent hus</b> 209 @foreach (var item in tidligereAabnehuse) 210 { 211 <p> 212 @item.Dag @item.DatoFormateret @if (!String.IsNullOrEmpty(item.TidspunktFormateret)) 213 {<text>@item.TidspunktFormateret</text>} 214 </p> 215 } 216 </div> 217 } 218 </div> 219 <div class="col-md-4"> 220 <h3>Detaljer</h3> 221 <table> 222 <tr> 223 <td>Sagsnummer</td> 224 <td align="right"><b>@bolig.Id</b></td> 225 </tr> 226 227 @if (!propIsErhverv) 228 { 229 if (!String.IsNullOrEmpty(p.GetFieldStringValue("xEjendomBSEjendomstype"))) 230 { 231 <tr> 232 <td>Boligtype</td> 233 <td align="right"><b>@p.GetFieldStringValue("xEjendomBSEjendomstype")</b></td> 234 </tr> 235 236 if (!String.IsNullOrEmpty(p.GetFieldStringValue("xEjendomBSEjendomstypeSupplerende")) && p.GetFieldStringValue("xEjendomBSEjendomstypeSupplerende") != p.GetFieldStringValue("xEjendomBSEjendomstype")) 237 { 238 <tr> 239 <td>Supplerende boligtype</td> 240 <td align="right"><b>@p.GetFieldStringValue("xEjendomBSEjendomstypeSupplerende")</b></td> 241 </tr> 242 } 243 } 244 if (p.GetFieldIntValue("xEjendomArealerBoligAreal") > 0) 245 { 246 <tr> 247 <td>Boligareal</td> 248 <td align="right"><b>@p.GetFieldStringValue("xEjendomArealerBoligAreal") m<sup>2</sup></b></td> 249 </tr> 250 } 251 if (p.GetFieldIntValue("xEjendomArealerGrundArealHA") > 0) 252 { 253 <tr> 254 <td>Grundareal</td> 255 <td align="right"><b>@p.GetFieldIntValue("xEjendomArealerGrundArealHA") hektar</b></td> 256 </tr> 257 } 258 else if (p.GetFieldIntValue("xEjendomArealerGrundAreal") > 0) 259 { 260 <tr> 261 <td>Grundareal</td> 262 <td align="right"><b>@p.GetFieldIntValue("xEjendomArealerGrundAreal") m<sup>2</sup></b></td> 263 </tr> 264 } 265 if (p.GetFieldIntValue("xEjendomArealerKaelderAreal") > 0) 266 { 267 <tr> 268 <td>Kælderareal</td> 269 <td align="right"><b>@p.GetFieldIntValue("xEjendomArealerKaelderAreal") m<sup>2</sup></b></td> 270 </tr> 271 } 272 if (garageAreal > 0) 273 { 274 <tr> 275 <td>Garage/carport</td> 276 <td align="right"><b>@garageAreal m<sup>2</sup></b></td> 277 </tr> 278 } 279 if (!String.IsNullOrEmpty(altan) && altan.ToLower() == "true") 280 { 281 <tr> 282 <td>Altan</td> 283 <td align="right"><b>Ja</b></td> 284 </tr> 285 } 286 if (p.GetFieldIntValue("xEjendomOpfoertAar") != 0) 287 { 288 <tr> 289 <td>Bygget/ombygget</td> 290 <td align="right"> 291 <b> 292 @p.GetFieldIntValue("xEjendomOpfoertAar") 293 @if (p.GetFieldIntValue("xEjendomOmbyggetAar") != 0) 294 {<text> / @p.GetFieldIntValue("xEjendomOmbyggetAar")</text>} 295 </b> 296 </td> 297 </tr> 298 } 299 if (p.GetFieldIntValue("xEjendomArealerVaerelser") != 0) 300 { 301 <tr> 302 <td>Antal rum</td> 303 <td align="right"><b>@p.GetFieldStringValue("xEjendomArealerVaerelser") </b></td> 304 </tr> 305 } 306 if (p.GetFieldIntValue("xEjendomArealerEtager") != 0) 307 { 308 <tr> 309 <td>Etager</td> 310 <td align="right"><b>@p.GetFieldStringValue("xEjendomArealerEtager")</b></td> 311 </tr> 312 } 313 } 314 else 315 { 316 if (!String.IsNullOrEmpty(p.GetFieldStringValue("xEjendomEjendomstype"))) 317 { 318 <tr> 319 <td>Ejendomstype</td> 320 <td align="right"> 321 <b> 322 @p.GetFieldStringValue("xEjendomEjendomstype") 323 @if (!String.IsNullOrEmpty(p.GetFieldStringValue("xEjendomEjendomstypeSupplerende"))) 324 {<text> / @p.GetFieldStringValue("xEjendomEjendomstypeSupplerende")</text>} 325 </b> 326 </td> 327 </tr> 328 } 329 if (p.GetFieldStringValue("xUdbudsForm") == "Salg" && p.GetFieldIntValue("xEjendomArealerErhvervAreal") > 0) 330 { 331 <tr> 332 <td>Erhvervsareal</td> 333 <td align="right"><b>@p.GetFieldStringValue("xEjendomArealerErhvervAreal") m<sup>2</sup></b></td> 334 </tr> 335 } 336 else if (p.GetFieldStringValue("xUdbudsForm") == "Leje" && p.GetFieldIntValue("xEjendomArealerEtageAreal") > 0) 337 { 338 <tr> 339 <td>Erhvervsareal</td> 340 <td align="right"><b>@p.GetFieldStringValue("xEjendomArealerEtageAreal") m<sup>2</sup></b></td> 341 </tr> 342 } 343 if (propTypeNr == 12) 344 { 345 <tr> 346 <td>Boligareal</td> 347 <td align="right"><b>@p.GetFieldStringValue("xEjendomArealerBoligAreal") m<sup>2</sup></b></td> 348 </tr> 349 } 350 if (p.GetFieldIntValue("xEjendomArealerGrundArealHA") > 0) 351 { 352 <tr> 353 <td>Grund</td> 354 <td align="right"><b>@p.GetFieldIntValue("xEjendomArealerGrundArealHA") hektar</b></td> 355 </tr> 356 } 357 else if (p.GetFieldIntValue("xEjendomArealerGrundAreal") > 0) 358 { 359 <tr> 360 <td>Grund</td> 361 <td align="right"><b>@p.GetFieldIntValue("xEjendomArealerGrundAreal") m<sup>2</sup></b></td> 362 </tr> 363 } 364 if (p.GetFieldIntValue("xEjendomOpfoertAar") != 0) 365 { 366 <tr> 367 <td>Bygget/ombygget</td> 368 <td align="right"> 369 <b> 370 @p.GetFieldIntValue("xEjendomOpfoertAar") 371 @if (p.GetFieldIntValue("xEjendomOmbyggetAar") != 0) 372 {<text> / @p.GetFieldIntValue("xEjendomOmbyggetAar")</text>} 373 </b> 374 </td> 375 </tr> 376 } 377 } 378 <tr> 379 <td>&nbsp;</td> 380 <td align="right">&nbsp;</td> 381 </tr> 382 @if (!String.IsNullOrEmpty(p.GetFieldStringValue("xEjendomEnergiklassifikation")) && !propIsErhverv) 383 { 384 <tr> 385 <td>Energimærke</td> 386 <td align="right"> 387 <div class="energylabel" data-energylabel="@p.GetFieldStringValue("xEjendomEnergiklassifikation")"></div> 388 </td> 389 </tr> 390 } 391 </table> 392 </div> 393 <div class="col-md-4"> 394 395 <h3>Mægler</h3> 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 <div class="row"> 410 @if (!String.IsNullOrEmpty(eImg)) 411 { 412 <div class="col-5"> 413 <a href="@brokerUrl"> 414 @{ 415 //PushPromise(eImg); 416 } 417 <img src="@eImg" class="img-responsive" /> 418 </a> 419 </div>} 420 <div class="@bClass"> 421 <p> 422 @if (propBroker.Employee != null) 423 { 424 <b>@(propBroker.Employee.Name)</b><br> 425 if (!String.IsNullOrEmpty(propBroker.Employee.Email)) 426 { 427 <text>Mail: <a href="mailto:@(Utils.ExtractMaskedEmail(propBroker.Employee.Email))">@Utils.ExtractMaskedEmail(propBroker.Employee.Email)</a><br></text> 428 } 429 if (!String.IsNullOrEmpty(propBroker.Employee.PhoneMobile)) 430 { 431 <text>Tlf.: <a href="tel:@(propBroker.Employee.PhoneMobile)">@Utils.FormatPhoneNumber(propBroker.Employee.PhoneMobile)</a><br></text> 432 } 433 else if (!String.IsNullOrEmpty(propBroker.Broker.Telephone)) 434 { 435 <text>Tlf.: <a href="tel:@(propBroker.Broker.Telephone)">@Utils.FormatPhoneNumber(propBroker.Broker.Telephone)</a><br></text> 436 } 437 <br> 438 } 439 <b>@bName</b><br> 440 @propBroker.Broker.Address<br> 441 @propBroker.Broker.ZipCode @propBroker.Broker.City<br> 442 @if (!String.IsNullOrEmpty(bEmail)) 443 { 444 <text>Mail: <a href="mailto:@(bEmail)">@(bEmail)</a><br /></text> 445 } 446 @if (!String.IsNullOrEmpty(propBroker.Broker.Telephone)) 447 { 448 <text>Tlf.: <a href="tel:@(propBroker.Broker.Telephone)">@(Utils.FormatPhoneNumber(propBroker.Broker.Telephone))</a><br /></text> 449 } 450 </p> 451 </div> 452 </div> 453 } 454 else 455 { 456 <div class="row"> 457 Denne bolig har ingen mægler tilkoblet. 458 </div> 459 } 460 </div> 461 </div> 462 463 @if (!String.IsNullOrEmpty(edhFilesAllInOne)) 464 { 465 <div class="row"> 466 <div class="col-md-4 hidden-xs">&nbsp;</div> 467 <div class="downloads col-md-8"> 468 <h3>Dokumenter</h3> 469 <table> 470 @foreach (var item in edhFiles) 471 { 472 if (item.Value.ToLower() == "salgsopstilling") 473 { 474 <tr> 475 @if (propIsErhverv) 476 { 477 <td> 478 <a href="@item.Key" class="downloads-link" target="_blank">Salgsprospekt</a> 479 </td> 480 } 481 else 482 { 483 <td> 484 <a href="@item.Key" class="downloads-link" target="_blank">@item.Value</a> 485 </td> 486 } 487 @*<td align="right"> 488 @if (godkendteSager.Contains(bolig.Id)) 489 { 490 <button type="button" class="btn btn-secondary downloads-approve-btn" data-sagsnr="@bolig.Id" data-brugerid="@user.ID" disabled="disabled">Er godkendt</button> 491 } 492 else 493 { 494 <button type="button" class="btn btn-primary downloads-approve-btn" data-sagsnr="@bolig.Id" data-brugerid="@user.ID">Godkend</button> 495 } 496 </td>*@ 497 </tr> 498 @*<tr> 499 <td colspan="2"> 500 <span class="downloads-notice">* hvis du ikke kan godkende salgsopstillingen skal du kontakte din mægler</span> 501 </td> 502 </tr>*@ 503 } 504 else 505 { 506 <tr> 507 <td colspan="2"> 508 <a href="@item.Key" class="downloads-link" target="_blank">@item.Value</a> 509 </td> 510 </tr> 511 } 512 } 513 </table> 514 </div> 515 </div> 516 } 517 </div> 518 </div> 519 520 521 522 @{ 523 Dynamicweb.Content.PageService a = new Dynamicweb.Content.PageService(); 524 var pageID = 0; 525 526 var page = a.GetPageByNavigationTag(Dynamicweb.Frontend.PageView.Current().AreaID, "UserSaleItemsNavigationTag"); 527 528 if (page != null) 529 { 530 pageID = page.ID; 531 } 532 533 } 534 535 <input type="hidden" class="js-GraphPageAjax" value="Default.aspx?id=@pageID"> 536 537 <section id="property@(bolig.Id)" class="my-sales-items-statistic myData js-chart-container" data-id="@(bolig.Id)"> 538 <div class="container"> 539 540 <div id="js-insert-Graph@(bolig.Id)"> 541 <div hidden class="acc-toggle loading-text">@Translate("Smartpage.Graphloadingtext", "Vent venligst...")</div> 542 </div> 543 544 <div class="acc-toggle-container row"> 545 <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> 546 547 </div> 548 </div> 549 </section> 550 551 </section> 552 </section> 553 554 } 555 556 <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> 557 558 559 </div> 560 } 561 }
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.