Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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);
            }
        }