/// <summary> /// Calendar. /// </summary> /// <returns></returns> // GET: /<controller>/ public async Task <IActionResult> Calendar(int skip, int take) { // Set page expiration... UpdateExpirationToNextDay(); DateTime dtFilter = DateTime.Now; //#if DEBUG // dtFilter = new DateTime(2016, 01, 01); //#endif // Post metas... List <int> catList = _SetViewBagAndGetCats(); // Post provider... PostProvider provider = new PostProvider(AppContext); ViewBag.pageMax = await provider?.Count(new Dictionary <string, object> { { QueryFilter.Categorie, catList }, { QueryFilter.EndDate, dtFilter } }); ViewBag.Posts = await provider?.Get(new Dictionary <string, object> { { QueryFilter.Categorie, catList }, { QueryFilter.EndDate, dtFilter } }, skip, take); ViewBag.pageSkip = skip; ViewBag.pageTake = 20; ViewBag.calendar = true; //ViewData["Message"] = $"Post: PageId={this.RouteData.Values[CRoute.PageIdTagName]}, PostId={this.RouteData.Values[CRoute.PostIdTagName]}"; return(View("Index")); }
/// <summary> /// List of post. /// </summary> /// <returns></returns> // GET: /<controller>/ public async Task <IActionResult> Index(int skip, int take) { // Set page expiration... UpdateExpirationToNextDay(); // Page metas... List <int> catList = _SetViewBagAndGetCats(); bool excludeEvent = (AppContext?.Page?.GetPageFiltering() == PageFiltering.ExcludeEvent); // Post provider... PostProvider provider = new PostProvider(AppContext); ViewBag.pageMax = await provider?.Count(new Dictionary <string, object> { { QueryFilter.Categorie, catList }, { QueryFilter.ExcludePostsEvent, excludeEvent }, }); ViewBag.Posts = await provider?.Get(new Dictionary <string, object> { { QueryFilter.Categorie, catList }, { QueryFilter.ExcludePostsEvent, excludeEvent }, }, skip, take); ViewBag.pageSkip = skip; ViewBag.pageTake = 20; //ViewData["Message"] = $"Posts: PageId={this.RouteData.Values[CRoute.PageIdTagName]}"; return(View()); }
public async Task <JsonPost> Get(int id) { try { JsonPost jsnPost = null; // Get and return the post... if (id == 0) { // Call for adding a new post... jsnPost = new JsonPost(AppContext, null, true); jsnPost.Title = "Votre titre ici..."; jsnPost.TextContain = "Votre texte la..."; } else { PostProvider provider = new PostProvider(AppContext); Post post = await provider?.Get(id); jsnPost = new JsonPost(AppContext, post, true); } return(jsnPost); } catch (Exception e) { AppContext?.Log?.LogError("Exception getting post - HttpGet:/api/post/{0}: {1}", id, e.Message); return(null); } }
private async Task _SetViewag() { IEnumerable <Models.Post> latest = null; DateTime dtFilter = DateTime.Now; //#if DEBUG // dtFilter = new DateTime(2016, 01, 01); //#endif // Page metas... if (AppContext.Region == null) { ViewBag.MetaTitle = "VIE ET PARTAGE"; ViewBag.MetaDescription = AppContext.Module.DefaultDescription; ViewBag.MetaKeywords = $"{AppContext.Module.DefaultPageKeywords}, {AppContext?.Site?.GetRegionsAsString().ToLower()}"; ViewBag.MetaRobotsTerms = "index, follow"; //ViewBag.HideMenu = true; ViewBag.HideNavPath = true; ViewBag.ForAllRegion = true; } else { ViewBag.MetaTitle = $"{AppContext?.Region?.StringValue} - VIE ET PARTAGE"; ViewBag.MetaDescription = $"Vie et partage {AppContext?.Region?.StringValue} - {AppContext.Module.DefaultDescription}"; ViewBag.MetaKeywords = $"{AppContext?.Region?.StringValue?.ToLower()}, {AppContext.Module.DefaultPageKeywords}"; ViewBag.MetaRobotsTerms = "index, follow"; ViewBag.HideNavPath = true; ViewBag.ForAllRegion = false; } // Post provider... PostProvider provider = new PostProvider(AppContext); // Post data... ViewBag.Retaites = await provider?.Get(new Dictionary <string, object> { { QueryFilter.Categorie, new List <int> { 14 /*Retraite*/ } }, { QueryFilter.EndDate, dtFilter } }, 0, 6); ViewBag.Events = await provider?.Get(new Dictionary <string, object> { { QueryFilter.Categorie, new List <int> { 13 /*Calendrier*/ } }, { QueryFilter.EndDate, dtFilter } }, 0, 6); ViewBag.Announcements = latest = await provider?.Get(new Dictionary <string, object> { { QueryFilter.Categorie, new List <int> { 15 /*Annonces*/ } }, }, 0, 20); //int nbLatest = ((latest?.Count() ?? 0) == 0) ? 11 : 6; ViewBag.Latests = await provider?.Get(new Dictionary <string, object> { { QueryFilter.ExcludePostsEvent, true }, { $"{QueryFilter.Categorie}!", new List <int> { 13 /*Retraite*/, 14 /*Calendrier*/, 15 /*Annonces*/ } }, }, 0, 6 /*nbLatest*/); }
public async Task <JsonListPost> Get([FromBody] JsonListSettings settings) { try { // Initialisation... Dictionary <string, string> defaultFilters = settings?.DefaultFilters; if (settings == null || settings.Filters == null) { settings = new JsonListSettings() { Count = 0, Skip = 0, Take = 20, Filters = new Dictionary <string, string>() { { QueryFilter.MineToo, "true" } } }; if ((AppContext.User?.HasRole(ClaimValueRole.Administrator) ?? false) == true || (AppContext.User?.HasRole(ClaimValueRole.Publicator) ?? false) == true) { settings.Filters.Add(QueryFilter.State, "-1"); } else { settings.Filters.Add(QueryFilter.State, "1"); } if (settings == null || settings.Filters == null) { _Log.LogCritical("Not enough memory to allocate a new JsonListSettings!"); return(null); } } if (defaultFilters != null) { foreach (KeyValuePair <string, string> kp in defaultFilters) { settings.Filters.Add(kp.Key, kp.Value); } } // By default: Always add childs items of the categories... if (settings.Filters.ContainsKey(QueryFilter.ShowChildsCategoriesPosts) == false) { settings.Filters.Add(QueryFilter.ShowChildsCategoriesPosts, "true"); } // Get posts based on filter... PostProvider provider = new PostProvider(AppContext); Dictionary <string, object> filters = provider?.ConvertFilter(settings.Filters); IEnumerable <Post> posts = await provider?.Get(filters, settings.Skip, settings.Take); JsonListPost list = new JsonListPost(settings, posts?.Select(p => new JsonPost(AppContext, p))); if (settings.Skip == 0 && settings.Count == 0 && list != null) { // Get posts total count... list.Settings.Count = await provider?.Count(filters); } // Clean settings... if (defaultFilters != null) { foreach (KeyValuePair <string, string> kp in defaultFilters) { settings.Filters.Remove(kp.Key); } } return(list); } catch (Exception e) { AppContext?.Log?.LogError("Exception getting posts - HttpPost:/api/post/list: {0}", e.Message); return(null); } }