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));
        }