Advertisement
Danny_Berova

4.RealEstateAgency-LastSubmited90-100

Nov 19th, 2018
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.46 KB | None | 0 0
  1. function realEstateAgency () {
  2. let profit = $('h1').eq(0);
  3. let profitSum = 0;
  4.  
  5. let building = $('#building');
  6. let message = $('#message');
  7.  
  8. let price = $('input[name=apartmentRent]');
  9. let apratment = $('input[name=apartmentType]');
  10. let commRate = $('input[name=agencyCommission]');
  11.  
  12. let familyBudget = $('input[name=familyBudget]');
  13. let familyApartType = $('input[name=familyApartmentType]');
  14. let family = $('input[name=familyName]');
  15.  
  16. let regOffer = $('button[name=regOffer]');
  17. regOffer.on('click', function() {
  18.  
  19. let allPresentReg = price.val().trim() !== '' && apratment.val().trim() !== '' && commRate.val().trim() !== '' ;
  20. let bothAreNums = typeof +price.val() === 'number' && typeof +commRate.val() === 'number'
  21. let validApartmentType =typeof apratment.val().trim() === "string" && apratment.val().trim !== '' && !apratment.val().includes(':');
  22.  
  23. if(allPresentReg && validApartmentType && +price.val() > 0 &&
  24. bothAreNums && +commRate.val() >= 0 && +commRate.val() <= 100 ) {
  25.  
  26. let buildDiv = $('<div>').addClass('apartment');
  27. let p1 = $('<p>').text(`Rent: ${price.val()}`);
  28. let p2 = $('<p>').text(`Type: ${apratment.val()}`);
  29. let p3 = $('<p>').text(`Commission: ${commRate.val()}`);
  30. buildDiv.append(p1, p2, p3);
  31. building.append(buildDiv);
  32.  
  33. message.text('Your offer was created successfully.');
  34. } else {
  35. message.text('Your offer registration went wrong, try again.');
  36. }
  37.  
  38. price.val('');
  39. apratment.val('');
  40. commRate.val('');
  41. });
  42.  
  43. let findOffer = $('button[name=findOffer]');
  44. findOffer.on('click', function() {
  45. message.text('We were unable to find you a home, so sorry :(');
  46.  
  47. let allPresent = familyBudget.val().trim() !== '' && familyApartType.val().trim() !== '' && family.val().trim() !== '';
  48.  
  49. if(allPresent && +(familyBudget.val()) > 0) {
  50. let apps = $('div.apartment');
  51. for (let app of apps) {
  52. let rent = $(app).find('p').eq(0).text().substring(6);
  53. let type = $(app).find('p').eq(1).text().substring(6);
  54. let rate = $(app).find('p').eq(2).text().substring(12);
  55.  
  56. let percent = +rent * (+rate / 100);
  57. let ratePercent = +rent + (+rent * (+rate / 100));
  58. let isBudgetEnough = ratePercent <= +familyBudget.val();
  59.  
  60. if(type === familyApartType.val() && isBudgetEnough) {
  61. profitSum += percent * 2;
  62. profit.text(`Agency profit: ${profitSum} lv.`);
  63. message.text('Enjoy your new home! :))');
  64.  
  65. $(app).find('p').eq(0).text(`${family.val()}`);
  66. $(app).find('p').eq(1).text('live here now');
  67. $(app).find('p').eq(2).remove();
  68. $(app).attr('style', "border: 2px solid red;");
  69. $(app).append($('<button>').text('MoveOut')
  70. .on('click', function(ev) {
  71. let thisApp = ev.target.parentNode;
  72. console.log('inside MoveOut')
  73. message.text(`They had found cockroaches in ${$(thisApp).find('p').eq(0).text()}\'s apartment`);
  74. $(thisApp).remove();
  75. }))
  76. }
  77. }
  78. }
  79. familyBudget.val('');
  80. familyApartType.val('');
  81. family.val('');
  82. });
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement