public static List <SelectListItem> PopulateProspectLoanOfficers(FilterViewModel userFilterViewModel, HttpContextBase _httpContext)
        {
            Guid branchId = Guid.Empty;

            if ((_httpContext != null) && (_httpContext.Session[SessionHelper.BranchId] is Guid))
            {
                branchId = ( Guid )_httpContext.Session[SessionHelper.BranchId];
            }

            if ((_httpContext != null) && (_httpContext.Session["FilterViewModel"] != null) && branchId != Guid.Empty)
            {
                userFilterViewModel.UsersForProspect.Clear();

                userFilterViewModel.UsersForProspect.Add(_emptyItem);

                var result = UserAccountServiceFacade.GetUsersFullName(branchId, false);

                if (result != null)
                {
                    foreach (var userAccount in result.OrderBy(r => r.FullName))
                    {
                        userFilterViewModel.UsersForProspect.Add(new SelectListItem()
                        {
                            Text  = userAccount.FullName,
                            Value = userAccount.UserAccountId.ToString()
                        });
                    }
                }

                return(userFilterViewModel.UsersForProspect.ToList());
            }

            return(new List <SelectListItem>());
        }
        private void ValidateEmail(BorrowerModel borrowerModel)
        {
            if (borrowerModel.Borrower != null && borrowerModel.Borrower.BorrowerPersonalInfo != null &&
                !borrowerModel.Borrower.IsOnline)
            {
                var borrowerParty = UserAccountServiceFacade.GetPartyByUserAccountId(borrowerModel.Borrower.UserAccountId);
                if (borrowerParty.EmailAddress != borrowerModel.Borrower.BorrowerPersonalInfo.BorrowerEmailAddress &&
                    !UserAccountServiceFacade.IsUsernameAvailability(
                        borrowerModel.Borrower.BorrowerPersonalInfo.BorrowerEmailAddress))
                {
                    ModelState.AddModelError("Borrower.BorrowerPersonalInfo.BorrowerEmailAddress",
                                             @"Email address for Borrower is already in use .");
                }
            }

            if (borrowerModel.CoBorrower != null && borrowerModel.CoBorrower.BorrowerPersonalInfo != null &&
                !borrowerModel.CoBorrower.IsOnline)
            {
                var coborrowerParty = UserAccountServiceFacade.GetPartyByUserAccountId(borrowerModel.CoBorrower.UserAccountId);
                if (coborrowerParty.EmailAddress != borrowerModel.CoBorrower.BorrowerPersonalInfo.BorrowerEmailAddress &&
                    !UserAccountServiceFacade.IsUsernameAvailability(
                        borrowerModel.CoBorrower.BorrowerPersonalInfo.BorrowerEmailAddress))
                {
                    ModelState.AddModelError("CoBorrower.BorrowerPersonalInfo.BorrowerEmailAddress",
                                             @"Email address for Co-Borrower is already in use .");
                }
            }
        }
Beispiel #3
0
        private void LoadCallCenterList(AssignLoanInfoViewModel assignLoanInfoViewModel, BasicLoanData loan)
        {
            assignLoanInfoViewModel.CallCenterInfoList = new Collection <CallCenterInfo>();
            // 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"
                });

                assignLoanInfoViewModel.CallCenterInfoList = callCenterInfos;
            }

            if (loan != null)
            {
                if (loan.CallCenterId != null && loan.CallCenterId != -1)
                {
                    assignLoanInfoViewModel.SelectedCallCenter = assignLoanInfoViewModel.CallCenterInfoList.FirstOrDefault(c => c.UserAccountId.Equals(loan.CallCenterId)).UserAccountId.ToString();
                }
            }
        }
        private void LoadRelatedConciergeList(ManageProspectsViewModel manageProspectViewModel, UserAccount user, BasicLoanData loan, Guid loanId, int?contactId = null, Boolean?isLoa = null)
        {
            Guid companyId  = Guid.Empty;
            int  channelId  = 0;
            int  divisionId = 0;

            if (manageProspectViewModel.CompanyId != null && manageProspectViewModel.CompanyId != "-1" && manageProspectViewModel.CompanyId != "0")
            {
                companyId = Guid.Parse(manageProspectViewModel.CompanyId);
            }

            if (manageProspectViewModel.ChannelId > 0)
            {
                channelId = manageProspectViewModel.ChannelId;
            }

            if (manageProspectViewModel.DivisionId > 0)
            {
                divisionId = manageProspectViewModel.DivisionId;
            }

            var conciergeList = !WebCommonHelper.LicensingEnabled() ?
                                UserAccountServiceFacade.RetrieveConciergeInfo(null, null, null, null, companyId, channelId, divisionId, manageProspectViewModel.BranchId) :
                                UserAccountServiceFacade.RetrieveConciergeInfo(loanId, manageProspectViewModel.ProspectId, isLoa, user.UserAccountId, companyId, channelId, divisionId, manageProspectViewModel.BranchId);

            if (conciergeList != null)
            {
                conciergeList.Insert(0, new ConciergeInfo()
                {
                    NMLSNumber = "", ConciergeName = "Select One", UserAccountId = 0
                });
            }

            manageProspectViewModel.ConciergeInfoList = conciergeList;
        }
        private GetStarted StartNewProspectFromManageProspects(Guid loanId, int userAccountId, int contactId)
        {
            UserAccount concierge = null;

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

            if (userAccountId <= 0)
            {
                userAccountId = LoanServiceFacade.RetrieveUserAccountIdByLoanId(loanId, userAccountId);
                LoanServiceFacade.ViewInBorrower(concierge.UserAccountId, loanId, userAccountId);
            }

            UserAccount user = UserAccountServiceFacade.GetUserById(userAccountId);

            if (user == null)
            {
                return(null);
            }

            Guid token      = MML.Common.Impersonation.ImpersonationToken.GetToken();
            bool isInserted = ImpersonationTokenServiceFacade.InsertImpersonationToken(token, loanId, userAccountId);

            if (!isInserted)
            {
                return(null);
            }

            GetStartedHelper getStartedHelper = new GetStartedHelper();

            return(getStartedHelper.GetStarted(HttpContext, concierge, token, user.Username, true, contactId, loanId, openInterviewPage: 1));
        }
