public static async Task <DateTime> GetLastReplyAsync(int?rootId, JCarrollOnlineV3DbContext data) { if (rootId != null) { if (data == null) { throw new ArgumentNullException(nameof(data)); } Models.ThreadEntry fte = await data.ForumThreadEntrys.Where(m => m.Root.Id == rootId).OrderByDescending(m => m.UpdatedAt).FirstOrDefaultAsync().ConfigureAwait(false); return(fte.UpdatedAt); } else { return(DateTime.Now); } }
public MicroPostsController(JCarrollOnlineV3DbContext context) { _context = context; }
public ForaController(JCarrollOnlineV3DbContext context) { _context = context; }
public static async Task <LastForumThread> GetLatestThreadDataAsync(Forum forum, JCarrollOnlineV3DbContext data) { LastForumThread lastThreadViewModel = new LastForumThread(); if (data == null) { throw new ArgumentNullException(nameof(data)); } Models.ThreadEntry forumThreadEntry = null; try { forumThreadEntry = await data.ForumThreadEntrys.Where(i => i.Forum.Id == forum.Id) .Include(i => i.Author) .OrderByDescending(i => i.UpdatedAt) .FirstOrDefaultAsync().ConfigureAwait(false); } catch (Exception exception) { Console.WriteLine($"ForumThreadEntrys query threw and exception: {exception.Message}"); } if (forumThreadEntry != null) { lastThreadViewModel.InjectFrom(forumThreadEntry); lastThreadViewModel.Author = new ApplicationUserViewModel(); lastThreadViewModel.Author.InjectFrom(forumThreadEntry.Author); lastThreadViewModel.Forum = new ForaViewModel(); lastThreadViewModel.Forum.InjectFrom(forumThreadEntry.Forum); bool rootNotFound = true; if (forumThreadEntry.Parent?.Id != null) { while (rootNotFound) { forumThreadEntry = await data.ForumThreadEntrys.FindAsync(forumThreadEntry.Parent?.Id).ConfigureAwait(false); if (forumThreadEntry != null) { if (forumThreadEntry.Parent?.Id == null) { rootNotFound = false; } } } } lastThreadViewModel.PostRoot = forumThreadEntry.Id; return(lastThreadViewModel); } return(null); }
public static async Task <int> GetThreadCountAsync(Forum forum, JCarrollOnlineV3DbContext data) { return(data == null ? throw new ArgumentNullException(nameof(data)) : await data.ForumThreadEntrys.Where(i => i.Forum.Id == forum.Id && i.Parent == null).CountAsync().ConfigureAwait(false)); }
//private static Logger _logger = LogManager.GetCurrentClassLogger(); public static async Task <int> GetThreadPostCountAsync(int thread, JCarrollOnlineV3DbContext data) { return(data == null ? throw new ArgumentNullException(nameof(data)) : await data.ForumThreadEntrys.Where(i => i.Root.Id == thread).AsQueryable().CountAsync().ConfigureAwait(false)); }
public ForumThreadsController(JCarrollOnlineV3DbContext context) { _context = context; }
public ApplicationUsersController(JCarrollOnlineV3DbContext context) { _context = context; }