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); }
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; } } }