Beispiel #6
0
        private void LoadRelatedLoaList(AssignLoanInfoViewModel assignLoanInfoViewModel, UserAccount user, BasicLoanData loan, Guid loanId, int?contactId = null, Boolean?isLoa = null)
        {
            Guid companyId  = Guid.Empty;
            int  channelId  = 0;
            int  divisionId = 0;

            if (assignLoanInfoViewModel.CompanyId != null && assignLoanInfoViewModel.CompanyId != "-1" && assignLoanInfoViewModel.CompanyId != "0")
            {
                companyId = Guid.Parse(assignLoanInfoViewModel.CompanyId);
            }

            if (assignLoanInfoViewModel.ChannelId > 0)
            {
                channelId = assignLoanInfoViewModel.ChannelId;
            }

            if (assignLoanInfoViewModel.DivisionId > 0)
            {
                divisionId = assignLoanInfoViewModel.DivisionId;
            }

            var loaList = UserAccountServiceFacade.RetrieveLOAInfo(companyId, channelId, divisionId, assignLoanInfoViewModel.BranchId, true);

            if (loaList != null && !loaList.Any(d => d.ConciergeName == "Select One"))
            {
                loaList.Insert(0, new ConciergeInfo()
                {
                    NMLSNumber = "", ConciergeName = "Select One", UserAccountId = 0
                });
            }

            assignLoanInfoViewModel.LoaList = loaList;
        }
        public void ExecuteAsync(string command)
        {
            // The command can contain some long running operation
            // we run as async by queing the action on a separate thread
            AsyncManager.QueueAction(() =>
            {
                UserAccount user = null;
                if (Session[SessionHelper.UserData] != null && ((UserAccount)Session[SessionHelper.UserData]).Username == User.Identity.Name)
                {
                    user = (UserAccount)Session[SessionHelper.UserData];
                }
                else
                {
                    user = UserAccountServiceFacade.GetUserByName(User.Identity.Name);
                }

                if (user == null)
                {
                    throw new InvalidOperationException("User is null");
                }
                else
                {
                    Session[SessionHelper.UserData] = user;
                }

                var result = CommandInvoker.InvokeFromCompositeString(command, HttpContext);

                AsyncManager.Parameters["ViewName"] = result.ViewName;
                AsyncManager.Parameters["ViewData"] = result.ViewData;
            });
        }
Beispiel #8
0
        /// <summary>
        /// View in Borrower
        /// </summary>
        /// <param name="loanId"></param>
        /// <returns></returns>
        public String ViewInBorrower(Guid loanId, string userAccId)
        {
            int userAccountId = 0;

            int.TryParse(userAccId, out userAccountId);

            if (userAccountId == 0)
            {
                userAccountId = LoanServiceFacade.RetrieveUserAccountIdByLoanId(loanId, -1);
            }

            UserAccount concierge = ( UserAccount )HttpContext.Session["UserData"];

            LoanServiceFacade.ViewInBorrower(concierge.UserAccountId, loanId, userAccountId);

            UserAccount user = UserAccountServiceFacade.GetUserById(userAccountId);

            Guid token      = MML.Common.Impersonation.ImpersonationToken.GetToken();
            bool isInserted = ImpersonationTokenServiceFacade.InsertImpersonationToken(token, loanId, userAccountId);

            GetStartedHelper getStartedHelper = new GetStartedHelper();
            GetStarted       getStarted       = getStartedHelper.GetStarted(HttpContext, concierge, token, user.Username, false, loanId: loanId);

            return(getStarted.BorrowerUrl);
        }
        public String GetNMLS(String conciergeId)
        {
            Int32 userAccountId = 0;

            Int32.TryParse(conciergeId, out userAccountId);
            return(UserAccountServiceFacade.RetrieveNMLSNumber(userAccountId));
        }
