Exemplo n.º 1
0
        /// <summary>
        /// Searches for given string in article title and description and displays search result.
        /// </summary>
        /// <param name="view"></param>
        /// <returns></returns>
        public static bool Search(Viewport view, RssFeed feed = null)
        {
            var searchInput = new Input("Search for: ")
            {
                Top             = Console.WindowHeight - 2,
                ForegroundColor = Configuration.GetColor(Config.Global.UI.Colors.LinkInputForeground),
                BackgroundColor = Configuration.GetColor(Config.Global.UI.Colors.LinkInputBackground),
            };
            var searchString = searchInput.InputText?.Replace("\\\"", string.Empty);

            if (String.IsNullOrWhiteSpace(searchString))
            {
                return(true);
            }
            var searchQuery = getSearchQuery(searchString, feed);
            var feedResult  = new RssFeed(null, searchQuery, 0, "Search Results");

            feedResult.Load(false);
            if (feedResult.FeedItems.Count > 0)
            {
                using (ArticleListView articleList = new ArticleListView(Config.Global.UI.Layout.ArticleList))
                {
                    articleList.Show(feedResult);
                }
                view.Refresh();
            }
            feedResult.Dispose();
            feedResult = null;
            return(true);
        }
Exemplo n.º 2
0
        //
        // GET: /Manage/Article/

        public ActionResult Index(ArticleListView parameters, int currentPage = 1, int pageSize = 10)
        {
            ViewBag.CategoryList = new CategoryService().GetList();
            var data = new ArticleService().GetPageList(parameters, currentPage, pageSize);

            return(View(data));
        }
Exemplo n.º 3
0
        private async void CoreWindow_KeyDown(CoreWindow sender, KeyEventArgs args)
        {
            if (EchoDialog.Showing)
            {
                return;
            }

            bool Control_Down = (Window.Current.CoreWindow.GetKeyState(VirtualKey.Control) & CoreVirtualKeyStates.Down) != 0;
            bool Shift_Down   = (Window.Current.CoreWindow.GetKeyState(VirtualKey.Shift) & CoreVirtualKeyStates.Down) != 0;
            bool CapsLocked   = (Window.Current.CoreWindow.GetKeyState(VirtualKey.CapitalLock) & CoreVirtualKeyStates.Locked) != 0;

            var scrollviewer = GetScrollViewer(ArticleListView);

            switch (args.VirtualKey)
            {
            case VirtualKey.PageDown:
            case VirtualKey.Down:
                scrollviewer?.ChangeView(0, scrollviewer.VerticalOffset + scrollviewer.ViewportHeight - 50.0, null);
                break;

            case VirtualKey.PageUp:
            case VirtualKey.Up:
                scrollviewer?.ChangeView(0, scrollviewer.VerticalOffset - scrollviewer.ViewportHeight + 50.0, null);
                break;

            case VirtualKey.Home:
                if (ArticleListView.Items.Count > 0)
                {
                    ArticleListView.ScrollIntoView(ArticleListView.Items.First());
                }
                break;

            case VirtualKey.End:
                if (ArticleListView.Items.Count > 0)
                {
                    ArticleListView.ScrollIntoView(ArticleListView.Items.Last());
                }
                break;

            case VirtualKey.Left:
            case VirtualKey.Escape:
                GoBack();
                break;

            default:
                if (Shift_Down ^ CapsLocked)
                {
                    switch (args.VirtualKey)
                    {
                    case VirtualKey.X:
                        await EchoDialog.ShowAsync();

                        break;
                    }
                }
                break;
            }
        }
Exemplo n.º 4
0
 private void ContentCollection_BeginLoaded(object sender, EventArgs e)
 {
     if (ArticleListView.Items.Count > 0)
     {
         ArticleListView.ScrollIntoView(ArticleListView.Items[0]);
     }
     ControlVisible = true;
     Window.Current.CoreWindow.KeyDown        += CoreWindow_KeyDown;
     Window.Current.CoreWindow.PointerPressed += Board_PointerPressed;
 }
Exemplo n.º 5
0
        private void left_Button_Up(object sender, MouseButtonEventArgs e)
        {
            ArticleListView test = new ArticleListView();

            test.Title = "CNN, the World is Smaller";
            test.Date  = "January, 5th, 2000";


            articleList.Items.Add(test);
            int x = 0;

            //articleList.Items.;

            //articleList.Items.(s);
        }
Exemplo n.º 6
0
        protected override async void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            ControlVisible = false;
            RingActive     = true;
            //冷靜一下,先喝杯咖啡
            await Task.Delay(50);

            article = LiPTT.CurrentArticle;

            ContentCollection.BeginLoaded += (a, b) =>
            {
                if (ArticleListView.Items.Count > 0)
                {
                    ArticleListView.ScrollIntoView(ArticleListView.Items[0]);
                }
                Window.Current.CoreWindow.PointerPressed += ArticlePage_PointerPressed;
                Window.Current.CoreWindow.KeyDown        += CoreWindow_KeyDown;
                RingActive = false;
            };

            ContentCollection.BugAlarmed += (a, b) => {
                var act = Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => {
                    FlyoutBase.ShowAttachedFlyout(RingGrid);
                });

                ThreadPoolTimer.CreateTimer((timer) => {
                    var acti = Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => {
                        FlyoutBase.GetAttachedFlyout(RingGrid).Hide();
                    });
                }, TimeSpan.FromMilliseconds(2000));
            };

            ContentCollection.FullScreenEntered += EnterFullScreen;
            ContentCollection.FullScreenExited  += ExitFullScreen;
            LoadingExtraData = false;
            pressAny         = false;

            LiPTT.PttEventEchoed += ReadAIDandExtra;
            LiPTT.Right();
        }
Exemplo n.º 7
0
        public DataPaging <ArticleListView> GetPageList(ArticleListView parameters, int currentPage, int pageSize, bool isIndex = true)
        {
            var _articleView = new EFRepositoryBase <ArticleListView, object>();
            var exp          = new PredicatePack <ArticleListView>();

            if (!isIndex)
            {
                exp.PushAnd(x => x.CategoryId == parameters.CategoryId);
            }
            exp.PushAnd(x => x.Status == 101);
            var source      = _articleView.Entities.Where(exp);
            var list        = source.OrderByDescending(x => x.CreateTime).Skip((currentPage - 1) * pageSize).Take(pageSize).ToList();
            var totalRecord = source.Count();

            return(new DataPaging <ArticleListView>
            {
                SearchParams = parameters,
                List = list,
                Pager = totalRecord < 1 ? string.Empty : new HtmlPager <ArticleListView>(HttpContext.Current.Request.Path.ToLower(), parameters)
                        .GenerateCode(totalRecord / pageSize, currentPage)
            });
        }