private void LoadOrderAppraisalDataFull(AppraisalViewModel userAppraisalViewModel, UserAccount user) { // Create request object RetrieveOrderAppraisalDataFull request = new RetrieveOrderAppraisalDataFull() { LoanId = _loanId }; // Call iMP platform var results = new Proxy().Send("RetrieveOrderAppraisalWorkflow", new Dictionary <string, object> { { "Request", request } }); // Get results object responseMessageSuccess; results.TryGetValue("Response", out responseMessageSuccess); Loan loanWithAppraisals = responseMessageSuccess as Loan; if (loanWithAppraisals != null) { userAppraisalViewModel.Loan = loanWithAppraisals; if (userAppraisalViewModel.Loan.OrderAppraisals != null) { for (int i = 0; i < loanWithAppraisals.OrderAppraisals.Count; i++) { if (loanWithAppraisals.OrderAppraisals[i].OrderAppraisalProductsFees == null || loanWithAppraisals.OrderAppraisals[i].OrderAppraisalProductsFees.Count == 0) { GetProductsAndFees(userAppraisalViewModel, i); } else if (loanWithAppraisals.OrderAppraisals[i].OrderAppraisalProductsFees != null && loanWithAppraisals.OrderAppraisals[i].OrderAppraisalProductsFees.Count > 0) { //Split Appraisal Condition string loanWithAppraisals.OrderAppraisals[i].AppraisalCondition = loanWithAppraisals.OrderAppraisals[i].AppraisalCondition.SplitCamelCase(); } // Need to refactor this later we don't want to add empty fees in list var additionalItems = 7 - (loanWithAppraisals.OrderAppraisals[i].OrderAppraisalProductsFees != null ? loanWithAppraisals.OrderAppraisals[i].OrderAppraisalProductsFees.Count : 0); for (var j = 0; j < additionalItems; j++) { loanWithAppraisals.OrderAppraisals[i].OrderAppraisalProductsFees.Add(new OrderAppraisalProductFee()); } } userAppraisalViewModel.ActualInvestor = LoanServiceFacade.RetrieveInvestorName(userAppraisalViewModel.Loan.ProgramName).InvestorName; } } else { userAppraisalViewModel.Loan.OrderAppraisals.Add(new OrderAppraisalFull()); } }