예제 #1
0
        // News from other resources
        public string CNN_News()
        {
            if (!Request.IsAuthenticated || User.Identity.GetPermission() == 0) // Checks if the user is logged in and has access
            {
                return("Not logged in");
            }

            GetNews         gn  = new GetNews();
            List <string[]> lst = gn.Add_CNN_News();
            Category        c   = new Category();

            c.Color      = "blue";
            c.Name       = "blue";
            c.CategoryId = 0;

            var             userId = User.Identity.GetUserId();
            ApplicationUser user   = db.Users.SingleOrDefault(x => x.Id.Equals(userId));

            foreach (string[] str in lst)
            {
                Article a = new Article();
                a.ArticleLink = str[2];
                a.Category    = c;
                a.Date        = DateTime.Now;
                a.Description = str[1];
                a.ImageLink   = str[3];
                a.Title       = str[0];
                a.User        = user;
                a.NumOfLikes  = 0;
                a.Source      = "CNN";
                Create(a);
            }

            return("Done.");
        }
예제 #2
0
        public void CNN_News()
        {
            GetNews         gn  = new GetNews();
            List <string[]> lst = gn.Add_CNN_News();
            Category        c   = new Category();

            c.Color      = "blue";
            c.Name       = "blue";
            c.CategoryId = 0;
            User u = new User();

            u.Email      = "*****@*****.**";
            u.Name       = "CNN";
            u.Password   = "";
            u.Permission = 0;

            foreach (string[] str in lst)
            {
                Article a = new Article();
                a.ArticleLink = str[2];
                a.Category    = c;
                a.Date        = DateTime.Now.ToString("M/d/yyyy");
                a.Description = str[1];
                a.ImageLink   = str[3];
                a.Title       = str[0];
                a.User        = u;
                a.NumOfLikes  = 0;
                this.Create(a);
            }
        }
예제 #3
0
        public ActionResult CNN_News(int cat, int amount)
        {
            ViewBag.Errors = new List <String>();
            if (!Request.IsAuthenticated || User.Identity.GetPermission() == 0) // Checks if the user is logged in and has access
            {
                ViewBag.Errors.Add("Not logged in");
            }

            Category c = db.Categories.SingleOrDefault(x => x.CategoryId == cat);

            if (c == null)
            {
                ViewBag.Errors.Add("Not valid category.");
            }

            if (amount < 5 || amount > 50)
            {
                ViewBag.Errors.Add("not a valid amount");
            }

            if (ViewBag.Errors.Count > 0)
            {
                return(RedirectToAction("Index"));
            }

            GetNews         gn  = new GetNews();
            List <string[]> lst = gn.Add_CNN_News();

            var             userId = User.Identity.GetUserId();
            ApplicationUser user   = db.Users.SingleOrDefault(x => x.Id.Equals(userId));

            int count = 0;

            foreach (string[] str in lst)
            {
                if (count++ >= amount)
                {
                    break;
                }

                Article a = new Article();
                a.ArticleLink = str[2];
                a.Category    = c;
                a.Date        = DateTime.Now;
                a.Description = str[1];
                a.ImageLink   = str[3];
                a.Title       = str[0];
                a.User        = user;
                a.NumOfLikes  = 0;
                a.Source      = "CNN";

                if (!db.Articles.Any(x => x.ArticleLink.Equals(a.ArticleLink))) // checks if the article is already exists
                {
                    Create(a);
                }
            }

            return(RedirectToAction("Index"));
        }