예제 #1
0
        public static ContentView AsView(this PageType type)
        {
            ContentView view = null;

            switch (type)
            {
            case PageType.Analysis:
                view = new AnalysisView();
                break;

            case PageType.Favorites:
                view = new FavoritesView();
                break;

            case PageType.Gallery:
                view = new GalleryView();
                break;

            case PageType.Home:
                view = new UploadView();
                break;

            case PageType.Search:
                view = new SearchResultsView();
                break;

            case PageType.Timeline:
                view = new TimelineView();
                break;
            }

            return(view);
        }
예제 #2
0
        private void RunSearch(string searchText)
        {
            SharePointContext spContext = SharePointContextProvider.Current.GetSharePointContext(Context);
            Uri hostWeb = spContext.SPHostUrl;

            using (var context = TokenHelper.GetS2SClientContextWithWindowsIdentity(hostWeb, Request.LogonUserIdentity)) {
                //Get current user
                User currentUser = context.Web.CurrentUser;
                context.Load(currentUser);
                context.ExecuteQuery();

                //Get current user's tasks
                KeywordQuery keywordQuery = new KeywordQuery(context);
                keywordQuery.QueryText = searchText;
                var searchExecutor = new SearchExecutor(context);
                ClientResult <ResultTableCollection> resultsCollection = searchExecutor.ExecuteQuery(keywordQuery);
                context.ExecuteQuery();


                //Bind them to the grid
                IEnumerable <IDictionary <string, object> > results = resultsCollection.Value[0].ResultRows;
                List <Task> tasks = new List <Task>();
                foreach (var result in results)
                {
                    Task task = new Task();
                    task.Title = result["Title"].ToString();
                    task.Path  = result["Path"].ToString();
                    tasks.Add(task);
                }

                SearchResultsView.DataSource = tasks;
                SearchResultsView.DataBind();
            }
        }
예제 #3
0
        private void RunSearch(string searchText)
        {
            SharePointContext spContext = SharePointContextProvider.Current.GetSharePointContext(Context);
            Uri hostWeb = spContext.SPHostUrl;

            using (var context = spContext.CreateUserClientContextForSPHost()) {
                //Get current user
                User currentUser = context.Web.CurrentUser;
                context.Load(currentUser);
                context.ExecuteQuery();

                //Get current user's tasks
                KeywordQuery keywordQuery = new KeywordQuery(context);
                keywordQuery.QueryText = searchText;
                var searchExecutor = new SearchExecutor(context);
                ClientResult <ResultTableCollection> resultsCollection = searchExecutor.ExecuteQuery(keywordQuery);
                context.ExecuteQuery();


                //Bind them to the grid
                IEnumerable <IDictionary <string, object> > results = resultsCollection.Value[0].ResultRows;
                List <SearchResult> tasks = new List <SearchResult>();
                foreach (var result in results)
                {
                    SearchResult searchResult = new SearchResult();
                    searchResult.Title = result["Title"].ToString();
                    searchResult.Path  = result["Path"].ToString();
                    tasks.Add(searchResult);
                }

                SearchResultsView.DataSource = tasks;
                SearchResultsView.DataBind();
            }
        }
예제 #4
0
        private void AddItemsToResultsView(IEnumerable <SearchResultViewModel> items, bool clearItems)
        {
            Dispatch(() =>
            {
                //filter all items for much better performance when adding items
                var lastFilter = SearchResultsView.View.Filter;
                SearchResultsView.View.Filter = FilterAll;

                try
                {
                    using (SearchResultsView.DeferRefresh())
                    {
                        if (clearItems)
                        {
                            if (NewSearchResultsLoaded != null)
                            {
                                NewSearchResultsLoaded();
                            }

                            _SearchResultsInternal.Clear();
                        }

                        foreach (var item in items)
                        {
                            item.Parent = this;
                            _SearchResultsInternal.Add(item);
                        }
                    }
                }
                finally
                {
                    SearchResultsView.View.Filter = lastFilter;
                }
            });
        }
예제 #5
0
        private void ChangeSearchResultsView(SearchResultsView searchResultsView)
        {
            switch (searchResultsView)
            {
            case (SearchResultsView.Thumbnails):

                CurrentViewLabel.InnerText           = "thumbnails";
                ToggleViewLinkButton.Text            = "view as list";
                ListViewImage.ImageUrl               = SiteUtils.GetIconPath("list_view0.gif");
                ListViewImageLinkButton.Enabled      = true;
                ThumbnailViewImage.ImageUrl          = SiteUtils.GetIconPath("thumb_view2.gif");
                ThumbnailViewImageLinkButton.Enabled = false;

                break;

            case (SearchResultsView.List):

                CurrentViewLabel.InnerText           = "list";
                ToggleViewLinkButton.Text            = "view as thumbnails";
                ThumbnailViewImage.ImageUrl          = SiteUtils.GetIconPath("thumb_view0.gif");
                ThumbnailViewImageLinkButton.Enabled = true;
                ListViewImage.ImageUrl          = SiteUtils.GetIconPath("list_view2.gif");
                ListViewImageLinkButton.Enabled = false;

                break;

            default:
                throw new Exception(string.Format("Unknown SearchResultsView: {0}", searchResultsView));
            }

            SavedUserAssetSearch.SearchResultsView = searchResultsView;
            CookieManager.SetValue("SearchResultsView", searchResultsView);
        }
예제 #6
0
        protected void ChangeViewImageButton_Command(object sender, CommandEventArgs e)
        {
            SearchResultsView searchResultsView = GeneralUtils.ParseEnum(e.CommandArgument.ToString(), SearchResultsView.Thumbnails);

            ChangeSearchResultsView(searchResultsView);
            Bind(CurrentPage, false);
        }
예제 #7
0
        protected void ToggleViewLinkButton_Click(object sender, EventArgs e)
        {
            SearchResultsView view = (SavedUserAssetSearch.SearchResultsView == SearchResultsView.Thumbnails) ? SearchResultsView.List : SearchResultsView.Thumbnails;

            ChangeSearchResultsView(view);
            Bind(CurrentPage, false);
        }
예제 #8
0
        private void OnSearchButtonClick(Object sender
                                         , EventArgs e)
        {
            if (String.IsNullOrEmpty(NameTextBox.Text) == false)
            {
                List <SearchEntry> rootElements = new List <SearchEntry>(3);

                Program.OnlineConnection.Open();

                using (OleDbCommand command = Program.OnlineConnection.CreateCommand())
                {
                    SearchByName(rootElements, command);

                    SearchByCreditedAs(rootElements, command);

                    SearchByPendingContributions(rootElements, command);
                }

                SearchResultsView.Roots = rootElements;
                SearchResultsView.RebuildAll(false);

                Program.OnlineConnection.Close();
            }
        }
예제 #9
0
 internal void DisplaySearchResults(string searchedText) => SearchResultsView.Display(searchedText);