Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- calcFunction() {
- double __total = 0.0;
- double __loanAmount = _loanAmount;
- double __downPayment = _downPayment < _loanAmount &&
- _downPayment <= _maxPurchasePrice / 6 ? _downPayment : 0.0;
- double __bpmi = 0.0;
- String __bpmiTerm = _term > 20 ? 'more' : 'less';
- double __adjustedAmount = _refinance == true ? __loanAmount : __loanAmount -
- __downPayment;
- double __ltvActual = __adjustedAmount / __loanAmount;
- double __ltvCon = 0.97;
- double __ltvFha = 0.965;
- double __totalAmount = __adjustedAmount;
- double __apr = _interestRate / 1200;
- double __months = _term * 12;
- double __principleAndInterest = (__apr + (__apr / (pow((1 + __apr), __months) - 1))) *
- __totalAmount;
- double __tax = (_taxRate * _loanAmount / 12);
- double __insurance = (_propertyInsuranceRate * _loanAmount / 12);
- double __mmi = 0.0;
- String __ltvString;
- if (__ltvActual > 95.001 && __ltvActual <= 97) {
- __ltvString = '97';
- } else {
- if (__ltvActual > 90.001 && __ltvActual <= 95) {
- __ltvString = '95';
- } else {
- if (__ltvActual > 85.001 && __ltvActual <= 90) {
- __ltvString = '90';
- } else {
- if (__ltvActual < 85) {
- __ltvString = '85';
- } else {
- __ltvString = null;
- }
- }
- }
- }
- if(_program == 'va'){
- switch (_vaSubType) {
- case "first":
- {
- __adjustedAmount *= 1.0215;
- }
- break;
- case "disability":
- {
- __adjustedAmount = __adjustedAmount;
- }
- break;
- default:
- { //not first or disabled.
- __adjustedAmount *= 1.033;
- }
- }
- }
- else if (_program == 'fha') {
- __adjustedAmount *= 1.0175;
- if ((1 - __downPayment / __loanAmount) > __ltvFha && !_refinance) {
- __downPayment = (1 - __ltvFha) * __loanAmount;
- }
- __mmi = (__downPayment / __loanAmount) > .05
- ? (.008 * __adjustedAmount / 12)
- : (.0085 * __adjustedAmount / 12);
- }
- else if (_program == 'usda') {
- __adjustedAmount *= 1.005;
- __mmi = (.0035 * __adjustedAmount / 12);
- }
- else { // program == 'con'
- print('Enter the BPMI Dome');
- if ((1 - __downPayment / __loanAmount) > __ltvCon && !_refinance) {
- __downPayment = (1 - __ltvCon) * __loanAmount;
- }
- switch (_creditScore) {
- case '760':
- __bpmi = bpmiMap['760'][__ltvString][__bpmiTerm];
- __bpmi += !!_cashOut ? bpmiMap['760']["cashOut"] : __bpmi;
- __bpmi += !!_investmentProperty ? bpmiMap['760']["investmentProp"] : __bpmi;
- __bpmi += !!_manufactured ? bpmiMap['760']["manfactured"] : __bpmi;
- __bpmi += !!_secondHome ? bpmiMap['760']["secondHome"] : __bpmi;
- __bpmi += !!_multiUnit ? bpmiMap['760']["multiUnit"] : __bpmi;
- __bpmi -= !!_multiBorrower ? bpmiMap['760'][__ltvString]["multiBorrower"] : __bpmi;
- __bpmi = __bpmi * __loanAmount / 12;
- break;
- case '740':
- __bpmi = bpmiMap['760'][__ltvString][__bpmiTerm];
- __bpmi += !!_cashOut ? bpmiMap['740']["cashOut"] : __bpmi;
- __bpmi += !!_investmentProperty ? bpmiMap['740']["investmentProp"] : __bpmi;
- __bpmi += !!_manufactured ? bpmiMap['740']["manfactured"] : __bpmi;
- __bpmi += !!_secondHome ? bpmiMap['740']["secondHome"] : __bpmi;
- __bpmi += !!_multiUnit ? bpmiMap['740']["multiUnit"] : __bpmi;
- __bpmi -= !!_multiBorrower ? bpmiMap['740'][__ltvString]["multiBorrower"] : __bpmi;
- __bpmi = __bpmi * __loanAmount / 12;
- break;
- case '720':
- __bpmi = bpmiMap['760'][__ltvString][__bpmiTerm];
- __bpmi += !!_cashOut ? bpmiMap['720']["cashOut"] : __bpmi;
- __bpmi += !!_investmentProperty ? bpmiMap['720']["investmentProp"] : __bpmi;
- __bpmi += !!_manufactured ? bpmiMap['720']["manfactured"] : __bpmi;
- __bpmi += !!_secondHome ? bpmiMap['720']["secondHome"] : __bpmi;
- __bpmi += !!_multiUnit ? bpmiMap['720']["multiUnit"] : __bpmi;
- __bpmi -= !!_multiBorrower ? bpmiMap['720'][__ltvString]["multiBorrower"] : __bpmi;
- __bpmi = __bpmi * __loanAmount / 12;
- break;
- case '700':
- __bpmi = bpmiMap['760'][__ltvString][__bpmiTerm];
- __bpmi += !!_cashOut ? bpmiMap['700']["cashOut"] : __bpmi;
- __bpmi += !!_investmentProperty ? bpmiMap['700']["investmentProp"] : __bpmi;
- __bpmi += !!_manufactured ? bpmiMap['700']["manfactured"] : __bpmi;
- __bpmi += !!_secondHome ? bpmiMap['700']["secondHome"] : __bpmi;
- __bpmi += !!_multiUnit ? bpmiMap['700']["multiUnit"] : __bpmi;
- __bpmi -= !!_multiBorrower ? bpmiMap['700'][__ltvString]["multiBorrower"] : __bpmi;
- __bpmi = __bpmi * __loanAmount / 12;
- break;
- case '680':
- __bpmi = bpmiMap['760'][__ltvString][__bpmiTerm];
- __bpmi += !!_cashOut ? bpmiMap['680']["cashOut"] : __bpmi;
- __bpmi += !!_investmentProperty ? bpmiMap['680']["investmentProp"] : __bpmi;
- __bpmi += !!_manufactured ? bpmiMap['680']["manfactured"] : __bpmi;
- __bpmi += !!_secondHome ? bpmiMap['680']["secondHome"] : __bpmi;
- __bpmi += !!_multiUnit ? bpmiMap['680']["multiUnit"] : __bpmi;
- __bpmi -= !!_multiBorrower ? bpmiMap['680'][__ltvString]["multiBorrower"] : __bpmi;
- __bpmi = __bpmi * __loanAmount / 12;
- break;
- case '660':
- __bpmi = bpmiMap['760'][__ltvString][__bpmiTerm];
- __bpmi += !!_cashOut ? bpmiMap['660']["cashOut"] : __bpmi;
- __bpmi += !!_investmentProperty ? bpmiMap['660']["investmentProp"] : __bpmi;
- __bpmi += !!_manufactured ? bpmiMap['660']["manfactured"] : __bpmi;
- __bpmi += !!_secondHome ? bpmiMap['660']["secondHome"] : __bpmi;
- __bpmi += !!_multiUnit ? bpmiMap['660']["multiUnit"] : __bpmi;
- __bpmi -= !!_multiBorrower ? bpmiMap['660'][__ltvString]["multiBorrower"] : __bpmi;
- __bpmi = __bpmi * __loanAmount / 12;
- break;
- case '640':
- __bpmi = bpmiMap['760'][__ltvString][__bpmiTerm];
- __bpmi += !!_cashOut ? bpmiMap['640']["cashOut"] : __bpmi;
- __bpmi += !!_investmentProperty ? bpmiMap['640']["investmentProp"] : __bpmi;
- __bpmi += !!_manufactured ? bpmiMap['640']["manfactured"] : __bpmi;
- __bpmi += !!_secondHome ? bpmiMap['640']["secondHome"] : __bpmi;
- __bpmi += !!_multiUnit ? bpmiMap['640']["multiUnit"] : __bpmi;
- __bpmi -= !!_multiBorrower ? bpmiMap['640'][__ltvString]["multiBorrower"] : __bpmi;
- __bpmi = __bpmi * __loanAmount / 12;
- break;
- case '620':
- __bpmi = bpmiMap['760'][__ltvString][__bpmiTerm];
- __bpmi += !!_cashOut ? bpmiMap['620']["cashOut"] : __bpmi;
- __bpmi += !!_investmentProperty ? bpmiMap['620']["investmentProp"] : __bpmi;
- __bpmi += !!_manufactured ? bpmiMap['620']["manfactured"] : __bpmi;
- __bpmi += !!_secondHome ? bpmiMap['620']["secondHome"] : __bpmi;
- __bpmi += !!_multiUnit ? bpmiMap['620']["multiUnit"] : __bpmi;
- __bpmi -= !!_multiBorrower ? bpmiMap['620'][__ltvString]["multiBorrower"] : __bpmi;
- __bpmi = __bpmi * __loanAmount / 12;
- break;
- default:
- __bpmi = 0.0;
- break;
- }
- }
- __total = __principleAndInterest + __tax + __insurance + __mmi + _hoa + __bpmi;
- _principleInterest = __principleAndInterest;
- _tax = __tax;
- _propertyInsurance = __insurance;
- _downPayment = __downPayment;
- _mmi = __mmi;
- _bpmi = __bpmi;
- _monthlyTotal = __total;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement