示例#1
0
        public ActionResult Article(string category, string articleAlias)
        {
            WikiViewModel      viewModel;
            List <ArticleItem> articleList = new WikiViewModel(category).WikiList.ToList();
            int idx = -1, min_idx = 0, max_idx = articleList.Count() - 1;

            if ((idx = articleList.FindIndex(x => x.ARTICLE_ALIAS == articleAlias)) != -1)
            {
                viewModel = new WikiViewModel()
                {
                    ArticleItem = articleList[idx]
                };
                if (idx > min_idx)
                {
                    viewModel.Prev_Article_Alias = articleList[idx - 1].ARTICLE_ALIAS;
                }
                if (idx < max_idx)
                {
                    viewModel.Next_Article_Alias = articleList[idx + 1].ARTICLE_ALIAS;
                }
                viewModel.ListType = category;
            }
            else
            {
                return(RedirectToAction("NotFound", "Home", null));
            }
            return(View(viewModel));
        }
示例#2
0
        public async Task <IActionResult> ReadDoc(string collectionTitle, string articleTitle)
        {
            var database = await _dbContext.Collections.Include(t => t.Articles).ToListAsync();

            var currentCollection = database.SingleOrDefault(t => t.CollectionTitle.ToLower() == collectionTitle.ToLower());

            if (currentCollection == null)
            {
                return(NotFound());
            }
            var currentArticle = currentCollection.Articles.SingleOrDefault(t => t.ArticleTitle.ToLower() == articleTitle.ToLower());

            if (currentArticle == null)
            {
                return(NotFound());
            }
            var pipeline = new MarkdownPipelineBuilder()
                           .UseAdvancedExtensions()
                           .Build();
            var model = new WikiViewModel
            {
                Collections       = database,
                CurrentCollection = currentCollection,
                CurrentArticle    = currentArticle,
                RenderedContent   = Markdown.ToHtml(currentArticle.ArticleContent, pipeline)
            };

            return(View(model));
        }
示例#3
0
        public ActionResult Index(String Type)
        {
            WikiViewModel wikiViewModel = GetWikiViewModel(Type, WikiViewModel.DEFAULT_VIEW_COUNT);

            wikiViewModel.ListType = Type;
            return(View(wikiViewModel));
        }
示例#4
0
        private void OnViewBinding(RecyclerView.ViewHolder viewHolder, int position, WikiViewModel wikiViewModel)
        {
            var vh = viewHolder as WikiViewHolder;

            vh.TextTitle.Text   = wikiViewModel.Model.Title;
            vh.TextContent.Text = wikiViewModel.Model.Summary;
        }
示例#5
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            Window.AddFlags(WindowManagerFlags.DrawsSystemBarBackgrounds);
            SetContentView(Resource.Layout.PageWikiDetails);

            _toolbar = FindViewById <Toolbar>(Resource.Id.toolbar);
            SetSupportActionBar(_toolbar);
            SupportActionBar.SetDisplayHomeAsUpEnabled(true);
            SupportActionBar.Title = "Wiki";
            var key = Intent.GetStringExtra(MyNavigationService.ParamKey);

            Vm = _navigator.GetAndRemoveParameter <WikiViewModel>(key);
            Vm.RefreshCommand.Execute(null);
            _editFragment = new EditWikiFragment()
            {
                Vm = Vm
            };
            _readFragment = new WikiReadFragment {
                Vm = Vm
            };


            SupportFragmentManager.BeginTransaction()
            .Replace(Resource.Id.fragmentContainer, _readFragment)
            .Commit();

            _fab        = FindViewById <FloatingActionButton>(Resource.Id.fab);
            _fab.Click += _fab_Click;
        }
示例#6
0
        public ActionResult Index()
        {
            //TODO 5.要判斷取回資料的有效日期
            WikiViewModel wikiViewModel = GetWikiViewModel(WikiViewModel.DEFAULT_VIEW_COUNT);

            wikiViewModel.ListType = wikiViewModel.MapTitle.First().Key.ToString();
            return(View(wikiViewModel));
        }
示例#7
0
        protected WikiViewModel GetWikiViewModel(string dataType, int dataCount)
        {
            WikiViewModel wikiViewModel = new WikiViewModel(dataType);

            if (wikiViewModel.WikiList.Count() >= dataCount)
            {
                wikiViewModel.WikiList = wikiViewModel.WikiList.Take(dataCount);
            }
            return(wikiViewModel);
        }
示例#8
0
        public ActionResult Index()
        {
            WikiViewModel model = new WikiViewModel();

            DecorateViewModel<WikiViewModel>(model);

            model.Spaces = _wikiSpaceService.Get();
            model.ContentTypesEnum = WikiPageContentType.NotSet;

            return View("Home", model);
        }
        public ActionResult Index()
        {
            WikiViewModel model = new WikiViewModel();

            DecorateViewModel <WikiViewModel>(model);

            model.ContentTypesEnum       = WikiPageContentType.NotSet;
            model.HighlightLanguagesEnum = HighlightLanguages.getDictionary();

            return(View(model));
        }
示例#10
0
        public ActionResult WikiPage()
        {
            WikiViewModel model = new WikiViewModel();

            DecorateViewModel <WikiViewModel>(model);

            model.Spaces           = _wikiSpaceService.Get();
            model.ContentTypesEnum = WikiPageContentType.NotSet;

            return(View(model));
        }
示例#11
0
        public PartialViewResult ArticleList(string category, int datacount)
        {
            WikiViewModel wikiViewModel = GetWikiViewModel(category, datacount);

            if (datacount >= WikiViewModel.VIEW_COUNT_INTERVAL)
            {
                wikiViewModel.WikiList = wikiViewModel.WikiList.Skip(datacount - WikiViewModel.VIEW_COUNT_INTERVAL).ToList();
            }
            wikiViewModel.ListType = category;

            return(PartialView(wikiViewModel));
        }
示例#12
0
 /// <summary>
 /// Handles the BuildToggled event of the KeyboardLurker control.
 /// </summary>
 /// <param name="sender">The source of the event.</param>
 /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
 private void KeyboardLurker_OpenWikiPressed(object sender, Winook.KeyboardMessageEventArgs e)
 {
     if (this._wikiViewModel != null && this._wikiViewModel.IsActive)
     {
         this.DeactivateItem(this._wikiViewModel, true);
         this._wikiViewModel = null;
     }
     else
     {
         this._wikiViewModel = this._container.GetInstance <WikiViewModel>();
         this.ActivateItem(this._wikiViewModel);
     }
 }
示例#13
0
        public IActionResult ViewWiki([FromQuery] string wikiTitle)
        {
            IFixitApi ifa = new IFixitApi();

            //string ns = HttpUtility.UrlEncode(wikiNamespace);
            string         title = HttpUtility.UrlEncode(wikiTitle);
            IFixitWikiPost data  = ifa.MakeWikiCall("wikis/CATEGORY/" + title + "?pretty");

            WikiViewModel ifvm = new WikiViewModel();

            ifvm.WikiPost = data;

            return(View("ViewWiki", ifvm));
        }
示例#14
0
        public async Task <IActionResult> ReadDoc(string collectionTitle, string articleTitle)
        {
            var database = await _dbContext.Collections.Include(t => t.Articles).ToListAsync();

            var currentCollection = database.SingleOrDefault(t => t.CollectionTitle.ToLower() == collectionTitle.ToLower());

            if (currentCollection == null)
            {
                return(NotFound());
            }
            var currentArticle = currentCollection.Articles.SingleOrDefault(t => t.ArticleTitle.ToLower() == articleTitle.ToLower());

            if (currentArticle == null)
            {
                return(NotFound());
            }
            var pipeline = new MarkdownPipelineBuilder()
                           .UseAbbreviations()
                           .UseAutoIdentifiers()
                           .UseCitations()
                           .UseCustomContainers()
                           .UseDefinitionLists()
                           .UseEmphasisExtras()
                           .UseFigures()
                           .UseFooters()
                           .UseFootnotes()
                           .UseGridTables()
                           .UseMathematics()
                           .UseMediaLinks()
                           .UsePipeTables()
                           .UseListExtras()
                           .UseTaskLists()
                           .UseDiagrams()
                           .UseAutoLinks()
                           .Build();
            var model = new WikiViewModel
            {
                Collections       = database,
                CurrentCollection = currentCollection,
                CurrentArticle    = currentArticle,
                RenderedContent   = Markdown.ToHtml(currentArticle.ArticleContent, pipeline)
            };

            ViewBag.Des = Markdown.ToPlainText(currentArticle.ArticleContent).OTake(1000);
            return(View(model));
        }
示例#15
0
        // GET: Admin/Wiki
        public ActionResult Index(string selectedLetter)
        {
            var model = new WikiViewModel {
                SelectedLetter = selectedLetter
            };

            model.FirstLetters = reposetory.GetWikiWords()
                                 .GroupBy(p => p.Word.Substring(0, 1))
                                 .Select(x => x.Key.ToUpper())
                                 .ToList();

            if (string.IsNullOrEmpty(selectedLetter) || selectedLetter == "Alle")
            {
                model.Words = reposetory
                              .GetWikiWords()
                              .ToList();
            }
            else
            {
                if (selectedLetter == "0-9")
                {
                    var numbers = Enumerable.Range(0, 10).Select(i => i.ToString());
                    model.Words = reposetory.GetWikiWords()
                                  .Where(p => numbers.Contains(p.Word.Substring(0, 1)))
                                  .ToList();
                }
                else
                {
                    model.Words = reposetory.GetWikiWords()
                                  .Where(p => p.Word.StartsWith(selectedLetter))
                                  .ToList();
                }
            }

            return(View(model));
        }
示例#16
0
 public RacePage()
 {
     InitializeComponent();
     BindingContext = viewModel = new WikiViewModel();
 }
        /// <summary>
        /// Registers the instances.
        /// </summary>
        private void ShowOverlays(int processId)
        {
            Execute.OnUIThread(() =>
            {
                this._currentDockingHelper = new DockingHelper(processId, this._settingsService);

                // Keyboard
                var keyboarHelper    = new PoeKeyboardHelper(processId);
                this._keyboardLurker = new KeyboardLurker(processId, this._settingsService, this._keyCodeService, keyboarHelper);
                this._keyboardLurker.BuildToggled += this.KeyboardLurker_BuildToggled;

                // Mouse
                this._mouseLurker                 = new MouseLurker(processId, this._settingsService);
                this._mouseLurker.ItemDetails    += this.ShowItemDetails;
                this._mouseLurker.ItemIdentified += this.ShowMap;

                // Clipboard
                this._clipboardLurker = new ClipboardLurker();

                this._container.RegisterInstance(typeof(ProcessLurker), null, this._processLurker);
                this._container.RegisterInstance(typeof(MouseLurker), null, this._mouseLurker);
                this._container.RegisterInstance(typeof(ClientLurker), null, this._currentLurker);
                this._container.RegisterInstance(typeof(PlayerService), null, this._currentCharacterService);
                this._container.RegisterInstance(typeof(ClipboardLurker), null, this._clipboardLurker);
                this._container.RegisterInstance(typeof(DockingHelper), null, this._currentDockingHelper);
                this._container.RegisterInstance(typeof(PoeKeyboardHelper), null, keyboarHelper);
                this._container.RegisterInstance(typeof(KeyboardLurker), null, this._keyboardLurker);

                this._skillTimelineOverlay    = this._container.GetInstance <BuildTimelineViewModel>();
                this._incomingTradeBarOverlay = this._container.GetInstance <TradebarViewModel>();
                this._outgoingTradeBarOverlay = this._container.GetInstance <OutgoingbarViewModel>();
                this._popup           = this._container.GetInstance <PopupViewModel>();
                this._lifeBulbOverlay = this._container.GetInstance <LifeBulbViewModel>();
                this._manaBulbOverlay = this._container.GetInstance <ManaBulbViewModel>();
                this._afkService      = this._container.GetInstance <AfkService>();
                this._hideoutOverlay  = this._container.GetInstance <HideoutViewModel>();
                this._helpOverlay     = this._container.GetInstance <HelpViewModel>();
                this._helpOverlay.Initialize(this.ToggleBuildHelper);
                this._buildViewModel = this._container.GetInstance <BuildViewModel>();
                this._wikiViewModel  = this._container.GetInstance <WikiViewModel>();
                this.ActivateItem(this._wikiViewModel);

                if (this._settingsService.BuildHelper)
                {
                    this.ActivateItem(this._buildViewModel);
                }

                if (this._settingsService.BuildHelper)
                {
                    if (this._settingsService.TimelineEnabled)
                    {
                        this.ActivateItem(this._skillTimelineOverlay);
                    }

                    this.ActivateItem(this._helpOverlay);
                }

                if (this._settingsService.IncomingTradeEnabled)
                {
                    this.ActivateItem(this._incomingTradeBarOverlay);
                }

                if (this._settingsService.OutgoingTradeEnabled)
                {
                    this.ActivateItem(this._outgoingTradeBarOverlay);
                }

                if (this._settingsService.HideoutEnabled)
                {
                    this.ActivateItem(this._hideoutOverlay);
                }

                this.ActivateItem(this._lifeBulbOverlay);
                this.ActivateItem(this._manaBulbOverlay);
            });
        }