public LoanDetailsModel OpenConciergeCommandEmbedded(string workQueueType, string action, Guid loanId, string prospectId)
        {
            var user = ( UserAccount )HttpContext.Session[SessionHelper.UserData];

            if (action == "DefaultCommand")
            {
                if (workQueueType == "Prospects")
                {
                    action = loanId == Guid.Empty ? "Manage Prospects" : "Manage Loan Application";
                }
                else
                {
                    action = "Manage Loan Application";
                }
            }

            String additionalInformation = "";

            if (action == "Manage Disclosures")
            {
                additionalInformation = GeneralSettingsServiceFacade.RetrieveeSigningVendorIntegrationEnabled() &&
                                        LoanServiceFacade.RetrieveeSigningEnabledForLoan(loanId)
                                            ? "eSigning Room"
                                            : "";
            }

            var titleInformation = ConciergeWorkQueueServiceFacade.ExecuteSPGetBorrowerData("GetBorrowerData", loanId, user.UserAccountId);

            LeadSource leadSource  = LoanServiceFacade.RetrieveHearAboutUs(loanId);
            string     hearAboutUs = string.Empty;

            if (leadSource != null)
            {
                if (leadSource.AffinityGroup == Contracts.Affiliate.AffinityGroup.PartnersProfiles)
                {
                    if (leadSource.HBMId != null && leadSource.HBMId != Guid.Empty)
                    {
                        hearAboutUs = leadSource.LeadSourceId + " Realtor-HBM";
                    }
                    else
                    {
                        hearAboutUs = leadSource.LeadSourceId + " Realtor";
                    }
                }
                else
                {
                    hearAboutUs = leadSource.LeadSourceId + " " + leadSource.Description;
                }
            }

            return(new LoanDetailsModel {
                Title = action, TitleInformation = titleInformation, AdditionalInformation = additionalInformation, HearAboutUs = hearAboutUs
            });
        }
Ejemplo n.º 2
0
        private void LoadLeadSourceInformation(AppraisalViewModel userAppraisalViewModel, Guid loanId, Int32 prospectId, UserAccount user)
        {
            userAppraisalViewModel.TitleInformation = ConciergeWorkQueueServiceFacade.ExecuteSPGetBorrowerData("GetBorrowerData", loanId, user.UserAccountId);

            var leadSourceInformation = ContactServiceFacade.RetrieveLeadSourceByContactIdAndLoanId(prospectId, loanId, user.UserAccountId);

            if (leadSourceInformation != null)
            {
                userAppraisalViewModel.LeadSourceInformation = leadSourceInformation.LeadSourceId + " " + leadSourceInformation.Description;
            }
        }
        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);
        }
Ejemplo n.º 4
0
        public void Execute()
        {
            //bool hasPrivilegeForManagingQueues = ( base.HttpContext.Session[ SessionHelper.PrivilegeForManagingQueues ] is bool && ( bool )base.HttpContext.Session[ SessionHelper.PrivilegeForManagingQueues ] );

            if (!InputParameters.ContainsKey("LoanId"))
            {
                throw new ArgumentException("LoanId value was expected!");
            }

            Guid loanId = Guid.Parse(InputParameters["LoanId"].ToString().TrimEnd());

            UserAccount user = null;

            if (_httpContext.Session[SessionHelper.UserData] != null)
            {
                user = ( UserAccount )_httpContext.Session[SessionHelper.UserData];
            }

            BasicLoanData loan = LoanServiceFacade.RetrieveBasicLoanData(loanId, user.UserAccountId);

            var assignLoanInfoViewModel = new AssignLoanInfoViewModel {
                LosFolders = new List <LosFolder>()
            };
            bool    importToLosInProgress   = LoanServiceFacade.ImportToFNMInProgress(loanId);
            Boolean userCanChangeLoanNumber = UserAccountServiceFacade.IsUserAuthorizedForAction(user.UserAccountId, ActionCategory.ChangeLoanNumber);

            if (loan != null)
            {
                assignLoanInfoViewModel = new AssignLoanInfoViewModel
                {
                    ConciergeId           = loan.ConciergeId,
                    EnableDigitalDocsCall = loan.EnableDigitalDocsCall,
                    LoanId                  = loan.LoanId,
                    LoanNumber              = loan.LoanNumber,
                    LoaId                   = loan.LoaId,
                    LosFolders              = LoanServiceFacade.RetrieveLosFolders(user.UserAccountId).OrderBy(l => l.FolderName).ToList(),
                    ImportToLosInProgress   = importToLosInProgress,
                    UserCanChangeLoanNumber = userCanChangeLoanNumber,
                    CompanyId               = loan.CompanyId != Guid.Empty ? loan.CompanyId.ToString() : "0",
                    ChannelId               = loan.ChannelId != null ? (Int32)loan.ChannelId : 0,
                    DivisionId              = loan.DivisionId != null ? (Int32)loan.DivisionId : 0,
                    BranchId                = loan.BranchId != Guid.Empty ? ( Guid )loan.BranchId : Guid.Empty,
                    CallCenterId            = loan.CallCenterId
                };
            }


            var losFolder = LoanServiceFacade.RetrieveLosFolder(loanId, user.UserAccountId);

            if (!String.IsNullOrEmpty(losFolder))
            {
                assignLoanInfoViewModel.LosFolder = losFolder;
            }
            else
            {
                String defaultLosFolder = LoanServiceFacade.RetrieveDefaultLosFolder(user.UserAccountId);

                if (!String.IsNullOrEmpty(defaultLosFolder))
                {
                    assignLoanInfoViewModel.LosFolder = defaultLosFolder;
                }
            }

            var isLoa = false;

            if (user.Roles != null && user.Roles.Any(r => r.RoleName == RoleName.LoanOfficerAssistant && r.IsActive))
            {
                isLoa = true;
            }

            LoadCompanies(assignLoanInfoViewModel);

            LoadChannels(assignLoanInfoViewModel);

            LoadDivisions(assignLoanInfoViewModel);

            LoadBranches(assignLoanInfoViewModel);

            LoadRelatedConciergeList(assignLoanInfoViewModel, user, loan, loanId, null, isLoa);

            LoadRelatedLoaList(assignLoanInfoViewModel, user, loan, loanId, null, isLoa);

            LoadCallCenterList(assignLoanInfoViewModel, loan);

            if (user.Roles.Any(r => r.RoleName.Equals(RoleName.Administrator)))
            {
                //base.HttpContext.Session[ SessionHelper.UserAccountIds ] = null;
                // start filling user filters by loading companies
            }
            else if (user.Roles.Any(r => r.RoleName.Equals(RoleName.BranchManager)) || user.Roles.Any(r => r.RoleName.Equals(RoleName.TeamLeader)))
            {
                // load only related users
                //LoadRelatedUsers( assignLoanInfoViewModel, base.User );
            }

            var currentStep = LoanServiceFacade.RetrieveCurrentActivityNameAndLoanStatus(loanId, user.UserAccountId);

            assignLoanInfoViewModel.EnableDownload = (currentStep != null ? currentStep.PositionIndex > 1 : false);

            var urlaDeliveryMethod = new List <DropDownItem>();

            urlaDeliveryMethod.Add(new DropDownItem()
            {
                Selected = true, Text = "FannieMae32", Value = "0"
            });
            urlaDeliveryMethod.Add(new DropDownItem()
            {
                Selected = false, Text = "Mismo23", Value = "1"
            });
            assignLoanInfoViewModel.DownloadLink       = String.Format("/Downloader.axd?documentType=urla&loanId={0}&selectedFormatValue=0", _httpContext.Server.UrlEncode(EncryptionHelper.EncryptRijndael(loanId.ToString(), EncriptionKeys.Default)));
            assignLoanInfoViewModel.UrlaDeliveryMethod = urlaDeliveryMethod;
            if (currentStep != null)
            {
                assignLoanInfoViewModel.ActivityName = currentStep.ActivityName;
            }

            var leadSourceInformation = LoanServiceFacade.RetrieveHearAboutUs(loanId);

            if (leadSourceInformation != null)
            {
                if (leadSourceInformation.AffinityGroup == Contracts.Affiliate.AffinityGroup.PartnersProfiles)
                {
                    if (leadSourceInformation.HBMId != null && leadSourceInformation.HBMId != Guid.Empty)
                    {
                        assignLoanInfoViewModel.LeadSourceInformation = leadSourceInformation.LeadSourceId + " Realtor-HBM";
                    }
                    else
                    {
                        assignLoanInfoViewModel.LeadSourceInformation = leadSourceInformation.LeadSourceId + " Realtor";
                    }
                }
                else
                {
                    assignLoanInfoViewModel.LeadSourceInformation = leadSourceInformation.LeadSourceId + " " + leadSourceInformation.Description;
                }
            }

            assignLoanInfoViewModel.TitleInformation = ConciergeWorkQueueServiceFacade.ExecuteSPGetBorrowerData("GetBorrowerData", loanId, user.UserAccountId);

            _viewName  = "_assignloaninfo";
            _viewModel = assignLoanInfoViewModel;

            /* Persist new state */
            HttpContext.Session[SessionHelper.AssignLoanInfo] = assignLoanInfoViewModel.ToXml();
        }
        public void Execute()
        {
            #region Check and convert input parameters

            if (!InputParameters.ContainsKey("LoanId"))
            {
                throw new ArgumentException("LoanId value was expected!");
            }

            if (!InputParameters.ContainsKey("ProspectId"))
            {
                throw new ArgumentException("ProspectId value was expected!");
            }



            var user = AccountHelper.GetUserAccount(HttpContext);
            if (user == null)
            {
                throw new InvalidOperationException("UserData is null");
            }

            #endregion

            #region Update title information
            Guid  loanId     = Guid.Parse(InputParameters["LoanId"].ToString().TrimEnd());
            Int32 prospectId = Int32.Parse(InputParameters["ProspectId"].ToString().TrimEnd());

            BasicLoanData loan = LoanServiceFacade.RetrieveBasicLoanData(loanId, user.UserAccountId);

            ManageProspectsViewModel model = new ManageProspectsViewModel();
            model.ProspectId = prospectId;
            model.LoanId     = loanId;

            if (loan != null)
            {
                model.CompanyId  = loan.CompanyId != Guid.Empty ? loan.CompanyId.ToString() : "0";
                model.ChannelId  = loan.ChannelId != null ? ( Int32 )loan.ChannelId : 0;
                model.DivisionId = loan.DivisionId != null ? ( Int32 )loan.DivisionId : 0;
                model.BranchId   = loan.BranchId != Guid.Empty ? ( Guid )loan.BranchId : Guid.Empty;
            }
            else
            {
                Contact contactData = ContactServiceFacade.RetrieveContactByContactId(prospectId);
                if (contactData != null)
                {
                    model.CompanyId  = contactData.CompanyProfileId != Guid.Empty ? contactData.CompanyProfileId.ToString() : "0";
                    model.ChannelId  = contactData.ChannelId != null ? ( Int32 )contactData.ChannelId : 0;
                    model.DivisionId = contactData.DivisionId != null ? ( Int32 )contactData.DivisionId : 0;
                    model.BranchId   = contactData.BranchId != Guid.Empty ? ( Guid )contactData.BranchId : Guid.Empty;
                }
            }



            //var leadSource = ContactServiceFacade.RetrieveLeadSourceByContactIdAndLoanId( prospectId, loanId, user.UserAccountId );
            //model.LeadSourceInformation = leadSource != null ? leadSource.LeadSourceId + " " + leadSource.Description : String.Empty;
            LeadSource hearAboutUs = LoanServiceFacade.RetrieveHearAboutUs(loanId);

            if (hearAboutUs != null)
            {
                if (hearAboutUs.AffinityGroup == Contracts.Affiliate.AffinityGroup.PartnersProfiles)
                {
                    if (hearAboutUs.HBMId != null && hearAboutUs.HBMId != Guid.Empty)
                    {
                        model.HearAboutUs = hearAboutUs.LeadSourceId + " Realtor-HBM";
                    }
                    else
                    {
                        model.HearAboutUs = hearAboutUs.LeadSourceId + " Realtor";
                    }
                }
                else
                {
                    model.HearAboutUs = hearAboutUs.LeadSourceId + " " + hearAboutUs.Description;
                }
            }

            model.TitleInformation = ConciergeWorkQueueServiceFacade.ExecuteSPGetBorrowerData("GetBorrowerData", loanId, user.UserAccountId);

            #endregion

            #region Update emails

            var emailList = ContactServiceFacade.RetrieveSentEmailItems(prospectId, user.UserAccountId);
            if (emailList != null && emailList.Count > 0)
            {
                model.Emails = emailList;
            }

            #endregion

            #region Update Lists



            bool isLoa = false;
            if (user.Roles != null && user.Roles.Any(r => r.RoleName == RoleName.LoanOfficerAssistant && r.IsActive))
            {
                isLoa = true;
            }

            LoadCompanies(model);

            LoadChannels(model);

            LoadDivisions(model);

            LoadBranches(model);

            LoadRelatedConciergeList(model, user, loan, loanId, null, isLoa);

            LoadRelatedLoaList(model, user, loan, loanId, null, isLoa);

            // Get Call Center/Loan Processor Officers
            var callCenterInfos = UserAccountServiceFacade.RetrieveCallCenterInfo();

            if (callCenterInfos != null)
            {
                callCenterInfos = new Collection <CallCenterInfo>(callCenterInfos.OrderBy(l => l.CallCenterName).ToList());
                callCenterInfos.Insert(0, new CallCenterInfo()
                {
                    UserAccountId = 0, CallCenterName = "Select One"
                });
            }


            model.CallCenterInfoList = new Collection <CallCenterInfo>();
            model.CallCenterInfoList = callCenterInfos;

            #endregion

            #region Get Highest priority role
            if (user.Roles != null && user.Roles.Count() > 0)
            {
                var filteredRoles = user.Roles.OrderBy(r => r.RolePriority);
                if (filteredRoles != null && filteredRoles.FirstOrDefault() != null)
                {
                    var topPriorityRole       = filteredRoles.FirstOrDefault().RoleName;
                    var retrievedProspectData = ContactServiceFacade.RetrieveContactProspect(prospectId);

                    if (retrievedProspectData != null)
                    {
                        model.SelectedStatus    = retrievedProspectData.Status.ToString();
                        model.SelectedConcierge = retrievedProspectData.Concierge.ToString();
                        model.SelectedLoa       = retrievedProspectData.Loa.ToString();
                        if (model.CallCenterInfoList.FirstOrDefault(c => c.UserAccountId.Equals(retrievedProspectData.CallCenter)) != null)
                        {
                            model.SelectedCallCenter = model.CallCenterInfoList.FirstOrDefault(c => c.UserAccountId.Equals(retrievedProspectData.CallCenter)).UserAccountId.ToString();
                        }
                        if (model.ConciergeInfoList.FirstOrDefault(c => c.UserAccountId.Equals(retrievedProspectData.Concierge)) != null)
                        {
                            model.NMLSNumber = model.ConciergeInfoList.FirstOrDefault(c => c.UserAccountId.Equals(retrievedProspectData.Concierge)).NMLSNumber;
                        }
                    }
                }
            }
            #endregion

            //TODO: Move this in Lookup
            model.Statuses = new Collection <KeyValuePair <String, String> >();
            foreach (ContactStatus contactStatus in Enum.GetValues(typeof(ContactStatus)))
            {
                if (contactStatus != ContactStatus.None)
                {
                    model.Statuses.Add(new KeyValuePair <String, String>((( int )contactStatus).ToString(),
                                                                         MML.Web.LoanCenter.Helpers.LoanCenterEnumHelper.ContactStatusToString(contactStatus)));
                }
            }

            model.Statuses = new Collection <KeyValuePair <String, String> >(model.Statuses.OrderBy(s => s.Value).ToList());

            ViewName = "Commands/_manageprospects";
            ViewData = model;

            if (HttpContext == null || HttpContext.Session == null)
            {
                throw new NullReferenceException("Session is empty!");
            }

            HttpContext.Session[SessionHelper.ManageProspects] = model.ToXml();
        }
        private LoanDetailsViewModel GetLoanDetails(Guid loanId, int prospectId, UserAccount user, bool collapseSection)
        {
            var tempDetails = LoanServiceFacade.RetrieveWorkQueueItemDetails(loanId, prospectId, -1);

            LoanDetailsViewModel loanDetails = new LoanDetailsViewModel();

            string emptyField = "-";

            if (tempDetails != null)
            {
                CommonHelper.RetreiveContactDetailsFromWorkQueueItemDetails(tempDetails, loanDetails, user, emptyField);
                CommonHelper.RetreiveLoanDetailsFromWorkQueueItemDetails(tempDetails, loanDetails, user, emptyField);
            }

            loanDetails.TitleInformation = ConciergeWorkQueueServiceFacade.ExecuteSPGetBorrowerData("GetBorrowerData", loanId, user.UserAccountId);

            // var leadSourceInformation = ContactServiceFacade.RetrieveLeadSourceByContactIdAndLoanId( prospectId, loanId, user.UserAccountId );
            //if ( leadSourceInformation != null )
            //    loanDetails.LeadSourceInformation = leadSourceInformation.LeadSourceId + " " + leadSourceInformation.Description;

            LeadSource hearAboutUs = LoanServiceFacade.RetrieveHearAboutUs(loanId);

            if (hearAboutUs != null)
            {
                if (hearAboutUs.AffinityGroup == Contracts.Affiliate.AffinityGroup.PartnersProfiles)
                {
                    if (hearAboutUs.HBMId != null && hearAboutUs.HBMId != Guid.Empty)
                    {
                        loanDetails.HearAboutUs = hearAboutUs.LeadSourceId + " Realtor-HBM";
                    }
                    else
                    {
                        loanDetails.HearAboutUs = hearAboutUs.LeadSourceId + " Realtor";
                    }
                }
                else
                {
                    loanDetails.HearAboutUs = hearAboutUs.LeadSourceId + " " + hearAboutUs.Description;
                }
            }

            //List<BusinessContact> contacts = BusinessContactServiceFacade.RetrieveBusinessContacts( loanId );
            List <BusinessContact> contacts = BusinessContactServiceFacade.RetrieveBusinessContactsAppraisal(loanId);

            loanDetails.Contacts        = GetDisplayInformation(contacts);
            loanDetails.LoanId          = loanId;
            loanDetails.CollapseDetails = collapseSection;

            _httpContext.Session[SessionHelper.CurrentLoanIdForBusinessContact] = loanId;

            if (loanDetails.Contacts.FirstOrDefault(x => x.BusinessContactCategory == BusinessContactCategory.BuyerAgent) != null)
            {
                _httpContext.Session[SessionHelper.CurrentBusinessContactBuyerAgent] = loanDetails.Contacts.FirstOrDefault(x => x.BusinessContactCategory == BusinessContactCategory.BuyerAgent).CompanyName;
            }
            else
            {
                _httpContext.Session[SessionHelper.CurrentBusinessContactBuyerAgent] = String.Empty;
            }

            if (loanDetails.Contacts.FirstOrDefault(x => x.BusinessContactCategory == BusinessContactCategory.SellerAgent) != null)
            {
                _httpContext.Session[SessionHelper.CurrentBusinessContactSellerAgent] = loanDetails.Contacts.FirstOrDefault(x => x.BusinessContactCategory == BusinessContactCategory.SellerAgent).CompanyName;
            }
            else
            {
                _httpContext.Session[SessionHelper.CurrentBusinessContactSellerAgent] = String.Empty;
            }
            Dictionary <string, string> parameters = new Dictionary <string, string>();

            parameters.Add("contactType", "-1");
            parameters.Add("activeInactive", "null");
            parameters.Add("searchString", "Search");
            parameters.Add("currentPage", "1");
            parameters.Add("pageSize", "10");
            parameters.Add("requestMultiplePages", "null");
            parameters.Add("getNextPages", "null");
            parameters.Add("hasChildren", "null");
            parameters.Add("loanId", loanId.ToString());

            loanDetails.LoanCompaniesAndContactsModel = ContactHelper.GetLoanCompaniesAndContacts(HttpContext, parameters);

            return(loanDetails);
        }
