public ActionResult AddDraft(CustomizedDashboard dboard) { Content cont = new Content(); cont.Type = "Post"; cont.Title = dboard.PostTitle; var sanitizer = new Ganss.XSS.HtmlSanitizer(); cont.Description = sanitizer.Sanitize(dboard.PostDescription); cont.GUID = Functions.GetRandomGUID(); cont.URL = Functions.ToUrlSlug(dboard.PostTitle, "post", 0); cont.EnableComment = false; cont.CommentEnabledTill = 0; cont.AddedBy = Functions.CurrentUserID(); cont.AddedOn = DateTime.Now; cont.isPublished = false; cont.IsDeleted = false; context.Content.Add(cont); context.SaveChanges(); TempData["PostMessage"] = "Post saved to draft successfully."; return(RedirectToAction("Dashboard")); }
public ActionResult Dashboard() { if (!aclService.HasRight(Rights.ShowDashboard)) { return(RedirectToAction("Details", "Profile")); } CustomizedDashboard dBoard = new CustomizedDashboard(); dBoard.TotalPage = context.Content.Where(x => x.Type == "page" && x.IsDeleted == false).Count(); #region Getting Last 12 Pages var pages = context.Content.Where(m => m.Type == "page" && m.IsDeleted == false).OrderByDescending(m => m.AddedOn).ToList(); var pages1 = from r in pages group r by r.AddedOn.Date.ToString("d") into g select new { Date = g.Key, Pages = g.Count() }; var getPages = pages1.Select(m => m.Pages).ToArray().Take(12); string Last10Pages = String.Join(",", getPages); if (pages1.Count() < 12) { string temp = ""; int tempPages = pages1.Count(); for (int i = 0; i < (12 - tempPages); i++) { temp += "0,"; } Last10Pages = temp + Last10Pages; } dBoard.LastPages = Last10Pages; #endregion dBoard.TotalPost = context.Content.Where(x => x.Type == "post" && x.IsDeleted == false).Count(); #region Getting Last 12 Posts var posts = context.Content.Where(m => m.Type == "post" && m.IsDeleted == false).OrderByDescending(m => m.AddedOn).ToList(); var posts1 = from r in posts group r by r.AddedOn.Date.ToString("d") into g select new { Date = g.Key, Posts = g.Count() }; var getPosts = posts1.Select(m => m.Posts).ToArray().Take(12); string Last10Posts = String.Join(",", getPosts); if (posts1.Count() < 12) { string temp = ""; int tempPosts = posts1.Count(); for (int i = 0; i < (12 - tempPosts); i++) { temp += "0,"; } Last10Posts = temp + Last10Posts; } dBoard.LastPosts = Last10Posts; #endregion dBoard.TotalCategory = context.Category.Where(x => x.IsDeleted == false).Count(); #region Getting Last 12 Categories var category = context.Category.Where(m => m.IsDeleted == false).OrderByDescending(m => m.AddedOn).ToList(); var category1 = from r in category group r by r.AddedOn.Date.ToString("d") into g select new { Date = g.Key, Category = g.Count() }; var getPcategory = category1.Select(m => m.Category).ToArray().Take(12); string Last10Category = String.Join(",", getPcategory); if (category1.Count() < 12) { string temp = ""; int tempPosts = category1.Count(); for (int i = 0; i < (12 - tempPosts); i++) { temp += "0,"; } Last10Category = temp + Last10Category; } dBoard.LastCategories = Last10Category; #endregion dBoard.TotalMedia = context.Media.Where(x => x.IsDeleted == false).Count(); #region Getting Last 12 Medias var media = context.Media.Where(m => m.IsDeleted == false).OrderByDescending(m => m.AddedOn).ToList(); var media1 = from r in media group r by r.AddedOn.Value.Date.ToString("d") into g select new { Date = g.Key, media = g.Count() }; var getMedia = media1.Select(m => m.media).ToArray().Take(12); string Last10Media = String.Join(",", getMedia); if (media1.Count() < 12) { string temp = ""; int tempPosts = media1.Count(); for (int i = 0; i < (12 - tempPosts); i++) { temp += "0,"; } Last10Media = temp + Last10Media; } dBoard.LastMedia = Last10Media; #endregion dBoard.TotalDraft = context.Content.Where(x => x.isPublished == false && x.IsDeleted == false).Count(); #region Getting Last 12 Drafts var drafts = context.Content.Where(m => m.isPublished == false && m.IsDeleted == false).OrderByDescending(m => m.AddedOn).ToList(); var drafts1 = from r in drafts group r by r.AddedOn.Date.ToString("d") into g select new { Date = g.Key, Drafts = g.Count() }; var getDrafts = drafts1.Select(m => m.Drafts).ToArray().Take(12); string Last10Drafts = String.Join(",", getDrafts); if (drafts1.Count() < 12) { string temp = ""; int tempPosts = drafts1.Count(); for (int i = 0; i < (12 - tempPosts); i++) { temp += "0,"; } Last10Drafts = temp + Last10Drafts; } dBoard.LastDrafts = Last10Drafts; #endregion dBoard.TotalUsers = context.User.Where(x => x.IsDeleted == false).Count(); #region Getting Last 12 Users var users = context.User.Where(m => m.IsDeleted == false).OrderByDescending(m => m.AddedOn).ToList(); var users1 = from r in users group r by r.AddedOn.Date.ToString("d") into g select new { Date = g.Key, Users = g.Count() }; var getUsers = users1.Select(m => m.Users).ToArray().Take(12); string Last10Users = String.Join(",", getUsers); if (users1.Count() < 12) { string temp = ""; int tempPosts = users1.Count(); for (int i = 0; i < (12 - tempPosts); i++) { temp += "0,"; } Last10Users = temp + Last10Users; } dBoard.LastUsers = Last10Users; #endregion dBoard.TotalRoles = context.Role.Where(x => x.IsDeleted == false).Count(); #region Getting Last 12 Roles var roles = context.Role.Where(m => m.IsDeleted == false).OrderByDescending(m => m.AddedOn).ToList(); var roles1 = from r in roles group r by r.AddedOn.Date.ToString("d") into g select new { Date = g.Key, Roles = g.Count() }; var getRoles = roles1.Select(m => m.Roles).ToArray().Take(12); string Last10Roles = String.Join(",", getRoles); if (roles1.Count() < 12) { string temp = ""; int tempPosts = roles1.Count(); for (int i = 0; i < (12 - tempPosts); i++) { temp += "0,"; } Last10Roles = temp + Last10Roles; } dBoard.LastRoles = Last10Roles; #endregion dBoard.TotalNewUsers = context.User.Where(x => x.IsDeleted == false).OrderByDescending(m => m.AddedOn).ToList().Where(s => s.AddedOn > DateTime.Now.AddMonths(-1)).Count(); #region Getting Last 12 New Users var newUsers = context.User.Where(m => m.IsDeleted == false).OrderByDescending(m => m.AddedOn).ToList().Where(s => s.AddedOn > DateTime.Now.AddMonths(-1)).ToList(); var newUsers1 = from r in newUsers group r by r.AddedOn.Date.ToString("d") into g select new { Date = g.Key, Roles = g.Count() }; var getNewUsers = newUsers1.Select(m => m.Roles).ToArray().Take(12); string Last10NewUsers = String.Join(",", getNewUsers); if (newUsers1.Count() < 12) { string temp = ""; int tempPosts = newUsers1.Count(); for (int i = 0; i < (12 - tempPosts); i++) { temp += "0,"; } Last10NewUsers = temp + Last10NewUsers; } dBoard.LastNewUsers = Last10NewUsers; #endregion Setting TotalPageView = context.Settings.Where(m => m.Name == "TotalPageView").FirstOrDefault(); if (TotalPageView != null) { dBoard.TotalPageview = Convert.ToInt32(TotalPageView.Value); } else { dBoard.TotalPageview = 0; } #region Getting Last 12 days PageViews var pageviews = context.ContentView.ToList(); var pageviews1 = from r in pageviews group r by r.ViewedOn.Value.Date.ToString("d") into g select new { Date = g.Key, Views = g.Count() }; var getViews = pageviews1.Select(m => m.Views).ToArray().Take(12); //string Last10Views = String.Join(",", getViews); //if (pageviews1.Count() < 12) //{ // string temp = ""; // int tempPosts = pageviews1.Count(); // for (int i = 0; i < (12 - tempPosts); i++) // temp += "0,"; // Last10Views = temp + Last10Views; //} //dBoard.LastPageview = Last10Views; #endregion dBoard.PostList = context.Content.Where(content => content.Type.ToLower() == "post" && content.IsDeleted == false && content.isPublished == true).OrderByDescending(content => content.AddedOn).ToList().Where(m => m.AddedOn > DateTime.Now.AddDays(-7)).Take(5).ToList(); dBoard.RecentPublishedPostList = context.Content.Where(content => content.Type.ToLower() == "post" && content.IsDeleted == false && content.isPublished == true).OrderByDescending(content => content.AddedOn).Take(5).ToList(); dBoard.RecentPages = context.Content.Where(content => content.Type.ToLower() == "page" && content.IsDeleted == false && content.isPublished == true).OrderByDescending(content => content.AddedOn).Take(5).ToList(); dBoard.UnModeratedComments = context.Comment.Where(comment => comment.IsModerated == false).OrderByDescending(x => x.AddedOn).Take(5).ToList(); //dBoard.ActivityLogs = context.ActivityLog.OrderByDescending(log => log.AddedOn).Take(5).ToList(); var pageView = context.ContentView.OrderByDescending(m => m.ViewedOn).ToList(); string chartData = string.Empty; DateTime minDate = (DateTime)pageView.Min(x => x.ViewedOn); DateTime maxDate = (DateTime)pageView.Max(x => x.ViewedOn); int totalMonths = ((maxDate.Year - minDate.Year) * 12) + maxDate.Month - minDate.Month; string query = string.Empty; List <ChartData> dataList = new List <ChartData>(); if (totalMonths <= 4) // day wise { query = @"SELECT YEAR(ViewedOn) AS 'Year', MONTH(ViewedOn) AS 'Month', day(ViewedOn) AS 'Day', count(id) AS 'Count' FROM [dbo].[ContentViews] GROUP BY YEAR(ViewedOn) , MONTH(ViewedOn) ,day(ViewedOn) order by 1,2,3;"; var data = context.Database.SqlQuery <MonthlyData>(query).ToList(); dataList = data.Select(m => new ChartData { x = (m.Year + "-" + m.Month + "-" + m.Day), y = m.Count }).ToList(); } else // month wise { ViewBag.ismonthlychart = true; query = @"SELECT YEAR(ViewedOn) AS 'Year', MONTH(ViewedOn) AS 'Month', count(id) AS 'Count' FROM [dbo].[ContentViews] GROUP BY YEAR(ViewedOn) ,MONTH(ViewedOn) order by 1,2"; var data = context.Database.SqlQuery <MonthlyData>(query).ToList(); dataList = data.Select(m => new ChartData { x = (m.Year + "-" + m.Month + "-1"), y = m.Count }).ToList(); } chartData = JsonConvert.SerializeObject(dataList); dBoard.chartData = chartData; return(View(dBoard)); }