public ActionResult MostControversial() { MostControversialViewModel mvm = new MostControversialViewModel(); List <Post> posts = null; using (var ctx = new ApplicationDbContext()) { posts = ctx.Posts.Include("Comments").ToList(); posts = posts.OrderByDescending(m => m.Comments.Count()).Take(5).ToList(); foreach (var post in posts) { mvm.top.Add(new Ob(post.Comments.Where(m => m.IsImportant == true).Count(), post.Title)); mvm.bot.Add(new Ob(post.Comments.Where(m => m.IsImportant == false).Count(), post.Title)); } } return(View(mvm)); }
public void ExportToXML(string type) { if (type == "mf") { List <Post> posts = null; List <MostFollowedReportsData> mf = new List <MostFollowedReportsData>(); using (var ctx = new ApplicationDbContext()) { posts = ctx.Posts.OrderByDescending(m => m.Upvotes).Take(5).ToList(); foreach (var post in posts) { mf.Add(new MostFollowedReportsData(post.Upvotes, post.Title)); } } Response.ClearContent(); Response.Buffer = true; Response.AddHeader("content-disposition", "attachment;filename = MostFollowedPostsReport.xml"); Response.ContentType = "text/xml"; var serializer = new System.Xml.Serialization.XmlSerializer(mf.GetType()); serializer.Serialize(Response.OutputStream, mf); } else if (type == "ar") { List <ActivityReportViewModel> avm = new List <ActivityReportViewModel>(); using (var ctx = new ApplicationDbContext()) { avm.Add(new ActivityReportViewModel(ctx.Posts.Where(m => m.IsApproved == false && m.IsResolved == false).Count(), "Not resolved", "Not resolved")); avm.Add(new ActivityReportViewModel(ctx.Posts.Where(m => m.IsApproved == true && m.IsResolved == false).Count(), "Approved", "Approved")); avm.Add(new ActivityReportViewModel(ctx.Posts.Where(m => m.IsResolved == true).Count(), "Resolved", "Resolved")); } Response.ClearContent(); Response.Buffer = true; Response.AddHeader("content-disposition", "attachment;filename = MostFollowedPostsReport.xml"); Response.ContentType = "text/xml"; var serializer = new System.Xml.Serialization.XmlSerializer(avm.GetType()); serializer.Serialize(Response.OutputStream, avm); } else { MostControversialViewModel mvm = new MostControversialViewModel(); List <Post> posts = null; using (var ctx = new ApplicationDbContext()) { posts = ctx.Posts.Include("Comments").ToList(); posts = posts.OrderByDescending(m => m.Comments.Count()).Take(5).ToList(); foreach (var post in posts) { mvm.top.Add(new Ob(post.Comments.Count(), post.Title)); mvm.bot.Add(new Ob(post.Comments.Where(m => m.IsImportant == false).Count(), post.Title)); } } Response.ClearContent(); Response.Buffer = true; Response.AddHeader("content-disposition", "attachment;filename = MostFollowedPostsReport.xml"); Response.ContentType = "text/xml"; var serializer = new System.Xml.Serialization.XmlSerializer(mvm.top.GetType()); serializer.Serialize(Response.OutputStream, mvm.top); } }