Ejemplo n.º 7
0
        public LoanDetailsModel OpenConciergeCommandEmbedded(string workQueueType, string action, Guid loanId, string prospectId)
        {
            var    user  = (UserAccount)HttpContext.Session[SessionHelper.UserData];
            string title = action;

            if (action == "DefaultCommand")
            {
                if (workQueueType == "Prospects")
                {
                    action = loanId == Guid.Empty ? "Manage Prospects" : "Loan Conditions";
                }
                else
                {
                    action = "Condtions";
                    title  = "Loan Conditions";
                }
            }

            String additionalInformation = "";

            if (action == "Manage Disclosures")
            {
                additionalInformation = GeneralSettingsServiceFacade.RetrieveeSigningVendorIntegrationEnabled() &&
                                        LoanServiceFacade.RetrieveeSigningEnabledForLoan(loanId)
                                            ? "eSigning Room"
                                            : "";
            }

            if (action == "Conditions")
            {
                title = "Loan Conditions";
            }

            var titleInformation = ConciergeWorkQueueServiceFacade.ExecuteSPGetBorrowerData("GetBorrowerData", loanId, user.UserAccountId);

            LeadSource leadSource  = LoanServiceFacade.RetrieveHearAboutUs(loanId);
            string     hearAboutUs = string.Empty;

            if (leadSource != null)
            {
                if (leadSource.AffinityGroup == Contracts.Affiliate.AffinityGroup.PartnersProfiles)
                {
                    if (leadSource.HBMId != null && leadSource.HBMId != Guid.Empty)
                    {
                        hearAboutUs = leadSource.LeadSourceId + " Realtor-HBM";
                    }
                    else
                    {
                        hearAboutUs = leadSource.LeadSourceId + " Realtor";
                    }
                }
                else
                {
                    hearAboutUs = leadSource.LeadSourceId + " " + leadSource.Description;
                }
            }

            LoanServiceFacade loanServiceFacade = new LoanServiceFacade();
            var  reDesclosureExists             = loanServiceFacade.RetrieveLoanChangeIndicators(loanId, false);
            bool showRedisclosureTab            = reDesclosureExists != null && reDesclosureExists.ChangeOfCircumstanceList != null && reDesclosureExists.ChangeOfCircumstanceList.Count > 0;

            return(new LoanDetailsModel {
                Title = title, TitleInformation = titleInformation, AdditionalInformation = additionalInformation, HearAboutUs = hearAboutUs, LoanId = loanId, ShowRedisclosureTab = showRedisclosureTab
            });
        }
        public ConciergeCommandEmbedded OpenConciergeCommandEmbedded(string workQueueType, string action, Guid loanId, string prospectId, bool hideHeader)
        {
            var user = ( UserAccount )HttpContext.Session[SessionHelper.UserData];

            if (action == "DefaultCommand")
            {
                if (loanId != Guid.Empty)
                {
                    prospectId = String.Empty;
                }

                if (workQueueType == "Prospects")
                {
                    if (loanId == Guid.Empty)
                    {
                        action = "Manage Prospects";
                    }
                    else
                    {
                        action = "Manage Loan Application";
                    }
                }
                else
                {
                    action = "Manage Loan Application";
                }
            }

            String additionalInformation = "";

            if (action == "Manage Disclosures")
            {
                var disclosureModel = LoanServiceFacade.RetrieveDisclosureModel(loanId, IdentityManager.GetUserAccountId());

                additionalInformation = GeneralSettingsServiceFacade.RetrieveeSigningVendorIntegrationEnabled() &&
                                        LoanServiceFacade.RetrieveeSigningEnabledForLoan(loanId) && disclosureModel == DisclosuresModel.eSign
                                            ? "eSigning Room"
                                            : "";
            }

            Int32 tempuserAccount = 0;

            int         userAccountId = LoanServiceFacade.RetrieveUserAccountIdByLoanId(loanId, user.UserAccountId);
            UserAccount userAccount   = UserAccountServiceFacade.GetUserById(userAccountId);

            if (userAccount.IsTemporary)
            {
                tempuserAccount = userAccountId;
            }

            string conciergeUrl = GetConciergeUrl(new Guid(), workQueueType, action, loanId, prospectId, tempuserAccount);

            var titleInformation = ConciergeWorkQueueServiceFacade.ExecuteSPGetBorrowerData("GetBorrowerData", loanId, user.UserAccountId);

            if (userAccount.IsTemporary)
            {
                titleInformation = "";
            }

            var leadSourceInformation = ContactServiceFacade.RetrieveLeadSourceByContactIdAndLoanId(-1, loanId, user.UserAccountId);
            var leadSourceInfo        = String.Empty;

            if (leadSourceInformation != null)
            {
                if (leadSourceInformation.AffinityGroup == Contracts.Affiliate.AffinityGroup.PartnersProfiles)
                {
                    if (leadSourceInformation.HBMId != null && leadSourceInformation.HBMId != Guid.Empty)
                    {
                        leadSourceInfo = leadSourceInformation.LeadSourceId + " Realtor HBM";
                    }
                    else
                    {
                        leadSourceInfo = leadSourceInformation.LeadSourceId + " Realtor";
                    }
                }
                else
                {
                    leadSourceInfo = leadSourceInformation.LeadSourceId + " " + leadSourceInformation.Description;
                }
            }
            string title = action;

            switch (title)
            {
            case "Manage Loan Application":
                title = "Loan Application";
                break;

            case "Manage Loan":
                title = "Loan Details";
                break;

            case "Manage Disclosures":
                title = "Disclosures";
                break;

            case "Manage Documents":
                title = "Documents";
                break;

            case "Manage Appraisal":
                title = "Appraisal";
                break;

            case "Manage Activities":
                title = "Activities";
                break;

            case "Manage Alerts":
                title = "Alerts";
                break;

            case "Manage Credit":
                title = "Credit";
                break;
            }

            if (userAccount.IsTemporary && title == "Loan Application")
            {
                title = "Create Account";
            }

            return(new ConciergeCommandEmbedded()
            {
                Title = title, TitleInformation = titleInformation, ConciergeUrl = conciergeUrl, LeadSourceInformation = leadSourceInfo, AdditionalInformation = additionalInformation, HideHeader = hideHeader
            });
        }