Beispiel #10
0
        /// <summary>
        /// Check if user has privilege
        /// </summary>
        /// <param name="privilege"></param>
        /// <returns></returns>
        public static bool HasPrivilege(string privilege, HttpContext httpContext = null)
        {
            if (httpContext == null)
            {
                httpContext = HttpContext.Current ?? null;
            }

            if (httpContext == null || !httpContext.User.Identity.IsAuthenticated || httpContext.Session[SessionHelper.UserData] == null)
            {
                return(false);
            }

            List <RolePrivilege> privileges;

            if (httpContext.Session[SessionHelper.PrivilegeForUser] == null)
            {
                var user = ( UserAccount )httpContext.Session[SessionHelper.UserData];
                privileges = (UserAccountServiceFacade.GetRolePrivileges(user.UserAccountId)).ToList();
                httpContext.Session[SessionHelper.PrivilegeForUser] = privileges;
            }
            else
            {
                privileges = (List <RolePrivilege>)httpContext.Session[SessionHelper.PrivilegeForUser];
            }

            return(privileges != null && privileges.Any(p => p.Name != null && p.Name.Trim().ToLower() == privilege.Trim().ToLower()));
        }
Beispiel #11
0
        public void Execute()
        {
            UserAccount user = null;

            if (_httpContext.Session[SessionHelper.UserData] != null && ((UserAccount)_httpContext.Session[SessionHelper.UserData]).Username == _httpContext.User.Identity.Name)
            {
                user = (UserAccount)_httpContext.Session[SessionHelper.UserData];
            }
            else
            {
                user = UserAccountServiceFacade.GetUserByName(_httpContext.User.Identity.Name);
            }

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

            /* parameter processing */
            Int32 contactId = 0;

            if (InputParameters.ContainsKey("ContactId"))
            {
                int.TryParse(InputParameters["ContactId"].ToString(), out contactId);
            }

            Guid loanId = Guid.Empty;

            if (InputParameters.ContainsKey("LoanId"))
            {
                Guid.TryParse(InputParameters["LoanId"].ToString(), out loanId);
            }

            var tempDetails = LoanServiceFacade.RetrieveWorkQueueItemDetails(loanId, contactId, -1);
            LoanDetailsViewModel loanDetails = new LoanDetailsViewModel();

            string emptyField = "-";

            if (tempDetails == null)
            {
                tempDetails = new WorkQueueItemDetails();
            }
            else
            {
                CommonHelper.RetreiveLoanDetailsFromWorkQueueItemDetails(tempDetails, loanDetails, user, emptyField);
            }

            if (loanDetails != null)
            {
                _viewName  = "_loanpurposeoncontact";
                _viewModel = loanDetails;
            }
            else
            {
                _viewName  = string.Empty;
                _viewModel = null;
            }
        }
Beispiel #12
0
        public void Execute()
        {
            String searchValue = CommonHelper.GetSearchValue(_httpContext);

            AlertsViewModel alertsViewModel = _httpContext.Session[SessionHelper.AlertViewModel] != null ?
                                              new AlertsViewModel().FromXml(_httpContext.Session[SessionHelper.AlertViewModel].ToString()) :
                                              new AlertsViewModel();


            AlertsListState alertsListState = _httpContext.Session[SessionHelper.AlertsListState] != null ?
                                              (AlertsListState)_httpContext.Session[SessionHelper.AlertsListState] :
                                              new AlertsListState();

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

            alertsListState.LoanPurposeFilter = InputParameters["LoanPurposeFilter"].ToString() == "0" ? "" : InputParameters["LoanPurposeFilter"].ToString();

            UserAccount user = _httpContext.Session[SessionHelper.UserData] != null && ((UserAccount)_httpContext.Session[SessionHelper.UserData]).Username == _httpContext.User.Identity.Name
                                   ? (UserAccount)_httpContext.Session[SessionHelper.UserData]
                                   : UserAccountServiceFacade.GetUserByName(_httpContext.User.Identity.Name);

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

            // on date filter change, reset page number
            alertsListState.CurrentPage = 1;

            FilterViewModel userFilterViewModel = null;

            if ((_httpContext != null) && (_httpContext.Session[SessionHelper.FilterViewModel] != null))
            {
                userFilterViewModel = new FilterViewModel().FromXml(_httpContext.Session[SessionHelper.FilterViewModel].ToString());
            }
            else
            {
                userFilterViewModel = new FilterViewModel();
            }

            alertsViewModel = AlertsDataHelper.RetrieveAlertViewModel(alertsListState,
                                                                      _httpContext.Session[SessionHelper.UserAccountIds] != null
                                                                            ? (List <int>)_httpContext.Session[SessionHelper.UserAccountIds]
                                                                            : new List <int> {
            }, alertsListState.BoundDate, user.UserAccountId, userFilterViewModel.CompanyId, userFilterViewModel.ChannelId, userFilterViewModel.DivisionId, userFilterViewModel.BranchId, searchValue);


            _viewName  = "Queues/_alerts";
            _viewModel = alertsViewModel;

            /* Persist new state */
            _httpContext.Session[SessionHelper.AlertViewModel]  = alertsViewModel.ToXml();
            _httpContext.Session[SessionHelper.AlertsListState] = alertsListState;
        }
Beispiel #13
0
        public void Execute()
        {
            UserAccount user = null;

            if (_httpContext.Session[SessionHelper.UserData] != null && ((UserAccount)_httpContext.Session[SessionHelper.UserData]).Username == _httpContext.User.Identity.Name)
            {
                user = (UserAccount)_httpContext.Session[SessionHelper.UserData];
            }
            else
            {
                user = UserAccountServiceFacade.GetUserByName(_httpContext.User.Identity.Name);
            }

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

            /* parameter processing */
            Int32 contactId = 0;

            if (!InputParameters.ContainsKey("ContactId"))
            {
                throw new ArgumentException("ContactId was expected!");
            }
            else
            {
                contactId = Convert.ToInt32(InputParameters["ContactId"]);
            }

            Int32 newOwnerAccountId;

            if (!InputParameters.ContainsKey("NewOwnerAccountId"))
            {
                throw new ArgumentException("NewOwnerAccountId was expected!");
            }
            else
            {
                newOwnerAccountId = Convert.ToInt32(InputParameters["NewOwnerAccountId"]);
            }

            /* Command processing */
            var result = ContactServiceFacade.UpdateContactOwner(contactId, newOwnerAccountId, user.UserAccountId);

            if (result == true)
            {
                _viewName  = string.Empty;
                _viewModel = null;
            }
            else
            {
                // return Error View?
                throw new ApplicationException("Prospect owner was not updated");
            }
        }
