public ActionResult Index(NeedsViewModel vm) { try { //min 25,000 //max 500,000 //25,000 increments //calculate needs decimal insuredNeedsRate = Decimal.Divide(1.06M, 1.03M) - 1.00M; decimal spouseTaxRate = 0.25M; decimal inflationRate = 0.03M; var numKidsNeedFunding = GetDefaultIfNull(vm.numKidsNeedFunding); var collegeFunding = Decimal.Multiply(numKidsNeedFunding, (vm.schoolType == SCHOOLTYPES_PUBLIC ? 75772.00M : 169676.00M)); var lumpSumNeedsAtDeath = GetDefaultIfNull(vm.finalExpenses) + GetDefaultIfNull(vm.otherDebtExpenses) + GetDefaultIfNull(vm.mortgageExpenses) + collegeFunding; var incomeNeeds = vm.totalAnnualIncome; decimal currentInvestmentCapital = GetDefaultIfNull(vm.currentRetirementSavings) + GetDefaultIfNull(vm.currentSavings); decimal existingLifeInsurance = GetDefaultIfNull(vm.existingLifeInsuranceValue); decimal presentValueOfSpouseIncomeNeeds = Math.Abs(BusinessRulesClass.CalculatePresentValueOfIncomeNeeds(inflationRate, vm.spouseTotalAnnualIncome == null ? 0.0M : Decimal.Multiply((1 - spouseTaxRate), GetDefaultIfNull(vm.spouseTotalAnnualIncome)), vm.spouseYearsOfIncomeLeft == null ? 0 : vm.spouseYearsOfIncomeLeft.Value)); decimal presentValueOfIncomeNeeds = BusinessRulesClass.CalculatePresentValueOfIncomeNeeds(insuredNeedsRate, Decimal.Multiply(-1.0M, (GetDefaultIfNull(vm.totalAnnualIncome))), vm.yearsOfIncomeLeft == null ? 0 : vm.yearsOfIncomeLeft.Value); var overallNeeds = BusinessRulesClass.CalculateOverallNeeds(presentValueOfIncomeNeeds, lumpSumNeedsAtDeath, currentInvestmentCapital, existingLifeInsurance, presentValueOfSpouseIncomeNeeds); var nm = new NeedsModel() { collegeFunding = collegeFunding, currentInvestmentCapital = currentInvestmentCapital, existingLifeInsurance = existingLifeInsurance, incomeNeeds = GetDefaultIfNull(incomeNeeds), lumpSumNeedsAtDeath = lumpSumNeedsAtDeath, overallNeeds = overallNeeds, presentValueOfIncomeNeeds = presentValueOfIncomeNeeds, presentValueOfSpouseIncomeNeeds = presentValueOfSpouseIncomeNeeds }; vm.CoverageAmount = this.GetOverallNeedsBasedOnBand(overallNeeds); vm.needsModel = nm; return(View(vm)); //send to view with the results } catch (Exception ex) { TempData["ErrorMessage"] = ex.Message; var msg = "There was an error during the needs calculation."; vm.ViewMessages.Add(msg); return(View(vm)); } }
public ActionResult Index(QuoteViewModel vm) { try { // Determine eligibility EligibilityInfo eligibility = BusinessRulesClass.IsEligible(vm.Age, vm.stateInfo.Name, vm.tobacco, vm.health, null == vm.ReplacementPolicy ? false : vm.ReplacementPolicy.Value); // If eligible build XML and send to firelight if (eligibility.IsEligible) { // Build XMLs var client = new NewBusinessService.NewBusinessClient("CustomBinding_NewBusiness"); var txLife = Create103(vm); NewBusinessService.TXLife response = client.SubmitNewBusinessApplication(txLife); var code = response.TXLifeResponse[0].TransResult.ResultCode.Value; //response code?? if (code == "RESULT_SUCCESS") { //redirect to url string url = String.Format("https://uat.firelighteapp.com/EGApp/PassiveCall.aspx?O=3138&C=D2C&refid={0}", response.TXLifeResponse[0].TransRefGUID ?? String.Empty); return(Redirect(url)); } else { //failed var msg = response.TXLifeResponse[0].TransResult.ResultInfo[0].ResultInfoDesc; vm.ViewMessages.Add("Web Service Returned a Failure Code: " + msg); return(View(vm)); } } else { TempData["ContactViewModel"] = new ContactViewModel { DenialMessage = eligibility.EligibilityMessage, IsReplacementReject = eligibility.IsReplacememtReject, State = eligibility.State }; return(RedirectToActionPermanent("Contact", "Contact")); } } catch (Exception ex) { TempData["ErrorMessage"] = ex.Message; var msg = "There was an error connecting to the application portal."; vm.ViewMessages.Add(msg); return(View(vm)); } }
public ActionResult Index(string fn, string email, string ph, int j) { if (fn != null && email != null && ph != null && j != 0) { ContactModel cmodl = new ContactModel() { firstName = fn, email = email, phone = ph, state = (QuoteViewModel.GetStateInfoFromTC(j) == null ? "" : QuoteViewModel.GetStateInfoFromTC(j).Name), denialMessage = BusinessRulesClass.MedicalRejectMessage() }; //data being posted from I.T. this.SendContactEmail(cmodl); return(RedirectPermanent("~/pages/thankyou")); } else { return(View("Contact")); } }
public ActionResult Index(NeedsViewModel vm) { try { // Determine eligibility //EligibilityInfo eligibility = BusinessRulesClass.IsEligible(vm.Age, vm.stateInfo.Name, vm.tobacco, vm.health, null == vm.ReplacementPolicy ? false : vm.ReplacementPolicy.Value); //if (eligibility.IsEligible) //{ //min 25,000 //max 500,000 //25,000 increments //calculate needs decimal insuredNeedsRate = Decimal.Divide(1.06M, 1.03M) - 1.00M; decimal spouseTaxRate = 0.25M; decimal inflationRate = 0.03M; var numKidsNeedFunding = GetDefaultIfNull(vm.numKidsNeedFunding); var collegeFunding = Decimal.Multiply(numKidsNeedFunding, (vm.schoolType == "PUBLIC" ? 75772.00M : 169676.00M)); var lumpSumNeedsAtDeath = GetDefaultIfNull(vm.finalExpenses) + GetDefaultIfNull(vm.otherDebtExpenses) + GetDefaultIfNull(vm.mortgageExpenses) + collegeFunding; var incomeNeeds = vm.totalAnnualIncome; decimal currentInvestmentCapital = GetDefaultIfNull(vm.currentRetirementSavings) + GetDefaultIfNull(vm.currentSavings); decimal existingLifeInsurance = GetDefaultIfNull(vm.existingLifeInsuranceValue); decimal presentValueOfSpouseIncomeNeeds = Math.Abs(BusinessRulesClass.CalculatePresentValueOfIncomeNeeds(inflationRate, vm.spouseTotalAnnualIncome == null ? 0.0M : Decimal.Multiply((1 - spouseTaxRate), GetDefaultIfNull(vm.spouseTotalAnnualIncome)), vm.spouseYearsOfIncomeLeft == null ? 0 : vm.spouseYearsOfIncomeLeft.Value)); decimal presentValueOfIncomeNeeds = BusinessRulesClass.CalculatePresentValueOfIncomeNeeds(insuredNeedsRate, Decimal.Multiply(-1.0M, (GetDefaultIfNull(vm.totalAnnualIncome))), vm.yearsOfIncomeLeft == null ? 0 : vm.yearsOfIncomeLeft.Value); var overallNeeds = BusinessRulesClass.CalculateOverallNeeds(presentValueOfIncomeNeeds, lumpSumNeedsAtDeath, currentInvestmentCapital, existingLifeInsurance, presentValueOfSpouseIncomeNeeds); var nm = new NeedsModel() { collegeFunding = collegeFunding, currentInvestmentCapital = currentInvestmentCapital, existingLifeInsurance = existingLifeInsurance, incomeNeeds = GetDefaultIfNull(incomeNeeds), lumpSumNeedsAtDeath = lumpSumNeedsAtDeath, overallNeeds = overallNeeds, presentValueOfIncomeNeeds = presentValueOfIncomeNeeds, presentValueOfSpouseIncomeNeeds = presentValueOfSpouseIncomeNeeds }; vm.CoverageAmount = this.GetOverallNeedsBasedOnBand(overallNeeds); vm.needsModel = nm; return(View(vm)); //send to view with the results /*} * else * { * TempData["ContactViewModel"] = new ContactViewModel { DenialMessage = eligibility.EligibilityMessage, IsReplacementReject = eligibility.IsReplacememtReject, State = eligibility.State }; * return RedirectToActionPermanent("Contact", "Contact"); * }*/ } catch (Exception ex) { TempData["ErrorMessage"] = ex.Message; var msg = "There was an error during the needs calculation."; vm.ViewMessages.Add(msg); return(View(vm)); } }
public ActionResult Index(QuoteViewModel vm) { try { //if coverage supplied, limit coverage to max of 1,000,000 based on age decimal maxCoverage = 0M; maxCoverage = QuoteViewModel.GetMaxCoverageBasedOnAge(vm.Age); vm.CoverageAmount = vm.CoverageAmount > maxCoverage ? maxCoverage : vm.CoverageAmount; //update coverage based on max /* * //override coverage based on health and smoker status * if ((vm.health == "OLI_UNWRITE_RATED" || vm.health == "OLI_UNWRITE_POOR") && vm.tobacco == "OLI_TOBACCO_CURRENT") * vm.CoverageAmount = 750000M; */ //override coverage based on risk class if (vm.Age < 56 && vm.CoverageAmount < 525000M && (vm.riskClass.TC == (int)QuoteViewModel.RiskClasses.RATED_TOBACCO || vm.riskClass.TC == (int)QuoteViewModel.RiskClasses.RATED2_NONTOBACCO || vm.riskClass.TC == (int)QuoteViewModel.RiskClasses.RATED2_TOBACCO)) { vm.CoverageAmount = 525000M; } // Determine eligibility EligibilityInfo eligibility = BusinessRulesClass.IsEligible(vm.Age, vm.stateInfo.Name, vm.tobacco, vm.health, null == vm.ReplacementPolicy ? false : vm.ReplacementPolicy.Value); // If eligible build XML and send to firelight if (eligibility.IsEligible) { // Build XMLs var client = new NewBusinessService.NewBusinessClient("CustomBinding_NewBusiness"); var addrUri = client.Endpoint.Address.Uri; var newUri = String.Format(addrUri.ToString(), Session["GCId"] ?? ""); var newAddress = new System.ServiceModel.EndpointAddress(newUri); client.Endpoint.Address = newAddress; var txLife = Create103(vm); NewBusinessService.TXLife response = client.SubmitNewBusinessApplication(txLife); var code = response.TXLifeResponse[0].TransResult.ResultCode.Value; //response code?? if (code == "RESULT_SUCCESS") { //redirect to url #if DEBUG string url = String.Format("https://staging.firelighteapp.com/egapp/PassiveCall.aspx?O=3138&C=D2C&refid={0}", response.TXLifeResponse[0].TransRefGUID ?? String.Empty, Session["GCId"] ?? String.Empty); #else string url = String.Format("https://www.firelighteapp.com/EGApp/PassiveCall.aspx?O=3138&C=D2C&refid={0}&GAT=UA-97044577-1&GAC={1}", response.TXLifeResponse[0].TransRefGUID ?? String.Empty, Session["GCId"] ?? String.Empty); #endif return(Redirect(url)); } else { //failed var msg = response.TXLifeResponse[0].TransResult.ResultInfo[0].ResultInfoDesc; vm.ViewMessages.Add("Web Service Returned a Failure Code: " + msg); return(View(vm)); } } else { TempData["ContactViewModel"] = new Models.ContactModel { denialMessage = eligibility.EligibilityMessage, isReplacementReject = eligibility.IsReplacememtReject, state = eligibility.State }; return(RedirectToActionPermanent("Contact", "Contact")); } } catch (Exception ex) { TempData["ErrorMessage"] = ex.Message; var msg = "There was an error connecting to the application portal."; vm.ViewMessages.Add(msg); return(View(vm)); } }