Ejemplo n.º 9
0
        public void Execute()
        {
            var user = AccountHelper.GetUserAccount(HttpContext);

            if (user == null)
            {
                throw new InvalidOperationException("UserData is null");
            }

            Guid loanId = Guid.Empty;

            if (!InputParameters.ContainsKey("LoanId"))
            {
                throw new ArgumentException("LoanId was expected!");
            }
            else
            {
                Guid.TryParse(InputParameters["LoanId"].ToString(), out loanId);
            }

            LoanServicesViewModel loanServicesViewModel = new LoanServicesViewModel();

            if (loanId != Guid.Empty)
            {
                // used for testing purposes only - REMOVE OTHERWISE
                //loanId = new Guid( "4DAE6B31-3DA8-42EB-BCAC-8F0D661646AB" );

                // Get filters
                var filters = LoanServiceFacade.RetrieveLoanServiceFilters(loanId);
                if (filters == null)
                {
                    filters = new LoanServiceFiltersContract();
                }

                // If no product filters were returned init the array
                if (filters.Products == null)
                {
                    filters.Products = new string[0];
                }
                List <string> productFilters = new List <string>(filters.Products.OrderBy(x => x));
                productFilters.Insert(0, "[None]");
                filters.Products = productFilters.ToArray();

                // If no vendor filters were returned init the array
                if (filters.Vendors == null)
                {
                    filters.Vendors = new string[0];
                }
                List <string> vendorFilters = new List <string>(filters.Vendors.OrderBy(x => x));
                vendorFilters.Insert(0, "[None]");
                filters.Vendors = vendorFilters.ToArray();

                // If no status filters were returned init the array
                if (filters.Statuses == null)
                {
                    filters.Statuses = new string[0];
                }
                List <string> statusFilters = new List <string>(filters.Statuses.OrderBy(x => x));
                statusFilters.Insert(0, "[None]");
                filters.Statuses = statusFilters.ToArray();

                loanServicesViewModel.AvailableFilters = filters;

                // Fetch the loan services themselves
                loanServicesViewModel.LoanServiceList = LoanServiceFacade.RetrieveLoanServices(loanId);
            }

            #region Update title information

            var leadSource = ContactServiceFacade.RetrieveLeadSourceByContactIdAndLoanId(-1, loanId, user.UserAccountId);
            loanServicesViewModel.LeadSourceInformation = leadSource != null ? leadSource.LeadSourceId + " " + leadSource.Description : String.Empty;
            loanServicesViewModel.TitleInformation      = ConciergeWorkQueueServiceFacade.ExecuteSPGetBorrowerData("GetBorrowerData", loanId, user.UserAccountId);

            #endregion

            _viewName  = "_loanservices";
            _viewModel = loanServicesViewModel;

            // Rihad:This might be to big for keeping it in session:
            //_httpContext.Session[ SessionHelper.LoanServiceList ] = loanServicesViewModel.LoanServiceList.ToXml();
        }