예제 #1
0
        public static MailRoomViewModel RetrieveMailRoomViewModel(MailRoomListState mailRoomListState, List <int> userAccountIds, int userAccountId, Guid companyId, int channelId, int divisionId, Guid branchId, string searchTerm = null)
        {
            if (mailRoomListState == null)
            {
                mailRoomListState = new MailRoomListState();
            }

            if (userAccountIds == null)
            {
                userAccountIds = new List <int>();
            }

            MailRoomViewData mailRoomViewData = LoanServiceFacade.RetrieveMailRoomItemsView(userAccountIds,
                                                                                            mailRoomListState.CurrentPage,
                                                                                            mailRoomListState.SortColumn.GetStringValue(),
                                                                                            mailRoomListState.SortDirection,
                                                                                            userAccountId,
                                                                                            searchTerm,
                                                                                            mailRoomListState.DocumentTypeFilter,
                                                                                            mailRoomListState.BoundDate,
                                                                                            companyId,
                                                                                            channelId,
                                                                                            divisionId,
                                                                                            branchId
                                                                                            );

            if (mailRoomViewData == null)
            {
                mailRoomViewData = new MailRoomViewData {
                    MailRoomItems = new List <MailRoomView>(), TotalItems = 0, TotalPages = 0
                };
            }
            // Set paging numbers
            else if (userAccountIds.Any())
            {
                mailRoomViewData.TotalItems = mailRoomViewData.TotalItems;
                mailRoomViewData.TotalPages = mailRoomViewData.TotalItems / 10;
                if ((mailRoomViewData.TotalItems % 10) != 0)
                {
                    mailRoomViewData.TotalPages++;
                }
            }

            MailRoomViewModel mailRoomViewModel = new MailRoomViewModel
            {
                MailRoomItems = mailRoomViewData.MailRoomItems,
                PageCount     = mailRoomViewData.TotalPages,
                TotalItems    = mailRoomViewData.TotalItems
            };

            MailRoomGridHelper.ProcessPagingOptions(mailRoomListState, mailRoomViewModel);
            //MailRoomGridHelper.ApplyClassCollection( mailRoomViewModel );

            return(mailRoomViewModel);
        }
예제 #2
0
        public static void ProcessPagingOptions(MailRoomListState mailRoomListState, MailRoomViewModel mailRoomViewModel)
        {
            if (mailRoomViewModel.PageCount % 10 == 0)
            {
                mailRoomViewModel.PageGroups = (mailRoomViewModel.PageCount / 10);
            }
            else
            {
                mailRoomViewModel.PageGroups = (mailRoomViewModel.PageCount / 10) + 1;
            }

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

            mailRoomViewModel.CurrentPage = mailRoomListState.CurrentPage;

            if (mailRoomViewModel.CurrentPage % 10 != 0)
            {
                mailRoomViewModel.StartPage = ( int )(mailRoomViewModel.CurrentPage / 10) * 10 + 1;
                if ((( int )((mailRoomViewModel.CurrentPage) / 10) + 1) == mailRoomViewModel.PageGroups)
                {
                    mailRoomViewModel.EndPage      = ( int )(mailRoomViewModel.CurrentPage / 10) * 10 + mailRoomViewModel.LastPageItems;
                    mailRoomViewModel.LastPageDots = true;
                }
                else
                {
                    mailRoomViewModel.EndPage      = ( int )(mailRoomViewModel.CurrentPage / 10) * 10 + 10;
                    mailRoomViewModel.LastPageDots = false;
                }
            }
            else
            {
                mailRoomViewModel.StartPage = ( int )((mailRoomViewModel.CurrentPage - 1) / 10) * 10 + 1;
                if ((( int )((mailRoomViewModel.CurrentPage - 1) / 10) + 1) == mailRoomViewModel.PageGroups)
                {
                    mailRoomViewModel.EndPage      = ( int )(mailRoomViewModel.CurrentPage / 10) * 10;
                    mailRoomViewModel.LastPageDots = true;
                }
                else
                {
                    mailRoomViewModel.EndPage      = ( int )((mailRoomViewModel.CurrentPage - 1) / 10) * 10 + 10;
                    mailRoomViewModel.LastPageDots = false;
                }
            }
        }