示例#1
0
        public static void ProcessPagingOptions(ContactListState contactListState, ContactViewModel contactViewModel)
        {
            if (contactViewModel.PageCount % 10 == 0)
            {
                contactViewModel.PageGroups = (contactViewModel.PageCount / 10);
            }
            else
            {
                contactViewModel.PageGroups = (contactViewModel.PageCount / 10) + 1;
            }

            contactViewModel.PageGroups = (int)contactViewModel.PageGroups;
            if (contactViewModel.PageCount % 10 != 0)
            {
                contactViewModel.LastPageItems = contactViewModel.PageCount % 10;
            }
            else
            {
                contactViewModel.LastPageItems = 10;
            }

            contactViewModel.CurrentPage = contactListState.CurrentPage;

            if (contactViewModel.CurrentPage % 10 != 0)
            {
                contactViewModel.StartPage = (int)(contactViewModel.CurrentPage / 10) * 10 + 1;
                if (((int)((contactViewModel.CurrentPage) / 10) + 1) == contactViewModel.PageGroups)
                {
                    contactViewModel.EndPage      = (int)(contactViewModel.CurrentPage / 10) * 10 + contactViewModel.LastPageItems;
                    contactViewModel.LastPageDots = true;
                }
                else
                {
                    contactViewModel.EndPage      = (int)(contactViewModel.CurrentPage / 10) * 10 + 10;
                    contactViewModel.LastPageDots = false;
                }
            }
            else
            {
                contactViewModel.StartPage = (int)((contactViewModel.CurrentPage - 1) / 10) * 10 + 1;
                if (((int)((contactViewModel.CurrentPage - 1) / 10) + 1) == contactViewModel.PageGroups)
                {
                    contactViewModel.EndPage      = (int)(contactViewModel.CurrentPage / 10) * 10;
                    contactViewModel.LastPageDots = true;
                }
                else
                {
                    contactViewModel.EndPage      = (int)((contactViewModel.CurrentPage - 1) / 10) * 10 + 10;
                    contactViewModel.LastPageDots = false;
                }
            }
        }
        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 static ContactViewModel RetrieveContactViewModel(ContactListState contactListState, List <Int32> userAccountIds, Int32 userId, HttpContextBase httpContext, string searchValue = "")
        {
            FilterViewModel userFilterViewModel = null;

            if ((httpContext != null) && (httpContext.Session[SessionHelper.FilterViewModel] != null))
            {
                userFilterViewModel = new FilterViewModel().FromXml(httpContext.Session[SessionHelper.FilterViewModel].ToString());
            }
            else
            {
                // possible state retrieval?
                userFilterViewModel = new FilterViewModel();
            }

            var contactViewData = ContactServiceFacade.RetrieveContactsView(userAccountIds,
                                                                            contactListState.BoundDate,
                                                                            contactListState.CurrentPage,
                                                                            contactListState.SortColumn.GetStringValue(),
                                                                            contactListState.SortDirection,
                                                                            userId,
                                                                            searchValue,
                                                                            contactListState.ContactStatusFilter,
                                                                            userFilterViewModel.CompanyId,
                                                                            userFilterViewModel.ChannelId,
                                                                            userFilterViewModel.DivisionId,
                                                                            contactListState.LoanPurposeFilter,
                                                                            userFilterViewModel.BranchId,
                                                                            contactListState.ConciergeFilter
                                                                            );

            if (contactViewData == null)
            {
                contactViewData = new ContactViewData {
                    ContactsItems = new List <ContactViewItem>(), TotalItems = 0, TotalPages = 0
                };
            }
            // Set paging numbers
            else if (userAccountIds.Any())
            {
                contactViewData.TotalItems = contactViewData.TotalItems;
                contactViewData.TotalPages = contactViewData.TotalItems / 10;
                if ((contactViewData.TotalItems % 10) != 0)
                {
                    contactViewData.TotalPages++;
                }
            }

            var contactViewModel = new ContactViewModel()
            {
                Contacts   = contactViewData.ContactsItems,
                PageCount  = contactViewData.TotalPages,
                TotalItems = contactViewData.TotalItems,
                ProspectLO = PopulateProspectLoanOfficers(httpContext),
                ProspectLOConciergeList = PopulateLoanOfficersForProspectDropdown(httpContext)
            };


            ContactGridHelper.ProcessPagingOptions(contactListState, contactViewModel);
            ContactViewModelHelper.PopulateProspectStatuses(contactViewModel);
            ContactGridHelper.ApplyClassCollection(contactViewModel);

            contactViewModel.ProspectStatusList = ContactViewModelHelper.PopulateProspectStatusList(contactViewModel);

            contactViewModel.LoanPurposeList = new List <LoanTransactionType>(Enum.GetValues(typeof(LoanTransactionType)).Cast <LoanTransactionType>().Skip(1));

            ContactDataHelper contactDataHelper = new ContactDataHelper();

            contactDataHelper.PopulateConciergeFilterList(contactListState, httpContext, contactViewModel);

            return(contactViewModel);
        }