//Статистика форума public static statForumList Stat_Forum() { var t = new statForumList(); using (var db = new ApplicationDbContext()) { var d = DateTime.Now.AddDays(-1); var d2 = DateTime.Now.AddDays(-2); t.count_list = db.tForumLists.Count(a => !a.tForumList_hide); t.count_NewForumThemes = db.tForumThemes.Count(a => a.tForumThemes_datetime >= d); t.count_NewForumMessages = db.tForumMessages.Count(a => a.tForumMessages_datetime >= d); t.count_OldForumThemes = db.tForumThemes.Where(a => a.tForumThemes_datetime >= d2).Count(b => b.tForumThemes_datetime <= d); t.count_OldForumMessages = db.tForumMessages.Where(a => a.tForumMessages_datetime >= d2).Count(b => b.tForumMessages_datetime <= d); t.count_View = db.StatForum.Count(); if (HttpRuntime.Cache["LoggedInUsers"] != null) { var loggedOnUsers = (List <string>)HttpRuntime.Cache["LoggedInUsers"]; t.count_Users = loggedOnUsers.Count(); } else { t.count_Users = 0; } t.count_ForumMessages = db.tForumMessages.Count(); t.count_ForumThemes = db.tForumThemes.Count(); var i = 0; foreach (var item in db.tForumMessages.GroupBy(a => a.tUsers).OrderByDescending(a => a.Count())) { if (!string.IsNullOrEmpty(t.mega_User)) { t.mega_User += ", "; } t.mega_User += item.First().tUsers.NickName; i++; if (i == 3) { break; } } db.Dispose(); } return(t); }
//Статистика форумаID public static statForumList Stat_ForumList(int id) { var t = new statForumList(); using (var db = new ApplicationDbContext()) { var d = DateTime.Now.AddDays(-1); var d2 = DateTime.Now.AddDays(-2); t.count_NewForumThemes = db.tForumThemes.Where(a => a.tForumList.Id == id).Count(a => a.tForumThemes_datetime >= d); t.count_NewForumMessages = db.tForumMessages.Where(a => a.tForumThemes.tForumList.Id == id).Count(a => a.tForumMessages_datetime >= d); t.count_OldForumThemes = db.tForumThemes.Where(a => a.tForumList.Id == id).Where(a => a.tForumThemes_datetime >= d2).Count(b => b.tForumThemes_datetime <= d); t.count_OldForumMessages += db.tForumMessages.Where(a => a.tForumThemes.tForumList.Id == id).Where(a => a.tForumMessages_datetime >= d2).Count(b => b.tForumMessages_datetime <= d); t.count_View = db.StatForumList.Count(a => a.TForumLists.Id == id); t.count_Users = db.tForumMessages.Where(a => a.tForumThemes.tForumList.Id == id).GroupBy(a => a.tUsers).Count(); t.count_ForumMessages = db.tForumMessages.Count(a => a.tForumThemes.tForumList.Id == id); t.count_ForumThemes = db.tForumThemes.Count(a => a.tForumList.Id == id); db.Dispose(); } return(t); }
//Статистика форума public static statForumList Stat_Forum() { var t = new statForumList(); using (var db = new ApplicationDbContext()) { var d = DateTime.Now.AddDays(-1); var d2 = DateTime.Now.AddDays(-2); t.count_list = db.tForumLists.Count(a => !a.tForumList_hide); t.count_NewForumThemes = db.tForumThemes.Count(a => a.tForumThemes_datetime >= d); t.count_NewForumMessages = db.tForumMessages.Count(a => a.tForumMessages_datetime >= d); t.count_OldForumThemes = db.tForumThemes.Where(a => a.tForumThemes_datetime >= d2).Count(b => b.tForumThemes_datetime <= d); t.count_OldForumMessages = db.tForumMessages.Where(a => a.tForumMessages_datetime >= d2).Count(b => b.tForumMessages_datetime <= d); t.count_View = db.StatForum.Count(); if (HttpRuntime.Cache["LoggedInUsers"] != null) { var loggedOnUsers = (List<string>)HttpRuntime.Cache["LoggedInUsers"]; t.count_Users = loggedOnUsers.Count(); } else { t.count_Users = 0; } t.count_ForumMessages = db.tForumMessages.Count(); t.count_ForumThemes = db.tForumThemes.Count(); var i = 0; foreach (var item in db.tForumMessages.GroupBy(a => a.tUsers).OrderByDescending(a => a.Count())) { if (!string.IsNullOrEmpty(t.mega_User)) { t.mega_User += ", "; } t.mega_User += item.First().tUsers.NickName; i++; if (i == 3) break; } db.Dispose(); } return t; }
//Статистика форумаID public static statForumList Stat_ForumList(int id) { var t = new statForumList(); using (var db = new ApplicationDbContext()) { var d = DateTime.Now.AddDays(-1); var d2 = DateTime.Now.AddDays(-2); t.count_NewForumThemes = db.tForumThemes.Where(a => a.tForumList.Id == id).Count(a => a.tForumThemes_datetime >= d); t.count_NewForumMessages = db.tForumMessages.Where(a => a.tForumThemes.tForumList.Id == id).Count(a => a.tForumMessages_datetime >= d); t.count_OldForumThemes = db.tForumThemes.Where(a => a.tForumList.Id == id).Where(a => a.tForumThemes_datetime >= d2).Count(b => b.tForumThemes_datetime <= d); t.count_OldForumMessages += db.tForumMessages.Where(a => a.tForumThemes.tForumList.Id == id).Where(a => a.tForumMessages_datetime >= d2).Count(b => b.tForumMessages_datetime <= d); t.count_View = db.StatForumList.Count(a => a.TForumLists.Id == id); t.count_Users = db.tForumMessages.Where(a => a.tForumThemes.tForumList.Id == id).GroupBy(a => a.tUsers).Count(); t.count_ForumMessages = db.tForumMessages.Count(a => a.tForumThemes.tForumList.Id == id); t.count_ForumThemes = db.tForumThemes.Count(a => a.tForumList.Id == id); db.Dispose(); } return t; }