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