public async Task <ActionResult> RunSearch(short SearchDefinitionID, bool IsPreConfigSearch, bool IsFavoriteSearch)
        {
            var   identity     = Thread.CurrentPrincipal.Identity;
            short ItemsPerPage = default(short);

            short.TryParse(this.Identity.ToItemsPerPage(), out ItemsPerPage);
            AddCookie("savedsearchpagesize", ItemsPerPage.ToString(), 1);
            var accountId = identity.ToAccountID();
            var roleId    = identity.ToRoleID();
            var userId    = identity.ToUserID();
            var isSTAdmin = identity.IsSTAdmin();

            ViewBag.EmailPermission = cachingService.CheckSendMailPermissions(accountId, roleId);
            bool isAccountAdmin = cachingService.IsAccountAdmin(this.Identity.ToRoleID(), this.Identity.ToAccountID());

            ViewBag.IsAccountAdmin = isAccountAdmin;
            GetSearchResponse response = await advancedSearchService.GetSavedSearchAsync(new GetSearchRequest()
            {
                SearchDefinitionID   = SearchDefinitionID,
                IncludeSearchResults = false,
                Limit              = ItemsPerPage,
                AccountId          = accountId,
                RoleId             = roleId,
                RequestedBy        = userId,
                IsRunSearchRequest = true,
                IsSTAdmin          = isSTAdmin
            });

            response.SearchViewModel.CreatedOn             = response.SearchViewModel.CreatedOn.ToJSDate();
            response.SearchViewModel.IsFavoriteSearch      = IsFavoriteSearch;
            response.SearchViewModel.IsPreConfiguredSearch = IsPreConfigSearch;
            if (SearchDefinitionID != 0 && response.SearchViewModel != null)
            {
                advancedSearchService.InsertLastRun(new InsertLastRunActivityRequest()
                {
                    AccountId          = accountId,
                    RequestedBy        = userId,
                    SearchDefinitionId = SearchDefinitionID,
                    SearchName         = response.SearchViewModel.SearchDefinitionName
                });
            }
            bool gridvisible = true;

            ViewBag.grid         = gridvisible;
            ViewBag.ItemsPerPage = ItemsPerPage;
            ViewBag.IsRunSearch  = true;
            return(View("AddEditSearch", response.SearchViewModel));
        }