示例#1
0
        public String SiteMap()
        {
            /*
             * Cache = 38
             * Vertice = 41
             * Nifor = 1043
             * Unocero= 37
             */

            var     id      = 38;
            Sitemap sitemap = new Sitemap();

            sitemap.Add(new SitemapLocation
            {
                ChangeFrequency = SitemapLocation.eChangeFrequency.weekly,
                Url             = "Http://cache.news"
            });

            var getNews = MagazineService.GetNewsByMagazineId(id);

            foreach (var item in getNews)
            {
                sitemap.Add(new SitemapLocation
                {
                    ChangeFrequency = SitemapLocation.eChangeFrequency.never,
                    Url             = "Http://cache.news/noticia/" + item.NewsId + "/" + item.Permalink
                });
            }

            var getXml = sitemap.WriteSitemapToFile(AppDomain.CurrentDomain.BaseDirectory + "sitemap.xml");
            //MUESTRA EN PANTALLA EL XML
            var    doc        = XDocument.Load(AppDomain.CurrentDomain.BaseDirectory + "/Content/Sitemaps/" + getNews[0].Category.Magazine.Title + "sitemap.xml");
            string encodedXml = HttpUtility.HtmlEncode(doc);

            return(encodedXml);
        }
示例#2
0
        public ActionResult MagazineNews(Int32 id)
        {
            var user     = UserService.GetCurrentUser();
            var relation = UserService.UserInMagazine(id, user.UserId);

            if (!relation || !ModelState.IsValid)
            {
                return(RedirectToAction("Index", "Magazines"));
            }

            Request.Cookies.Remove("MagazineId");
            SetCookie("MagazineId", id, true);

            if (Request.Cookies["MagazineId"].Value == null)
            {
                SetMessage("Lo sentimos, ha ocurrido un error. Inténtelo de nuevo.", BootstrapAlertTypes.Danger); return(RedirectToAction("Index", "Magazines"));
            }

            var magazine = MagazineService.GetMagazineById(id);

            if (magazine == null)
            {
                SetMessage("Lo sentimos, la revista no existe. Inténtelo de nuevo con una distinta.", BootstrapAlertTypes.Danger);
                return(RedirectToAction("Index", "Magazines"));
            }

            var mostUsedCat   = MagazineService.MostUsedCat(id);
            var mostViewedCat = MagazineService.MostViewedCat(id);

            var mostUsedCatName = "Ninguna";

            if (mostUsedCat != null)
            {
                mostUsedCatName = mostUsedCat.Name;
            }

            var mostViewedCatName = "Ninguna";

            if (mostViewedCat != null)
            {
                mostViewedCatName = mostViewedCat.Name;
            }

            var mostViewedCatCount = 0;

            if (mostViewedCat != null)
            {
                mostViewedCatCount = MagazineService.GetVisitsByCategoryId(mostViewedCat.CategoryId);
            }

            var mostUsedCatCount = 0;

            if (mostUsedCat != null)
            {
                mostUsedCatCount = MagazineService.MostUsedCatCount(mostUsedCat.CategoryId);
            }

            var newsAndVisits = MagazineService.GetNewsWithVisitsByMagazineId(id);

            var viewsCounts = 0;

            if (newsAndVisits != null)
            {
                viewsCounts = newsAndVisits.TotalVisits;
            }

            var newsCount = 0;

            if (newsAndVisits != null)
            {
                newsCount = newsAndVisits.TotalNews;
            }

            var model = new MagazineIndexViewModel
            {
                MagazineId         = id,
                MostUsedCat        = mostUsedCatName,
                MostViewedCat      = mostViewedCatName,
                MostViewedCatCount = mostViewedCatCount,
                MostUsedCatCount   = mostUsedCatCount,
                ViewsCount         = viewsCounts,
                NewsCount          = newsCount,
            };
            //TOP 10 STATISTICS

            var GetNews = MagazineService.GetNewsByMagazineId(id);

            var top10Count = new List <Last10CountModel>();

            foreach (var item in GetNews)
            {
                var addNew = new Last10CountModel
                {
                    NewsId   = item.NewsId,
                    NewTitle = item.Title,
                    Count    = (item.VisitsCount ?? 0)
                };

                top10Count.Add(addNew);
            }

            var top10Visited    = top10Count.OrderByDescending(x => x.Count).Take(10);
            var last10Published = top10Count.Take(10);

            ViewBag.Top10Visited    = JsonConvert.SerializeObject(top10Visited);
            ViewBag.Last10Published = JsonConvert.SerializeObject(last10Published);

            //REPORTES
            var reportsList = MagazineService.GetMyReports(id);

            var reportList = new List <ReportViewModel>();

            foreach (var item in reportsList)
            {
                var report = new ReportViewModel
                {
                    ReportId  = item.MediaId,
                    Impact    = MagazineService.getProm(item.MediaId),
                    MediaName = MagazineService.getMedioName(item.MediaId)
                };

                reportList.Add(report);
            }

            ViewBag.Reports = null;
            if (reportsList.Count > 0)
            {
                ViewBag.Reports = reportList;
            }

            ViewBag.JsonReports = JsonConvert.SerializeObject(reportList);

            return(View(model));
        }