Søg bolig
0 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_847c8987eb67402792e4789e865eff65 : 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> </td>\r\n <td align=\"right\"> </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""> </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> </td> 360 <td align="right"> </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"> </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 }