public ActionResult RetrieveSmartGfeData(ManageFeesViewModel model) { ModelState.Clear(); var loan = LoanServiceFacade.RetrieveLoan(model.TitleAndEscrow.LoanId, false, model.TitleAndEscrow.UserAccountId); var costGroupNumber11 = model.TitleAndEscrow.CostGroups.First(c => c.CostGroupNumber == 11); var costGroupNumber12 = model.TitleAndEscrow.CostGroups.First(c => c.CostGroupNumber == 12); var closingCostRequestId = IntegrationLogServiceFacade.GetClosingCorpXmlForLoanId(model.TitleAndEscrow.LoanId, model.TitleAndEscrow.UserAccountId); var defaultCostCalculation = new DefaultCostCalculation() { LoanId = model.TitleAndEscrow.LoanId, ClosingCostRequestId = closingCostRequestId, FeeProvider = model.TitleAndEscrow.FeeProvider, MortgageType = loan.MortgageType, PropertyValue = loan.SubjectProperty.CurrentEstimatedValue.HasValue ? ( decimal )loan.SubjectProperty.CurrentEstimatedValue : 0, LoanAmount = ( decimal )loan.BaseLoanAmount, StateName = loan.SubjectProperty.Address == null ? null : loan.SubjectProperty.Address.StateName, PropertyType = loan.SubjectProperty.PropertyType, InvestorName = loan.InvestorName, CompanyProfile = CompanyProfileServiceFacade.RetrieveCompanyProfile(), LoanTransactionTypeId = loan.LoanType }; costGroupNumber11 = CostServiceFacade.RetrieveCostFromSmartGfe(defaultCostCalculation, model.TitleAndEscrow.UserAccountId, costGroupNumber11); costGroupNumber12 = CostServiceFacade.RetrieveCostFromSmartGfe(defaultCostCalculation, model.TitleAndEscrow.UserAccountId, costGroupNumber12); ManageFeesHelper.PreselectDefaultCosts(costGroupNumber11); ManageFeesHelper.PreselectDefaultCosts(costGroupNumber12); var group1100Index = model.TitleAndEscrow.CostGroups.FindIndex(g => g.CostGroupNumber == 11); model.TitleAndEscrow.CostGroups.RemoveAt(group1100Index); model.TitleAndEscrow.CostGroups.Insert(group1100Index, costGroupNumber11); var group1200Index = model.TitleAndEscrow.CostGroups.FindIndex(g => g.CostGroupNumber == 12); model.TitleAndEscrow.CostGroups.RemoveAt(group1200Index); model.TitleAndEscrow.CostGroups.Insert(group1200Index, costGroupNumber12); var itemize = GeneralSettingsServiceFacade.RetrieveStatusByGeneralSettingsName("Itemize Lender Credit", Guid.Empty, 0); LoanHelper.PerformPTCCalculationsForTitleEscrow(model.TitleAndEscrow.CostGroups, itemize); ManageFeesHelper.PopulateComboBoxes(model); ManageFeesHelper.SetTitleAndEscrowModel(model); return(PartialView("Commands/ManageFees/_manageFeeSmartGfeSection", model)); }