Advertisement
Guest User

Untitled

a guest
Jan 29th, 2020
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.37 KB | None | 0 0
  1. calcFunction() {
  2. double __total = 0.0;
  3. double __loanAmount = _loanAmount;
  4. double __downPayment = _downPayment < _loanAmount &&
  5. _downPayment <= _maxPurchasePrice / 6 ? _downPayment : 0.0;
  6. double __bpmi = 0.0;
  7. String __bpmiTerm = _term > 20 ? 'more' : 'less';
  8. double __adjustedAmount = _refinance == true ? __loanAmount : __loanAmount -
  9. __downPayment;
  10. double __ltvActual = __adjustedAmount / __loanAmount;
  11. double __ltvCon = 0.97;
  12. double __ltvFha = 0.965;
  13.  
  14. double __totalAmount = __adjustedAmount;
  15. double __apr = _interestRate / 1200;
  16. double __months = _term * 12;
  17.  
  18. double __principleAndInterest = (__apr + (__apr / (pow((1 + __apr), __months) - 1))) *
  19. __totalAmount;
  20. double __tax = (_taxRate * _loanAmount / 12);
  21. double __insurance = (_propertyInsuranceRate * _loanAmount / 12);
  22. double __mmi = 0.0;
  23.  
  24. String __ltvString;
  25. if (__ltvActual > 95.001 && __ltvActual <= 97) {
  26. __ltvString = '97';
  27. } else {
  28. if (__ltvActual > 90.001 && __ltvActual <= 95) {
  29. __ltvString = '95';
  30. } else {
  31. if (__ltvActual > 85.001 && __ltvActual <= 90) {
  32. __ltvString = '90';
  33. } else {
  34. if (__ltvActual < 85) {
  35. __ltvString = '85';
  36. } else {
  37. __ltvString = null;
  38. }
  39. }
  40. }
  41. }
  42.  
  43.  
  44. if(_program == 'va'){
  45. switch (_vaSubType) {
  46. case "first":
  47. {
  48. __adjustedAmount *= 1.0215;
  49. }
  50. break;
  51. case "disability":
  52. {
  53. __adjustedAmount = __adjustedAmount;
  54. }
  55. break;
  56. default:
  57. { //not first or disabled.
  58. __adjustedAmount *= 1.033;
  59. }
  60. }
  61. }
  62. else if (_program == 'fha') {
  63. __adjustedAmount *= 1.0175;
  64.  
  65. if ((1 - __downPayment / __loanAmount) > __ltvFha && !_refinance) {
  66. __downPayment = (1 - __ltvFha) * __loanAmount;
  67. }
  68.  
  69. __mmi = (__downPayment / __loanAmount) > .05
  70. ? (.008 * __adjustedAmount / 12)
  71. : (.0085 * __adjustedAmount / 12);
  72. }
  73. else if (_program == 'usda') {
  74. __adjustedAmount *= 1.005;
  75. __mmi = (.0035 * __adjustedAmount / 12);
  76. }
  77. else { // program == 'con'
  78.  
  79. print('Enter the BPMI Dome');
  80. if ((1 - __downPayment / __loanAmount) > __ltvCon && !_refinance) {
  81. __downPayment = (1 - __ltvCon) * __loanAmount;
  82. }
  83.  
  84. switch (_creditScore) {
  85. case '760':
  86. __bpmi = bpmiMap['760'][__ltvString][__bpmiTerm];
  87. __bpmi += !!_cashOut ? bpmiMap['760']["cashOut"] : __bpmi;
  88. __bpmi += !!_investmentProperty ? bpmiMap['760']["investmentProp"] : __bpmi;
  89. __bpmi += !!_manufactured ? bpmiMap['760']["manfactured"] : __bpmi;
  90. __bpmi += !!_secondHome ? bpmiMap['760']["secondHome"] : __bpmi;
  91. __bpmi += !!_multiUnit ? bpmiMap['760']["multiUnit"] : __bpmi;
  92.  
  93. __bpmi -= !!_multiBorrower ? bpmiMap['760'][__ltvString]["multiBorrower"] : __bpmi;
  94.  
  95.  
  96. __bpmi = __bpmi * __loanAmount / 12;
  97. break;
  98. case '740':
  99. __bpmi = bpmiMap['760'][__ltvString][__bpmiTerm];
  100. __bpmi += !!_cashOut ? bpmiMap['740']["cashOut"] : __bpmi;
  101. __bpmi += !!_investmentProperty ? bpmiMap['740']["investmentProp"] : __bpmi;
  102. __bpmi += !!_manufactured ? bpmiMap['740']["manfactured"] : __bpmi;
  103. __bpmi += !!_secondHome ? bpmiMap['740']["secondHome"] : __bpmi;
  104. __bpmi += !!_multiUnit ? bpmiMap['740']["multiUnit"] : __bpmi;
  105.  
  106. __bpmi -= !!_multiBorrower ? bpmiMap['740'][__ltvString]["multiBorrower"] : __bpmi;
  107.  
  108.  
  109. __bpmi = __bpmi * __loanAmount / 12;
  110. break;
  111. case '720':
  112. __bpmi = bpmiMap['760'][__ltvString][__bpmiTerm];
  113. __bpmi += !!_cashOut ? bpmiMap['720']["cashOut"] : __bpmi;
  114. __bpmi += !!_investmentProperty ? bpmiMap['720']["investmentProp"] : __bpmi;
  115. __bpmi += !!_manufactured ? bpmiMap['720']["manfactured"] : __bpmi;
  116. __bpmi += !!_secondHome ? bpmiMap['720']["secondHome"] : __bpmi;
  117. __bpmi += !!_multiUnit ? bpmiMap['720']["multiUnit"] : __bpmi;
  118.  
  119. __bpmi -= !!_multiBorrower ? bpmiMap['720'][__ltvString]["multiBorrower"] : __bpmi;
  120.  
  121.  
  122. __bpmi = __bpmi * __loanAmount / 12;
  123. break;
  124. case '700':
  125. __bpmi = bpmiMap['760'][__ltvString][__bpmiTerm];
  126. __bpmi += !!_cashOut ? bpmiMap['700']["cashOut"] : __bpmi;
  127. __bpmi += !!_investmentProperty ? bpmiMap['700']["investmentProp"] : __bpmi;
  128. __bpmi += !!_manufactured ? bpmiMap['700']["manfactured"] : __bpmi;
  129. __bpmi += !!_secondHome ? bpmiMap['700']["secondHome"] : __bpmi;
  130. __bpmi += !!_multiUnit ? bpmiMap['700']["multiUnit"] : __bpmi;
  131.  
  132. __bpmi -= !!_multiBorrower ? bpmiMap['700'][__ltvString]["multiBorrower"] : __bpmi;
  133.  
  134.  
  135. __bpmi = __bpmi * __loanAmount / 12;
  136. break;
  137. case '680':
  138. __bpmi = bpmiMap['760'][__ltvString][__bpmiTerm];
  139. __bpmi += !!_cashOut ? bpmiMap['680']["cashOut"] : __bpmi;
  140. __bpmi += !!_investmentProperty ? bpmiMap['680']["investmentProp"] : __bpmi;
  141. __bpmi += !!_manufactured ? bpmiMap['680']["manfactured"] : __bpmi;
  142. __bpmi += !!_secondHome ? bpmiMap['680']["secondHome"] : __bpmi;
  143. __bpmi += !!_multiUnit ? bpmiMap['680']["multiUnit"] : __bpmi;
  144.  
  145. __bpmi -= !!_multiBorrower ? bpmiMap['680'][__ltvString]["multiBorrower"] : __bpmi;
  146.  
  147.  
  148. __bpmi = __bpmi * __loanAmount / 12;
  149. break;
  150. case '660':
  151. __bpmi = bpmiMap['760'][__ltvString][__bpmiTerm];
  152. __bpmi += !!_cashOut ? bpmiMap['660']["cashOut"] : __bpmi;
  153. __bpmi += !!_investmentProperty ? bpmiMap['660']["investmentProp"] : __bpmi;
  154. __bpmi += !!_manufactured ? bpmiMap['660']["manfactured"] : __bpmi;
  155. __bpmi += !!_secondHome ? bpmiMap['660']["secondHome"] : __bpmi;
  156. __bpmi += !!_multiUnit ? bpmiMap['660']["multiUnit"] : __bpmi;
  157.  
  158. __bpmi -= !!_multiBorrower ? bpmiMap['660'][__ltvString]["multiBorrower"] : __bpmi;
  159.  
  160.  
  161. __bpmi = __bpmi * __loanAmount / 12;
  162. break;
  163. case '640':
  164. __bpmi = bpmiMap['760'][__ltvString][__bpmiTerm];
  165. __bpmi += !!_cashOut ? bpmiMap['640']["cashOut"] : __bpmi;
  166. __bpmi += !!_investmentProperty ? bpmiMap['640']["investmentProp"] : __bpmi;
  167. __bpmi += !!_manufactured ? bpmiMap['640']["manfactured"] : __bpmi;
  168. __bpmi += !!_secondHome ? bpmiMap['640']["secondHome"] : __bpmi;
  169. __bpmi += !!_multiUnit ? bpmiMap['640']["multiUnit"] : __bpmi;
  170.  
  171. __bpmi -= !!_multiBorrower ? bpmiMap['640'][__ltvString]["multiBorrower"] : __bpmi;
  172.  
  173.  
  174. __bpmi = __bpmi * __loanAmount / 12;
  175. break;
  176. case '620':
  177. __bpmi = bpmiMap['760'][__ltvString][__bpmiTerm];
  178. __bpmi += !!_cashOut ? bpmiMap['620']["cashOut"] : __bpmi;
  179. __bpmi += !!_investmentProperty ? bpmiMap['620']["investmentProp"] : __bpmi;
  180. __bpmi += !!_manufactured ? bpmiMap['620']["manfactured"] : __bpmi;
  181. __bpmi += !!_secondHome ? bpmiMap['620']["secondHome"] : __bpmi;
  182. __bpmi += !!_multiUnit ? bpmiMap['620']["multiUnit"] : __bpmi;
  183.  
  184. __bpmi -= !!_multiBorrower ? bpmiMap['620'][__ltvString]["multiBorrower"] : __bpmi;
  185.  
  186.  
  187. __bpmi = __bpmi * __loanAmount / 12;
  188. break;
  189. default:
  190. __bpmi = 0.0;
  191. break;
  192. }
  193. }
  194.  
  195. __total = __principleAndInterest + __tax + __insurance + __mmi + _hoa + __bpmi;
  196.  
  197. _principleInterest = __principleAndInterest;
  198. _tax = __tax;
  199. _propertyInsurance = __insurance;
  200. _downPayment = __downPayment;
  201. _mmi = __mmi;
  202. _bpmi = __bpmi;
  203. _monthlyTotal = __total;
  204.  
  205.  
  206.  
  207. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement