private async Task ReadArticlesAsync(string tag) { BlogArticles = new List <Article>(10); IEnumerable <Article> documents; if (!String.IsNullOrEmpty(tag)) { documents = (await repository.GetDocuments(d => d.ListName == Blog)).Where(d => d.Tags?.IndexOf(tag, StringComparison.OrdinalIgnoreCase) >= 0).OrderByDescending(d => d.Date).Take(50); } else { documents = (await repository.GetDocuments(d => d.ListName == Blog)).OrderByDescending(d => d.Date); } foreach (Article article in documents) { // Set featured articles if (null == HeadlineArticle && article.FeaturedLevel == 1) { HeadlineArticle = article; } else if (null == SideFeaturedArticle_1 && article.FeaturedLevel == 2) { SideFeaturedArticle_1 = article; } else if (null == SideFeaturedArticle_2 && article.FeaturedLevel == 3) { SideFeaturedArticle_2 = article; } else { BlogArticles.Add(article); } } }
public async Task OnGet(string category = null) { await this.LogGetActivity(); if (String.IsNullOrEmpty(category)) { IEnumerable <CommentedLinkItem> documents = await repository.GetDocuments(d => d.ListName == listName); CommentedLinks = documents.OrderByDescending(d => d.Date); } else { string permaLinkLower = category.ToLower(); ReferencedPhotoPage = (await repository.GetDocuments(d => d.UrlTitle == permaLinkLower)).OrderByDescending(d => d.Date).FirstOrDefault(); await this.LogActivity(permaLinkLower); if (ReferencedPhotoPage == null) { // Now check if a category matches the given argument IEnumerable <CommentedLinkItem> documents = await repository.GetDocuments(d => d.ListName == listName && d.Category == category); CommentedLinks = documents.OrderByDescending(d => d.Date); } else { if (ReferencedPhotoPage.Infos != null) { List <ContentItem> infos = new List <ContentItem>(ReferencedPhotoPage.Infos); this.HeaderItem = infos.Find(c => c.SortOrder == 0); infos.ForEach(c => c.ReferenceId = ReferencedPhotoPage.Id); } } } }
public async Task <IActionResult> Link(string category, string nickname) { Shortcut target = (await repository.GetDocuments(s => s.Category == category && s.Nickname == nickname)).FirstOrDefault(); if (null != target) { return(this.Redirect(target.Url)); } return(new NotFoundResult()); }
public async Task OnGet(string category = null) { if (String.IsNullOrEmpty(category)) { IEnumerable <CommentedLinkItem> documents = await repository.GetDocuments(); CommentedLinks = documents.OrderByDescending(d => d.Date); } else { IEnumerable <CommentedLinkItem> documents = await repository.GetDocuments(d => d.Category == category); CommentedLinks = documents.OrderByDescending(d => d.Date); } }
public async Task <IActionResult> OnGetChangeLinkAsync(string documentid) { if (String.IsNullOrEmpty(documentid)) { return(new NotFoundResult()); } NewTrack = await repository.GetDocument(documentid); if (null == NewTrack) { return(new NotFoundResult()); } Categories = await categoryRepository.GetDocuments(d => d.ListName == "Ausfahrten"); return(Page()); }
public async Task <IActionResult> OnGetAsync(string permalink = null, string language = null) { if (String.IsNullOrEmpty(permalink)) { return(new NotFoundResult()); } ReferencedArticle = (await repository.GetDocuments(d => d.ListName == Blog && d.UrlTitle == permalink.ToLower())).OrderByDescending(d => d.Date).FirstOrDefault(); if (ReferencedArticle == null) { return(new NotFoundResult()); } Language = "de"; if (!String.IsNullOrEmpty(language)) { Language = language; ReferencedArticle.Title = await _functionSiteTools.Translate(language, ReferencedArticle.Title); ReferencedArticle.Summary = await _functionSiteTools.Translate(language, ReferencedArticle.Summary); if (!String.IsNullOrEmpty(ReferencedArticle.ArticleContent)) { ReferencedArticle.ArticleContent = await _functionSiteTools.Translate(language, ReferencedArticle.ArticleContent); } } this.ViewData["Keywords"] = this.ReferencedArticle.Tags; this.ViewData["Description"] = ReferencedArticle.Title; await this.LogActivity(permalink); return(Page()); }
public async Task OnGetAsync() { Headline = await this.repository.GetDocumentByKey("homepage-headline"); IEnumerable <CommentedLinkItem> documents = await photoRepository.GetDocuments(d => d.ListName == listName); PhotoList = documents.OrderByDescending(d => d.Date); }
public async Task <IActionResult> OnGetAsync(string category = null, string permalink = null, string language = null) { if (String.IsNullOrEmpty(category)) { IEnumerable <TrackItem> documents = await repository.GetDocuments(d => d.ListName == "Ausfahrten"); Tracks = documents.OrderByDescending(d => d.Date); this.ViewData["Title"] = "Radausfahrten"; this.ViewData["Description"] = "Radausfahrten - Köln, Bergisches Land, Eifel"; await this.LogGetActivity(); } else if (String.IsNullOrEmpty(permalink)) { string categoryLower = category.ToLower(); IEnumerable <TrackItem> documents = await repository.GetDocuments(d => d.ListName == "Ausfahrten" && d.Category.ToLower() == categoryLower); Tracks = documents.OrderByDescending(d => d.Date); this.ViewData["Title"] = "Radausfahrten " + category; this.ViewData["Description"] = $"Radausfahrten - {category}"; await this.LogActivity(categoryLower); } else { string categoryLower = category.ToLower(); string permaLinkLower = permalink.ToLower(); ReferencedTrack = (await repository.GetDocuments(d => d.ListName == "Ausfahrten" && d.Category.ToLower() == categoryLower && d.UrlTitle == permaLinkLower)).OrderByDescending(d => d.Date).FirstOrDefault(); if (ReferencedTrack == null) { return(new NotFoundResult()); } ReferencedTrack.Language = "de"; if (!String.IsNullOrEmpty(language)) { ReferencedTrack.Language = language; ReferencedTrack.Description = await _functionSiteTools.Translate(language, ReferencedTrack.Description); } this.ViewData["Title"] = ReferencedTrack.Title; this.ViewData["Description"] = "Die Tourbeschreibung."; if (!String.IsNullOrEmpty(ReferencedTrack.PlainDescription)) { this.ViewData["Description"] = ReferencedTrack.PlainDescription; } await this.LogActivity($"{categoryLower}/{permaLinkLower}"); } return(Page()); }
public async Task OnGet(string category = null) { await this.LogGetActivity(); if (String.IsNullOrEmpty(category)) { IEnumerable <CommentedLinkItem> documents = await repository.GetDocuments(d => d.ListName == listName); CommentedLinks = documents.OrderByDescending(d => d.Date); } else { IEnumerable <CommentedLinkItem> documents = await repository.GetDocuments(d => d.ListName == listName && d.Category == category); CommentedLinks = documents.OrderByDescending(d => d.Date); } }
public async Task <IActionResult> OnPostAsync() { if (ModelState.IsValid) { IEnumerable <Shortcut> list = await repository.GetDocuments(s => s.Category == NewShortcut.Category && s.Nickname == NewShortcut.Nickname); Shortcut existingOne = list.FirstOrDefault(); if (null != existingOne) { NewShortcut.Id = existingOne.Id; } await repository.UpsertDocument(NewShortcut); ViewData["Message"] = "Shortcut gespeichert."; return(RedirectToPage("./Index")); } else { ViewData["Message"] = "Schiefgegangen"; return(Page()); } }
public async Task <IActionResult> OnPostAsync() { if (ModelState.IsValid) { IEnumerable <ListCategory> list = await repository.GetDocuments(s => s.ListName == Category.ListName && s.Category == Category.Category); ListCategory existingOne = list.FirstOrDefault(); if (null != existingOne) { Category.Id = existingOne.Id; } await repository.UpsertDocument(Category); ViewData["Message"] = "Kategorie gespeichert."; return(RedirectToPage("Kategorien")); } else { ViewData["Message"] = "Schiefgegangen"; return(Page()); } }
public async Task <IActionResult> OnGetAsync(string permalink = null, string registrationkey = null) { if (String.IsNullOrEmpty(permalink)) { return(new NotFoundResult()); } string permaLinkLower = permalink.ToLower(); ReferencedCalendarItem = (await _repository.GetDocuments(d => d.UrlTitle == permaLinkLower)).OrderByDescending(d => d.StartDate).FirstOrDefault(); if (null == ReferencedCalendarItem || !ReferencedCalendarItem.RegistrationOpen && !User.IsInAnyRole(KnownRoles.CalendarCoordinatorRoles)) { return(new NotFoundResult()); } CalendarItemId = ReferencedCalendarItem.Id; UseCaptcha = !User.Identity.IsAuthenticated && ReferencedCalendarItem.PublicListing; List <Member> members = (ReferencedCalendarItem.Members != null) ? new List <Member>(ReferencedCalendarItem.Members) : new List <Member>(); NewMember = new Member { UniqueId = Guid.NewGuid().ToString(), RegistrationDate = DateTime.UtcNow, Count = 1, RegistrationKey = registrationkey }; return(Page()); }
public async Task OnGet() { Shortcuts = await repository.GetDocuments(); }
public async Task OnGetAsync() { CategoryList = await repository.GetDocuments(); }
public async Task OnGetAsync() { Categories = await _categoryRepository.GetDocuments(d => d.ListName == EventCategoriesName); this.NewEvent.Host = this.User.Identity.Name; }
public async Task OnGetAsync() { Categories = await categoryRepository.GetDocuments(d => d.ListName == "Fotos"); }
public async Task <IActionResult> OnGetAsync(string permalink = null, string language = null, string message = null) { Categories = await _categoryRepository.GetDocuments(d => d.ListName == CategoryListName); CategoriesDisplay = Categories.ToDictionary(t => t.Category, t => t.CategoryDisplay ?? t.Category); Message = message; IEnumerable <CalendarItem> documents; OverviewArticle = await _articleRepository.GetDocumentByKey(ArticleKey); DateTime compareDate = DateTime.Today.AddDays(-8); if (String.IsNullOrEmpty(permalink)) { if (User.Identity.IsAuthenticated) { documents = await _calendarRepository.GetDocuments(); } else { documents = await _calendarRepository.GetDocuments(d => d.EndDate > compareDate && d.PublicListing == true); } CalendarItems = documents.OrderBy(d => d.StartDate); await this.LogGetActivity(); } else { string permaLinkLower = permalink.ToLower(); ReferencedCalenderItem = (await _calendarRepository.GetDocuments(d => d.UrlTitle == permaLinkLower)).OrderByDescending(d => d.StartDate).FirstOrDefault(); await this.LogActivity(permaLinkLower); if (ReferencedCalenderItem == null) { // Now check if a category matches the given argument documents = await _calendarRepository.GetDocuments(d => d.EndDate > compareDate && d.CalendarName.ToLower() == permaLinkLower && d.PublicListing == true); if (null == documents) { return(new NotFoundResult()); } CalendarItems = documents.OrderBy(d => d.StartDate); return(Page()); } ReferencedCalenderItem.Language = "de"; if (!ReferencedCalenderItem.EnableTranslations) { language = String.Empty; } if (!String.IsNullOrEmpty(language)) { ReferencedCalenderItem.Language = language; if (language != "de") { ReferencedCalenderItem.Title = await _functionSiteTools.Translate(language, ReferencedCalenderItem.Title); ReferencedCalenderItem.Summary = await _functionSiteTools.Translate(language, ReferencedCalenderItem.Summary); ReferencedCalenderItem.Description = await _functionSiteTools.Translate(language, ReferencedCalenderItem.Description); } } if (!ReferencedCalenderItem.PublicListing) { ViewData["NoRobots"] = true; } if (ReferencedCalenderItem.Infos != null) { List <ContentItem> infos = new List <ContentItem>(ReferencedCalenderItem.Infos); this.HeaderItem = infos.Find(c => c.SortOrder == 0); infos.ForEach(c => c.ReferenceId = ReferencedCalenderItem.Id); if (ReferencedCalenderItem.Language != "de") { foreach (ContentItem c in infos) { c.Title = await _functionSiteTools.Translate(ReferencedCalenderItem.Language, c.Title); c.Description = await _functionSiteTools.Translate(ReferencedCalenderItem.Language, c.Description); } } } } return(Page()); }
public async Task <IActionResult> OnGetAsync(string category = null, string permalink = null, string language = null) { IEnumerable <TrackItem> documents; if (String.IsNullOrEmpty(category)) { documents = await repository.GetDocuments(d => d.ListName == ListName); ArticleKey = "wanderungen"; OverviewArticle = await articleRepository.GetDocumentByKey(ArticleKey); Tracks = documents.OrderByDescending(d => d.Date); this.ViewData["Title"] = ListName; this.ViewData["Description"] = "Wandern in der Eifel, im Bergischen Land, Siebengebirge, am Rhein und auf Reisen"; await this.LogGetActivity(); } else if (String.IsNullOrEmpty(permalink)) { string categoryLower = category.ToLower(); documents = await repository.GetDocuments(d => d.ListName == ListName && d.Category.ToLower() == categoryLower); ArticleKey = "wanderungen-" + categoryLower; OverviewArticle = await articleRepository.GetDocumentByKey(ArticleKey); if (null == OverviewArticle) { OverviewArticle = await articleRepository.GetDocumentByKey("wanderungen"); } Tracks = documents.OrderByDescending(d => d.Date); this.ViewData["Title"] = $"{ListName} - {category}"; this.ViewData["Description"] = $"Wanderungen - {category}"; await this.LogActivity(categoryLower); } else { string categoryLower = category.ToLower(); string permaLinkLower = permalink.ToLower(); ReferencedTrack = (await repository.GetDocuments(d => d.ListName == ListName && d.Category.ToLower() == categoryLower && d.UrlTitle == permaLinkLower)).OrderByDescending(d => d.Date).FirstOrDefault(); if (ReferencedTrack == null) { return(new NotFoundResult()); } ReferencedTrack.Language = "de"; if (!String.IsNullOrEmpty(language)) { ReferencedTrack.Language = language; ReferencedTrack.Description = await _functionSiteTools.Translate(language, ReferencedTrack.Description); } this.ViewData["Title"] = ReferencedTrack.Title; this.ViewData["Description"] = "Die Beschreibung zur Wanderung."; await this.LogActivity($"{categoryLower}/{permaLinkLower}"); } Categories = await categoryRepository.GetDocuments(d => d.ListName == CategoryListName); CategoriesDisplay = Categories.ToDictionary(t => t.Category, t => t.CategoryDisplay ?? t.Category); if (null != Tracks) { foreach (TrackItem track in Tracks) { if (CategoriesDisplay.ContainsKey(track.Category)) { track.CategoryDisplay = CategoriesDisplay[track.Category]; } else { track.CategoryDisplay = track.Category; } } } return(Page()); }
public async Task <IActionResult> OnGetAsync(string category = null, string permalink = null, string language = null) { IEnumerable <TrackItem> documents; if (String.IsNullOrEmpty(category)) { return(RedirectToPage("./Ausfahrten")); } else if (String.IsNullOrEmpty(permalink)) { string tourSetLower = category.ToLower(); TourSet = category; documents = await repository.GetDocuments(d => d.TourSet.ToLower() == tourSetLower); if (documents.Count() == 0) { return(new NotFoundResult()); } ArticleKey = "tourset-" + tourSetLower; OverviewArticle = await articleRepository.GetDocumentByKey(ArticleKey); Tracks = documents.OrderBy(d => d.Date); if (null != OverviewArticle) { this.ViewData["Title"] = OverviewArticle.Title; if (!String.IsNullOrEmpty(OverviewArticle.PlainSummary)) { this.ViewData["Description"] = OverviewArticle.PlainSummary; } } await this.LogActivity(tourSetLower); } else { string categoryLower = category.ToLower(); string permaLinkLower = permalink.ToLower(); ReferencedTrack = (await repository.GetDocuments(d => d.UrlTitle == permaLinkLower)).OrderByDescending(d => d.Date).FirstOrDefault(); if (ReferencedTrack == null) { return(new NotFoundResult()); } ReferencedTrack.Language = "de"; if (!String.IsNullOrEmpty(language)) { ReferencedTrack.Language = language; ReferencedTrack.Description = await _functionSiteTools.Translate(language, ReferencedTrack.Description); } this.ViewData["Title"] = ReferencedTrack.Title; if (!String.IsNullOrEmpty(ReferencedTrack.PlainDescription)) { this.ViewData["Description"] = ReferencedTrack.PlainDescription; } await this.LogActivity($"{categoryLower}/{permaLinkLower}"); } Categories = await categoryRepository.GetDocuments(d => d.ListName == CategoryListName); CategoriesDisplay = Categories.ToDictionary(t => t.Category, t => t.CategoryDisplay ?? t.Category); if (null != Tracks) { foreach (TrackItem track in Tracks) { if (CategoriesDisplay.ContainsKey(track.Category)) { track.CategoryDisplay = CategoriesDisplay[track.Category]; } else { track.CategoryDisplay = track.Category; } } } return(Page()); }