public override void Execute()
        {
            String serarchValue = CommonHelper.GetSearchValue(base.HttpContext);

            OrderProcessedListState orderProcessedListState = null;

            if (base.HttpContext != null && base.HttpContext.Session[SessionHelper.OrderProcessedListState] != null)
            {
                orderProcessedListState = ( OrderProcessedListState )base.HttpContext.Session[SessionHelper.OrderProcessedListState];
            }
            else
            {
                orderProcessedListState = new OrderProcessedListState();
            }

            FilterViewModel filterViewModel = null;

            if (base.HttpContext != null && base.HttpContext.Session[SessionHelper.FilterViewModel] != null)
            {
                filterViewModel = new FilterViewModel().FromXml(base.HttpContext.Session[SessionHelper.FilterViewModel].ToString());
                filterViewModel.FilterContext = Helpers.Enums.FilterContextEnum.OrderProcessed;
            }
            else
            {
                filterViewModel = new FilterViewModel();
                filterViewModel.FilterContext = Helpers.Enums.FilterContextEnum.OrderProcessed;
            }

            Boolean refresh = InputParameters != null && InputParameters.ContainsKey("Refresh") && InputParameters["Refresh"].ToString().Trim() == "true";

            if (!refresh)
            {
                orderProcessedListState.CurrentPage = 1;
            }

            UserAccount user = null;

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

            OrderProcessedViewModel orderProcessedViewModel = new OrderProcessedViewModel();

            orderProcessedViewModel = OrderProcessedDataHelper.RetrieveOrderProcessedViewModel(orderProcessedListState,
                                                                                               base.HttpContext.Session[SessionHelper.UserAccountIds] != null
                            ? (List <int>)base.HttpContext.Session[SessionHelper.UserAccountIds]
                            : new List <int> {
            }, user.UserAccountId, filterViewModel.CompanyId, filterViewModel.ChannelId, filterViewModel.DivisionId, filterViewModel.BranchId, serarchValue);

            OrderProcessedGridHelper.ProcessPagingOptions(orderProcessedListState, orderProcessedViewModel);
            OrderProcessedGridHelper.ApplyClassCollection(orderProcessedViewModel);

            ViewName = "Queues/_orderProcessed";
            ViewData = orderProcessedViewModel;

            /* Persist new state */
            base.HttpContext.Session[SessionHelper.OrderProcessedViewModel] = orderProcessedViewModel.ToXml();
            base.HttpContext.Session[SessionHelper.OrderProcessedListState] = orderProcessedListState;
            base.HttpContext.Session[SessionHelper.FilterViewModel]         = filterViewModel.ToXml();
            base.HttpContext.Session[SessionHelper.CurrentTab] = LoanCenterTab.OrderProcessed;
        }
        public override void Execute()
        {
            var searchValue = CommonHelper.GetSearchValue(base.HttpContext);

            OrderProcessedListState orderProcessedListState;

            if (base.HttpContext.Session[SessionHelper.OrderProcessedListState] != null)
            {
                orderProcessedListState = ( OrderProcessedListState )base.HttpContext.Session[SessionHelper.OrderProcessedListState];
            }
            else
            {
                orderProcessedListState = new OrderProcessedListState();
            }

            FilterViewModel filterViewModel = null;

            if (base.HttpContext != null && base.HttpContext.Session[SessionHelper.FilterViewModel] != null)
            {
                filterViewModel = new FilterViewModel().FromXml(base.HttpContext.Session[SessionHelper.FilterViewModel].ToString());
                filterViewModel.FilterContext = Helpers.Enums.FilterContextEnum.OrderProcessed;
            }
            else
            {
                filterViewModel = new FilterViewModel();
                filterViewModel.FilterContext = Helpers.Enums.FilterContextEnum.OrderProcessed;
            }

            UserAccount user;

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

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

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

            var newPageNumber = Convert.ToInt32(InputParameters["Page"]);

            orderProcessedListState.CurrentPage = newPageNumber;

            OrderProcessedViewModel orderProcessedViewModel = OrderProcessedDataHelper.RetrieveOrderProcessedViewModel(orderProcessedListState,
                                                                                                                       base.HttpContext.Session[SessionHelper.UserAccountIds] != null
                                                              ? (List <int>)base.HttpContext.Session[SessionHelper.UserAccountIds]
                                                              : new List <int> {
            }, user.UserAccountId, filterViewModel.CompanyId, filterViewModel.ChannelId, filterViewModel.DivisionId,
                                                                                                                       filterViewModel.BranchId, searchValue);


            ViewName = "Queues/_orderProcessed";
            ViewData = orderProcessedViewModel;

            /* Persist new state */
            base.HttpContext.Session[SessionHelper.OrderProcessedViewModel] = orderProcessedViewModel.ToXml();
            base.HttpContext.Session[SessionHelper.OrderProcessedListState] = orderProcessedListState;
        }