public static async Task <GoogleChartEntity> Last12MonthsReport(ApplicationDbContext context, MemberEntity entity) { var reportData = await context.AspNetusers .Where(p => p.created_at >= DateTime.Now.AddYears(-1)) .GroupBy(o => new { month = o.created_at.Month, year = o.created_at.Year }) .Select(g => new ReportEntity { Year = g.Key.year, Month = g.Key.month, Total = g.Count() }) .OrderBy(a => a.Year) .ToListAsync(); var newObject = new { role = "style" }; var data = new GoogleChartEntity() { chartType = entity.chartType, dataTable = new List <dynamic[]> { new dynamic[] { "Month", "Posted Topics", newObject }, } }; foreach (var item in reportData) { data.dataTable.Add(new dynamic[] { item.Year.ToString(), item.Total, "color: #76A7FA" }); } return(data); }
public static async Task <GoogleChartEntity> GroupByDay(ApplicationDbContext context, MemberEntity entity) { var reportData = await context.AspNetusers .Where(UserBLL.returnWhereClause(entity)) .GroupBy(o => new { day = o.created_at.Day }) .Select(g => new ReportEntity { Day = g.Key.day, Total = g.Count() }) .OrderBy(a => a.Day) .ToListAsync(); var newObject = new { role = "style" }; var data = new GoogleChartEntity() { chartType = entity.chartType, dataTable = new List <dynamic[]> { new dynamic[] { "Day", "Posted Blogs", newObject }, } }; data.report = reportData; foreach (var item in reportData) { data.dataTable.Add(new dynamic[] { item.Year.ToString(), item.Total, "color: #76A7FA" }); } return(data); }
public static async Task <GoogleChartEntity> YearlyReport(ApplicationDbContext context, MemberEntity entity) { var reportData = await context.AspNetusers .GroupBy(o => new { year = o.created_at.Year }) .Select(g => new ReportEntity { Year = g.Key.year, Total = g.Count() }) .OrderBy(a => a.Year) .ToListAsync(); var newObject = new { role = "style" }; var data = new GoogleChartEntity() { chartType = entity.chartType, dataTable = new List <dynamic[]> { new dynamic[] { "Year", "Users", newObject }, } }; foreach (var item in reportData) { data.dataTable.Add(new dynamic[] { item.Year.ToString(), item.Total, "color: #76A7FA" }); } return(data); }
public static async Task <GoogleChartEntity> CurrentMonthReport(ApplicationDbContext context, ForumTopicEntity entity) { try { var reportData = await context.JGN_ForumTopics .Join(context.AspNetusers, topic => topic.userid, user => user.Id, (topic, user) => new TopicUserEntity { topic = topic, user = user }) .Where(p => p.topic.created_at >= DateTime.Now.AddDays(-31)) .GroupBy(x => x.topic.created_at.Day) .Select(g => new ReportEntity { Day = g.Key, Total = g.Count() }) .OrderBy(a => a.Day) .ToListAsync(); var newObject = new { role = "style" }; var data = new GoogleChartEntity() { chartType = entity.chartType, dataTable = new List <dynamic[]> { new dynamic[] { "Day", "Posted Topics", newObject }, } }; foreach (var item in reportData) { data.dataTable.Add(new dynamic[] { item.Year.ToString(), item.Total, "color: #76A7FA" }); } return(data); } catch (Exception ex) { var error = ex.Message; } return(new GoogleChartEntity()); }
public static async Task <GoogleChartEntity> GroupByMonth(ApplicationDbContext context, ForumTopicEntity entity) { var reportData = await context.JGN_ForumTopics .Join(context.AspNetusers, topic => topic.userid, user => user.Id, (topic, user) => new TopicUserEntity { topic = topic, user = user }) .Where(ForumTopicBLL.returnWhereClause(entity)) .GroupBy(o => new { month = o.topic.created_at.Month }) .Select(g => new ReportEntity { Month = g.Key.month, Total = g.Count() }) .OrderBy(a => a.Month) .ToListAsync(); var newObject = new { role = "style" }; var data = new GoogleChartEntity() { chartType = entity.chartType, dataTable = new List <dynamic[]> { new dynamic[] { "Month", "Posted Blogs", newObject }, new dynamic[] { "Copper", 8.94, "#b87333" }, new dynamic[] { "Silver", 10.49, "silver" }, new dynamic[] { "Gold", 19.30, "gold" }, } }; data.report = reportData; foreach (var item in reportData) { // data.dataTable.Add(new dynamic[] { item.Year.ToString(), item.Total, "color: #76A7FA" }); } return(data); }
public static async Task <GoogleChartEntity> GroupByYear(ApplicationDbContext context, BlogEntity entity) { var reportData = await context.JGN_Blogs .Join(context.AspNetusers, blog => blog.userid, user => user.Id, (blog, user) => new BlogQueryEntity { blog = blog, user = user }) .Where(BlogsBLL.returnWhereClause(entity)) .GroupBy(o => new { year = o.blog.created_at.Year }) .Select(g => new ReportEntity { Year = g.Key.year, Total = g.Count() }) .OrderBy(a => a.Year) .ToListAsync(); var newObject = new { role = "style" }; var data = new GoogleChartEntity() { chartType = entity.chartType, dataTable = new List <dynamic[]> { new dynamic[] { "Month", "Posted Blogs", newObject }, } }; data.report = reportData; foreach (var item in reportData) { data.dataTable.Add(new dynamic[] { item.Year.ToString(), item.Total, "color: #76A7FA" }); } return(data); }