Beispiel #14
0
        private void LoadRelatedUsers(FilterViewModel userFilterViewModel, UserAccount user)
        {
            // for branch manager role, we need to fetch only users who belong to this branch in a company
            // from relatedusers property select LO/Concierge Users
            if (user != null)
            {
                var result = UserAccountServiceFacade.GetUsersFullName(user.BranchId, false);

                var userAccountIdsList = new List <int>();
                userAccountIdsList.Add(user.UserAccountId);

                foreach (var userAccount in result.OrderBy(r => r.FullName))
                {
                    //if ( user.UserAccountId == userAccount.UserAccountId )
                    //    continue;

                    userFilterViewModel.Users.Add(new SelectListItem()
                    {
                        Text     = userAccount.FullName,
                        Value    = userAccount.UserAccountId.ToString(),
                        Selected = (userAccount.UserAccountId == userFilterViewModel.UserId)
                    });

                    if (userFilterViewModel.UsersForProspect == null)
                    {
                        userFilterViewModel.UsersForProspect = new List <SelectListItem>();
                    }

                    userFilterViewModel.UsersForProspect.Add(new SelectListItem()
                    {
                        Text  = userAccount.FullName,
                        Value = userAccount.UserAccountId.ToString()
                    });

                    if (user.UserAccountId != userAccount.UserAccountId)
                    {
                        userAccountIdsList.Add(userAccount.UserAccountId);
                    }
                }

                // TODO: Refactor:
                // Branch Manager, Team Leader and Division Manager roles filter WQ recoeds by assigned branch(es).
                // For others we filter by users which are currently in selected branch.
                if (user.Roles.Any(r => r.RoleName.Equals(RoleName.BranchManager)) ||
                    user.Roles.Any(r => r.RoleName.Equals(RoleName.TeamLeader)) ||
                    user.Roles.Any(r => r.RoleName.Equals(RoleName.DivisionManager)))
                {
                    userAccountIdsList.Clear();
                }

                base.HttpContext.Session[SessionHelper.UserAccountIds] = userAccountIdsList;
            }
        }
        public void Execute()
        {
            var searchValue = CommonHelper.GetSearchValue(_httpContext);

            CompletedLoansListState completedLoansListState = _httpContext.Session[SessionHelper.CompletedLoansListState] != null ?
                                                              (CompletedLoansListState)_httpContext.Session[SessionHelper.CompletedLoansListState] :
                                                              new CompletedLoansListState();

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

            completedLoansListState.BorrowerStatusFilter = InputParameters["BorroweStatusFilter"].ToString() == "0" ? null : InputParameters["BorroweStatusFilter"].ToString();

            UserAccount user = _httpContext.Session[SessionHelper.UserData] != null && ((UserAccount)_httpContext.Session[SessionHelper.UserData]).Username == _httpContext.User.Identity.Name ?
                               user = (UserAccount)_httpContext.Session[SessionHelper.UserData] :
                                      UserAccountServiceFacade.GetUserByName(_httpContext.User.Identity.Name);

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

            // on date filter change, reset page number
            completedLoansListState.CurrentPage = 1;

            FilterViewModel userFilterViewModel = null;

            if ((_httpContext != null) && (_httpContext.Session[SessionHelper.FilterViewModel] != null))
            {
                userFilterViewModel = new FilterViewModel().FromXml(_httpContext.Session[SessionHelper.FilterViewModel].ToString());
            }
            else
            {
                userFilterViewModel = new FilterViewModel();
            }

            CompletedLoansViewModel completedLoansViewModel = CompletedLoansDataHelper.RetrieveCompletedLoansViewModel(completedLoansListState,
                                                                                                                       _httpContext.Session[SessionHelper.UserAccountIds] != null
                                                                              ? (List <int>)
                                                                                                                       _httpContext.Session[SessionHelper.UserAccountIds]
                                                                              : new List <int> {
            },
                                                                                                                       user.UserAccountId, searchValue, userFilterViewModel.CompanyId, userFilterViewModel.ChannelId, userFilterViewModel.DivisionId, userFilterViewModel.BranchId);

            _viewName  = "Queues/_completedloans";
            _viewModel = completedLoansViewModel;

            /* Persist new state */
            _httpContext.Session[SessionHelper.CompletedLoansViewModel] = completedLoansViewModel.ToXml();
            _httpContext.Session[SessionHelper.CompletedLoansListState] = completedLoansListState;
        }
        public ActionResult ChangeProspectLO(int contactId, int newOwnerAccountId, string lid)
        {
            try
            {
                UserAccount loggedUser = null;
                if (HttpContext != null && HttpContext.Session != null && HttpContext.Session[SessionHelper.UserData] != null)
                {
                    loggedUser = ( UserAccount )HttpContext.Session[SessionHelper.UserData];
                }
                else
                {
                    // TODO: Handle if user don't have priviledges to see this log
                    throw new UnauthorizedAccessException("User is not authorized to access this method!");
                }

                var licenseExpiredClass   = "notdisplayed";
                var licenseExpiredMessage = String.Empty;

                var updated = ContactServiceFacade.UpdateContactOwner(contactId, newOwnerAccountId, loggedUser.UserAccountId);

                if (!updated || newOwnerAccountId == 0 || !WebCommonHelper.LicensingEnabled())
                {
                    return(Json(new
                    {
                        LicenseExpiredClass = licenseExpiredClass,
                        LicenseExpiredMessage = licenseExpiredMessage
                    }, JsonRequestBehavior.AllowGet));
                }

                Guid loanId;
                Guid.TryParse(lid, out loanId);

                // Check if concierge/branch is licensed
                var isUserStateLicensedForLoan = UserAccountServiceFacade.IsUserStateLicensedForLoan(newOwnerAccountId, loanId, contactId);

                licenseExpiredMessage = LicenseHelper.ConfigureLicenseExpiredMessage(licenseExpiredMessage, isUserStateLicensedForLoan);
                if (!String.IsNullOrEmpty(licenseExpiredMessage))
                {
                    licenseExpiredClass = "licenseExpiredNotification";
                }

                return(Json(new
                {
                    LicenseExpiredClass = licenseExpiredClass,
                    LicenseExpiredMessage = licenseExpiredMessage
                }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                TraceHelper.Error(TraceCategory.Global, "LoanController::ChangeProspectLO", ex);
                return(Json(null, JsonRequestBehavior.AllowGet));
            }
        }
Beispiel #17
0
        private bool SubmitToAUS(string eventName, Guid loanId, string caseId)
        {
            var user          = new UserAccount();
            var userAccountId = -1;

            user = Session[SessionHelper.UserData] != null && ((UserAccount)Session[SessionHelper.UserData]).Username == User.Identity.Name ?
                   (UserAccount)Session[SessionHelper.UserData] : UserAccountServiceFacade.GetUserByName(User.Identity.Name);

            if (user != null)
            {
                userAccountId = user.UserAccountId;
            }

            var impEvent = new Event(eventName, UserAccountServiceFacade.GetUserFullNameByUserAccountId(userAccountId), loanId);

            impEvent.RelatedData.Add("CaseId", caseId.Trim());
            return(EventsServiceFacade.CreateEvent(impEvent));
        }
Beispiel #18
0
        public void Execute()
        {
            UserAccount user = null;

            if (_httpContext.Session[SessionHelper.UserData] != null && ((UserAccount)_httpContext.Session[SessionHelper.UserData]).Username == _httpContext.User.Identity.Name)
            {
                user = (UserAccount)_httpContext.Session[SessionHelper.UserData];
            }
            else
            {
                user = UserAccountServiceFacade.GetUserByName(_httpContext.User.Identity.Name);
            }

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

            /* parameter processing */
            Guid loanId = Guid.Empty;

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

            /* Command processing */
            var result = ExceptionItemServiceFacade.GetExceptionItems(loanId, -1);

            if (result != null)
            {
                _viewName  = "_exceptionItemTooltip";
                _viewModel = result.Where(ex => !ex.DateCured.HasValue).ToList();
            }
            else
            {
                _viewName  = string.Empty;
                _viewModel = null;
            }
        }
        public void Execute()
        {
            UserAccount user = null;

            if (_httpContext.Session[SessionHelper.UserData] != null && ((UserAccount)_httpContext.Session[SessionHelper.UserData]).Username == _httpContext.User.Identity.Name)
            {
                user = (UserAccount)_httpContext.Session[SessionHelper.UserData];
            }
            else
            {
                user = UserAccountServiceFacade.GetUserByName(_httpContext.User.Identity.Name);
            }

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

            /* parameter processing */
            Int32 taskId = 0;

            if (!InputParameters.ContainsKey("TaskId"))
            {
                throw new ArgumentException("TaskId was expected!");
            }
            else
            {
                taskId = Convert.ToInt32(InputParameters["TaskId"]);
            }

            /* Command processing */
            var result = MML.Web.Facade.TaskServiceFacade.GetTaskView(taskId, user.UserAccountId);

            if (result != null)
            {
                _viewName  = "_loanpurpose";
                _viewModel = result;
            }
            else
            {
                _viewName  = string.Empty;
                _viewModel = null;
            }
        }
Beispiel #20
0
 private void LoadBranches(AssignLoanInfoViewModel assignLoanInfoViewModel)
 {
     if (assignLoanInfoViewModel.DivisionId > 0)
     {
         var result = UserAccountServiceFacade.GetBranches(assignLoanInfoViewModel.DivisionId);
         if (result != null)
         {
             foreach (Branch branch in result.OrderBy(r => r.Name))
             {
                 assignLoanInfoViewModel.Branches.Add(new DropDownItem()
                 {
                     Text     = branch.Name,
                     Value    = branch.BranchId.ToString(),
                     Selected = (branch.BranchId == assignLoanInfoViewModel.BranchId)
                 });
             }
         }
     }
 }
Beispiel #21
0
 private void LoadDivisions(AssignLoanInfoViewModel assignLoanInfoViewModel)
 {
     if (assignLoanInfoViewModel.ChannelId > 0)
     {
         var result = UserAccountServiceFacade.GetDivisions(assignLoanInfoViewModel.ChannelId);
         if (result != null)
         {
             foreach (Division division in result.OrderBy(r => r.DivisionName))
             {
                 assignLoanInfoViewModel.Divisions.Add(new DropDownItem()
                 {
                     Text     = division.DivisionName,
                     Value    = division.DivisionId.ToString(),
                     Selected = false
                 });
             }
         }
     }
 }
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        private int GetUserID()
        {
            UserAccount user;

            if (Session[SessionHelper.UserData] != null &&
                ((UserAccount)Session[SessionHelper.UserData]).Username == User.Identity.Name)
            {
                user = (UserAccount)Session[SessionHelper.UserData];
            }
            else
            {
                user = UserAccountServiceFacade.GetUserByName(User.Identity.Name);
            }
            if (user != null)
            {
                Session[SessionHelper.UserData] = user;
            }
            return(user != null ? user.UserAccountId : -1);
        }
Beispiel #23
0
        private void LoadRelatedConciergeList(AssignLoanInfoViewModel assignLoanInfoViewModel, UserAccount user, BasicLoanData loan, Guid loanId, int?contactId = null, Boolean?isLoa = null)
        {
            Guid companyId  = Guid.Empty;
            int  channelId  = 0;
            int  divisionId = 0;

            if (assignLoanInfoViewModel.CompanyId != null && assignLoanInfoViewModel.CompanyId != "-1" && assignLoanInfoViewModel.CompanyId != "0")
            {
                companyId = Guid.Parse(assignLoanInfoViewModel.CompanyId);
            }

            if (assignLoanInfoViewModel.ChannelId > 0)
            {
                channelId = assignLoanInfoViewModel.ChannelId;
            }

            if (assignLoanInfoViewModel.DivisionId > 0)
            {
                divisionId = assignLoanInfoViewModel.DivisionId;
            }

            var conciergeList = !WebCommonHelper.LicensingEnabled() ?
                                UserAccountServiceFacade.RetrieveConciergeInfo(null, null, null, null, companyId, channelId, divisionId, assignLoanInfoViewModel.BranchId) :
                                UserAccountServiceFacade.RetrieveConciergeInfo(loanId, null, isLoa, user.UserAccountId, companyId, channelId, divisionId, assignLoanInfoViewModel.BranchId);

            if (conciergeList != null)
            {
                conciergeList.Insert(0, new ConciergeInfo()
                {
                    NMLSNumber = "", ConciergeName = "Select One", UserAccountId = 0
                });
            }

            assignLoanInfoViewModel.ConciergeList = conciergeList;
            if (loan != null)
            {
                assignLoanInfoViewModel.ConciergeNMLS =
                    conciergeList.FirstOrDefault(d => d.UserAccountId.Equals(loan.ConciergeId)) != null
                        ? conciergeList.FirstOrDefault(d => d.UserAccountId.Equals(loan.ConciergeId)).NMLSNumber
                        : "";
            }
        }
        public void PopulateConciergeFilterList(ContactListState contactListState, HttpContextBase httpContext, ContactViewModel contactViewModel)
        {
            FilterViewModel userFilterViewModel;

            if (httpContext != null && httpContext.Session[SessionHelper.FilterViewModel] != null)
            {
                userFilterViewModel = new FilterViewModel().FromXml(httpContext.Session[SessionHelper.FilterViewModel].ToString());
                userFilterViewModel.FilterContext = FilterContextEnum.Contact;
            }
            else
            {
                userFilterViewModel = new FilterViewModel();
                userFilterViewModel.FilterContext = FilterContextEnum.Contact;
            }

            var conciergeList = UserAccountServiceFacade.RetrieveConciergeInfo(null, null, null, null, userFilterViewModel.CompanyId, userFilterViewModel.ChannelId, userFilterViewModel.DivisionId, userFilterViewModel.BranchId);

            if (conciergeList != null)
            {
                conciergeList.Insert(0, new ConciergeInfo()
                {
                    NMLSNumber = "", ConciergeName = "Pending", UserAccountId = 0
                });
            }

            var conciergeFilterList = new List <System.Web.WebPages.Html.SelectListItem>();

            foreach (var c in conciergeList)
            {
                if (conciergeFilterList.Any(cl => cl.Value == c.UserAccountId.ToString()))
                {
                    continue;
                }
                conciergeFilterList.Add(new System.Web.WebPages.Html.SelectListItem()
                {
                    Value = c.UserAccountId.ToString(), Text = (String.IsNullOrWhiteSpace(c.ConciergeName) ? "Unknown!" : c.ConciergeName), Selected = contactListState.ConciergeFilter == c.UserAccountId
                });
            }

            contactViewModel.ProspectConciergeFilterList = conciergeFilterList;
        }
        public virtual void Execute()
        {
            if (HttpContext == null || HttpContext.Session == null)
            {
                throw new NullReferenceException("Session is empty!");
            }

            if (HttpContext.Session[SessionHelper.UserData] != null && (( UserAccount )HttpContext.Session[SessionHelper.UserData]).Username == HttpContext.User.Identity.Name)
            {
                User = ( UserAccount )HttpContext.Session[SessionHelper.UserData];
            }
            else
            {
                User = UserAccountServiceFacade.GetUserByName(HttpContext.User.Identity.Name);
            }

            if (User == null)
            {
                throw new InvalidOperationException("User is null");
            }
        }
Beispiel #26
0
        private void LoadChannels(AssignLoanInfoViewModel assignLoanInfoViewModel)
        {
            if (assignLoanInfoViewModel.CompanyId != null && assignLoanInfoViewModel.CompanyId != "-1" && assignLoanInfoViewModel.CompanyId != "0" && assignLoanInfoViewModel.CompanyId != Guid.Empty.ToString())
            {
                Guid companyId = Guid.Empty;
                companyId = Guid.Parse(assignLoanInfoViewModel.CompanyId);

                var result = UserAccountServiceFacade.GetChannels(companyId);
                if (result != null)
                {
                    foreach (Channel channel in result.OrderBy(r => r.Name))
                    {
                        assignLoanInfoViewModel.Channels.Add(new DropDownItem()
                        {
                            Text     = channel.Name,
                            Value    = channel.ChannelId.ToString(),
                            Selected = false
                        });
                    }
                }
            }
        }
Beispiel #27
0
        /// <summary>
        /// Get phone numbers
        /// </summary>
        /// <param name="userAppraisalViewModel">Appraisal view model</param>
        private void LoadBillingInformation(AppraisalViewModel userAppraisalViewModel, UserAccount user)
        {
            if (userAppraisalViewModel.Loan.Borrower != null)
            {
                if (!userAppraisalViewModel.BillingInformations.Any(bi => bi.Text == _genericItem.Text))
                {
                    userAppraisalViewModel.BillingInformations.Add(_genericItem);
                }

                //BillingInformationCollection billingInfos = UserAccountServiceFacade.GetBillingInfos( user.UserAccountId );
                BillingInformationCollection billingInfos = UserAccountServiceFacade.GetBillingInfos(userAppraisalViewModel.Loan.Borrower.UserAccountId);

                foreach (BillingInformation billingInfo in billingInfos)
                {
                    userAppraisalViewModel.BillingInformations.Add(new SelectListItem()
                    {
                        Text     = billingInfo.CreditCardType.GetStringValue() + ", " + StringHelper.MaskCreditCard(billingInfo.CreditCardNumber),
                        Value    = billingInfo.BillingInformationid.ToString(),
                        Selected = false
                    });
                }
            }
        }
Beispiel #28
0
        public bool InitiateDisclosure(Guid loanId)
        {
            bool retVal = false;

            Int32       userAccountId = -1;
            UserAccount user          = new UserAccount();

            if (Session[SessionHelper.UserData] != null && (( UserAccount )Session[SessionHelper.UserData]).Username == User.Identity.Name)
            {
                user = ( UserAccount )Session[SessionHelper.UserData];
            }
            else
            {
                user = UserAccountServiceFacade.GetUserByName(User.Identity.Name);
            }

            if (user != null)
            {
                userAccountId = user.UserAccountId;
            }

            bool useDigitalDocsImpIntegration = GeneralSettingsServiceFacade.IsIMPIntegrationForDigitalDocsEnabled();

            DigitalDocsServiceFacade.RequestReDisclosuresPackage(loanId, userAccountId);

            if (useDigitalDocsImpIntegration)
            {
                var eventContentDisclosures = new EventContentDisclosures();
                eventContentDisclosures.UserAccountId = userAccountId;
                string contentXml = Event.ContentObjectSerialize(eventContentDisclosures);

                var impEvent = new Event("Event.Integration.Disclosures.ExecuteRules", User.Identity.Name, loanId, contentXml);
                retVal = EventsServiceFacade.CreateEvent(impEvent);
            }

            return(retVal);
        }
        public void Execute()
        {
            String searchValue = CommonHelper.GetSearchValue(_httpContext);

            /* State retrieval */

            PipelineListState pipelineListState;

            if (_httpContext.Session[SessionHelper.PipelineListState] != null)
            {
                pipelineListState = ( PipelineListState )_httpContext.Session[SessionHelper.PipelineListState];
            }
            else
            {
                pipelineListState = new PipelineListState();
            }

            UserAccount user;

            if (_httpContext.Session[SessionHelper.UserData] != null && ((UserAccount)_httpContext.Session[SessionHelper.UserData]).Username == _httpContext.User.Identity.Name)
            {
                user = ( UserAccount )_httpContext.Session[SessionHelper.UserData];
            }
            else
            {
                user = UserAccountServiceFacade.GetUserByName(_httpContext.User.Identity.Name);
            }

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

            /* parameter processing */
            if (!InputParameters.ContainsKey("DateFilter"))
            {
                throw new ArgumentException("DateFilter value was expected!");
            }

            var newDateFilterValue = ( GridDateFilter )Enum.Parse(typeof(GridDateFilter), InputParameters["DateFilter"].ToString());

            pipelineListState.BoundDate = newDateFilterValue;

            // on date filter change, reset page number
            pipelineListState.CurrentPage = 1;

            /* Command processing */
            FilterViewModel userFilterViewModel = null;

            if ((_httpContext != null) && (_httpContext.Session[SessionHelper.FilterViewModel] != null))
            {
                userFilterViewModel = new FilterViewModel().FromXml(_httpContext.Session[SessionHelper.FilterViewModel].ToString());
            }
            else
            {
                userFilterViewModel = new FilterViewModel();
            }
            PipelineViewModel pipelineViewModel = PipelineDataHelper.RetrievePipelineViewModel(pipelineListState,
                                                                                               _httpContext.Session[SessionHelper.UserAccountIds] != null
                                                                                                    ? (List <int>)_httpContext.Session[SessionHelper.UserAccountIds]
                                                                                                    : new List <int> {
            }, user.UserAccountId, userFilterViewModel.CompanyId, userFilterViewModel.ChannelId, userFilterViewModel.DivisionId, userFilterViewModel.BranchId, searchValue);

            _viewName  = "Queues/_pipeline";
            _viewModel = pipelineViewModel;

            /* Persist new state */
            _httpContext.Session[SessionHelper.PipelineViewModel] = pipelineViewModel.ToXml();
            _httpContext.Session[SessionHelper.PipelineListState] = pipelineListState;
        }
        public void Execute()
        {
            var searchValue = CommonHelper.GetSearchValue(_httpContext);

            /* State retrieval */
            var completedLoansViewModel =
                _httpContext.Session[SessionHelper.CompletedLoansViewModel] != null ?
                new CompletedLoansViewModel().FromXml(_httpContext.Session[SessionHelper.CompletedLoansViewModel].ToString()) :
                new CompletedLoansViewModel();

            CompletedLoansListState completedLoansListState;

            if (_httpContext.Session[SessionHelper.CompletedLoansListState] != null)
            {
                completedLoansListState = ( CompletedLoansListState )_httpContext.Session[SessionHelper.CompletedLoansListState];
            }
            else
            {
                completedLoansListState = new CompletedLoansListState();
            }

            UserAccount user;

            if (_httpContext.Session[SessionHelper.UserData] != null && ((UserAccount)_httpContext.Session[SessionHelper.UserData]).Username == _httpContext.User.Identity.Name)
            {
                user = ( UserAccount )_httpContext.Session[SessionHelper.UserData];
            }
            else
            {
                user = UserAccountServiceFacade.GetUserByName(_httpContext.User.Identity.Name);
            }

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

            /* parameter processing */
            CompletedLoansAttribute newSortColumn;

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

            newSortColumn = ( CompletedLoansAttribute )Enum.Parse(typeof(CompletedLoansAttribute), InputParameters["Column"].ToString());

            // switch direction
            if (completedLoansListState.SortColumn == newSortColumn && completedLoansListState.SortDirection == "ASC")
            {
                completedLoansListState.SortDirection = "DESC";
            }
            else
            {
                completedLoansListState.SortDirection = "ASC";
            }

            completedLoansListState.SortColumn  = newSortColumn;
            completedLoansListState.CurrentPage = 1;

            /* Command processing */

            FilterViewModel userFilterViewModel = null;

            if ((_httpContext != null) && (_httpContext.Session[SessionHelper.FilterViewModel] != null))
            {
                userFilterViewModel = new FilterViewModel().FromXml(_httpContext.Session[SessionHelper.FilterViewModel].ToString());
            }
            else
            {
                userFilterViewModel = new FilterViewModel();
            }

            var completedLoansViewData = CompletedLoansDataHelper.RetrieveCompletedLoansViewModel(completedLoansListState,
                                                                                                  _httpContext.Session[SessionHelper.UserAccountIds] !=
                                                                                                  null
                                                                                    ? (List <int>)
                                                                                                  _httpContext.Session[
                                                                                                      SessionHelper.UserAccountIds]
                                                                                    : new List <int> {
            },
                                                                                                  user.UserAccountId, searchValue, userFilterViewModel.CompanyId, userFilterViewModel.ChannelId, userFilterViewModel.DivisionId, userFilterViewModel.BranchId);


            if (completedLoansViewModel != null)
            {
                completedLoansViewModel.CompletedLoansItems = completedLoansViewData.CompletedLoansItems;
                completedLoansViewModel.PageCount           = completedLoansViewData.PageCount;
                completedLoansViewModel.TotalItems          = completedLoansViewData.TotalItems;

                CompletedLoansGridHelper.ProcessPagingOptions(completedLoansListState, completedLoansViewModel);
            }


            _viewName  = "Queues/_completedloans";
            _viewModel = completedLoansViewModel;

            /* Persist new state */
            _httpContext.Session[SessionHelper.CompletedLoansViewModel] = completedLoansViewModel.ToXml();
            _httpContext.Session[SessionHelper.CompletedLoansListState] = completedLoansListState;
        }