Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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());
        }
Пример #5
0
        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);
        }
Пример #6
0
        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);
        }