public static void PopulateComboBoxes(ManageFeesViewModel model) { var file = DocumentsServiceFacade.GetLatestFileByLoanIdAndDocumentClass(model.TitleAndEscrow.LoanId, DocumentClass.SmartGFEComplianceCertificate, model.TitleAndEscrow.UserAccountId); if (file != null && file.FileStoreItemId != Guid.Empty) { model.TitleAndEscrow.SmartGfeDocumentLink = HttpUtility.UrlEncode(EncryptionHelper.EncryptRijndael(file.FileStoreItemId.ToString(), EncriptionKeys.Default)); if (!model.TitleAndEscrow.SmartGFEEnabled.HasValue) { model.TitleAndEscrow.SmartGFEEnabled = model.TitleAndEscrow.SmartGFEEnabledOriginalValue = true; } } model.TitleAndEscrow.ListPaidBy = new List <string>(); var ddlValues = LookupServiceFacade.Lookup(LookupKeywords.CostPaidBy, model.TitleAndEscrow.UserAccountId); foreach (var c in ddlValues) { model.TitleAndEscrow.ListPaidBy.Add(c.StringValue); } model.TitleAndEscrow.ListPaidTo = new List <string>(); ddlValues = LookupServiceFacade.Lookup(LookupKeywords.CostPaidTo, model.TitleAndEscrow.UserAccountId); foreach (var c in ddlValues) { model.TitleAndEscrow.ListPaidTo.Add(c.StringValue); } model.TitleAndEscrow.ListWhen = new List <string>(); ddlValues = LookupServiceFacade.Lookup(LookupKeywords.CostPaidWhen, model.TitleAndEscrow.UserAccountId); foreach (var c in ddlValues) { model.TitleAndEscrow.ListWhen.Add(c.StringValue); } }
public void Execute() { #region Check and convert input parameters if (!InputParameters.ContainsKey("LoanId")) { throw new ArgumentException("LoanId value was expected!"); } Guid loanId; Guid.TryParse(InputParameters["LoanId"].ToString().TrimEnd(), out loanId); var user = AccountHelper.GetUserAccount(HttpContext); if (user == null) { throw new InvalidOperationException("UserData is null"); } #endregion var model = new ManageFeesViewModel(); model.TitleAndEscrow = ManageFeesHelper.GetCostByLoanId(loanId, user, HttpContext); ManageFeesHelper.SetTitleAndEscrowModel(model); ViewName = "Commands/ManageFees/_manageFees"; ViewData = model; }
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)); }
public static void SetTitleAndEscrowModel(ManageFeesViewModel model) { var feeTitles801 = Enum.GetValues(typeof(FeeTitles801)).Cast <FeeTitles801>().Select(title => title.GetStringValue()).ToList <string>(); var feeTitles804To820 = Enum.GetValues(typeof(FeeTitles804To820)).Cast <FeeTitles804To820>().Select(title => title.GetStringValue()).ToList <string>(); var feeTitles900 = Enum.GetValues(typeof(FeeTitles900)).Cast <FeeTitles900>().Select(title => title.GetStringValue()).ToList <string>(); var feeTitles1000 = Enum.GetValues(typeof(FeeTitles1000)).Cast <FeeTitles1000>().Select(title => title.GetStringValue()).ToList <string>(); var feeTitles1100 = Enum.GetValues(typeof(FeeTitles1100)).Cast <FeeTitles1100>().Select(title => title.GetStringValue()).ToList <string>(); var feeTitles1200 = Enum.GetValues(typeof(FeeTitles1200)).Cast <FeeTitles1200>().Select(title => title.GetStringValue()).ToList <string>(); var feeTitles1302To1307 = Enum.GetValues(typeof(FeeTitles1302To1307)).Cast <FeeTitles1302To1307>().Select(title => title.GetStringValue()).ToList <string>(); var feeTitles1308To1311 = Enum.GetValues(typeof(FeeTitles1308To1311)).Cast <FeeTitles1308To1311>().Select(title => title.GetStringValue()).ToList <string>(); PrepareFeeTitlesDropdown(feeTitles801); model.FeeTitles801 = feeTitles801; PrepareFeeTitlesDropdown(feeTitles804To820); model.FeeTitles804To820 = feeTitles804To820; PrepareFeeTitlesDropdown(feeTitles900); model.FeeTitles900 = feeTitles900; PrepareFeeTitlesDropdown(feeTitles1000); model.FeeTitles1000 = feeTitles1000; PrepareFeeTitlesDropdown(feeTitles1100); model.FeeTitles1100 = feeTitles1100; PrepareFeeTitlesDropdown(feeTitles1200); model.FeeTitles1200 = feeTitles1200; PrepareFeeTitlesDropdown(feeTitles1302To1307); model.FeeTitles1302To1307 = feeTitles1302To1307; PrepareFeeTitlesDropdown(feeTitles1308To1311); model.FeeTitles1308To1311 = feeTitles1308To1311; var leadSource = LoanServiceFacade.RetrieveHearAboutUs(model.TitleAndEscrow.LoanId); model.LeadSourceInformation = leadSource != null ? leadSource.LeadSourceId + " " + leadSource.Description : String.Empty; model.TitleInformation = ConciergeWorkQueueServiceFacade.ExecuteSPGetBorrowerData("GetBorrowerData", model.TitleAndEscrow.LoanId, model.TitleAndEscrow.UserAccountId); }
public ActionResult SaveCosts(ManageFeesViewModel model) { try { var group1200Index = model.TitleAndEscrow.CostGroups.FindIndex(g => g.CostGroupNumber == 12); foreach (var cost in model.TitleAndEscrow.CostGroups[group1200Index].Costs) { if (!String.IsNullOrEmpty(cost.Name)) { cost.TotalRow = cost.Name.Contains("1203") ? "1203" : cost.Name.Contains("1201") ? "1201" : null; cost.Name = cost.Name.Contains("1203") ? cost.Name.Replace(" - 1203", String.Empty) : cost.Name.Contains("1201") ? cost.Name.Replace(" - 1201", String.Empty) : cost.Name; } } if (model.TitleAndEscrow.SmartGFEEnabled.HasValue) { var group1100Index = model.TitleAndEscrow.CostGroups.FindIndex(g => g.CostGroupNumber == 11); if (!model.TitleAndEscrow.SmartGFEEnabled.Value && model.TitleAndEscrow.SmartGFEEnabledOriginalValue) { var costs1100Exist = false; foreach (var cost in model.TitleAndEscrow.CostGroups[group1100Index].Costs) { if (cost.Amount > 0 || cost.FromBorrowerFunds > 0) { costs1100Exist = true; break; } } var costs1200Exist = false; foreach (var cost in model.TitleAndEscrow.CostGroups[group1200Index].Costs) { if (cost.Amount > 0 || cost.FromBorrowerFunds > 0) { costs1200Exist = true; break; } } // If user disabled SmartGFE, but removed all fees -> re-enable to SmartGFE if (!costs1100Exist && !costs1200Exist) { model.TitleAndEscrow.SmartGFEEnabled = true; } } if (model.TitleAndEscrow.SmartGFEEnabled.Value) { if (model.TitleAndEscrow.SmartGFEEnabledOriginalValue) { //If SmartGFE is turned on, do not update fees in section 1100 and 1200 as they are locked model.TitleAndEscrow.CostGroups.RemoveAt(group1100Index); group1200Index = model.TitleAndEscrow.CostGroups.FindIndex(g => g.CostGroupNumber == 12); model.TitleAndEscrow.CostGroups.RemoveAt(group1200Index); } else { // If SmartGFE was manually turned back on, remove locked flags for all fees in sections 1100 and 1200 foreach (var cost in model.TitleAndEscrow.CostGroups[group1100Index].Costs) { cost.IsLocked = false; } foreach (var cost in model.TitleAndEscrow.CostGroups[group1200Index].Costs) { cost.IsLocked = false; } } } } CostServiceFacade.UpdateCostsByTitleAndEscrow(model.TitleAndEscrow, IdentityManager.GetUserAccountId()); } catch (Exception ex) { TraceHelper.Error(TraceCategory.LoanCenterController, "An error occurred in MangeFeesController! SaveCosts(ManageFeesViewModel model)", ex); } return(RedirectToAction("Execute", "Command", new { command = "ManageFees,LoanId=" + model.TitleAndEscrow.LoanId })); }