/// <summary> /// Launchs a new new for all the users /// </summary> /// <param name="message">The info</param> /// See <see cref="Areas.Admin.Models.Message"/> to see the param info /// <returns>The IActionResult of the launch new action</returns> public IActionResult launchNew([FromBody] Message message) { User user = TokenUserManager.getUserFromToken(HttpContext, _context); if (!AdminPolicy.isAdmin(user, _context)) { return(BadRequest("notAllowed")); } try { _context.Add(new New { title = "Aviso de los administradores!", message = message.message }); _context.SaveChanges(); List <NewMessage> retMessage = GetNews.getStandNews(true, _context); return(Ok(retMessage)); } catch (Exception) { return(StatusCode(500)); } }
public void YNET_News() { GetNews gn = new GetNews(); List <string[]> lst = gn.Add_Ynet_News(); Category c = new Category(); c.Color = "blue"; c.Name = "blue"; c.CategoryId = 0; User u = new User(); u.Email = "*****@*****.**"; u.Name = "YNET"; 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); } }
/// <summary> /// Removes a new /// </summary> /// <param name="id">The id of the new</param> /// <returns>The IActionResult of the remove new action</returns> public IActionResult removeNew(string id) { User user = TokenUserManager.getUserFromToken(HttpContext, _context); if (!AdminPolicy.isAdmin(user, _context)) { return(BadRequest("notAllowed")); } List <New> possibleNews = _context.News.Where(n => n.id.ToString() == id && n.userid == null).ToList(); if (possibleNews.Count() != 1) { return(BadRequest()); } try { _context.Remove(possibleNews.First()); _context.SaveChanges(); using (var scope = _scopeFactory.CreateScope()) { var dbContext = scope.ServiceProvider.GetRequiredService <ApplicationDBContext>(); List <NewMessage> retMessage = GetNews.getStandNews(true, dbContext); return(Ok(retMessage)); } } catch (Exception) { return(StatusCode(500)); } }
public void YNET_News() { if (!Request.IsAuthenticated || User.Identity.GetPermission() == 0) // Checks if the user is logged in and has access { return; } GetNews gn = new GetNews(); List <string[]> lst = gn.Add_Ynet_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 = "YNET"; this.Create(a); } }
static void Timer(object o) { var dataReader = new GetNews(); var news = dataReader.Crawl(); news.ForEach(Sender.Send); }
public async Task <IEnumerable <Article> > Handle(GetNews request, CancellationToken cancellationToken) { var news = await _context.News.Include(a => a.Source) .OrderByDescending(a => a.DatePublication).Take(30).ToListAsync(cancellationToken); return(news); }
public async Task <IActionResult> SearchResult(string criteria, string language = "en", int currPage = 1) { if (criteria != null) { try { var searchViewModel = new SearchViewModel(); searchViewModel.Criteria = criteria; searchViewModel.CurrentPage = currPage; searchViewModel.Language = language; var articlesResponse = await GetNews.GetSearchResults(criteria, language); searchViewModel.TotalNumPages = Calculations.TotalNumPages(articlesResponse.Count()); searchViewModel.Articles = articlesResponse.Skip((currPage - 1) * 3).Take(3); return(View(searchViewModel)); } catch (InvalidOperationException) { return(RedirectToAction("Error", $"Error", new { statusCode = "404", message = "Specified Language was not found!" })); } catch (ArgumentNullException) { return(RedirectToAction("Error", "Error", new { statusCode = "503", message = "Server unavailable!" })); } catch (Exception) { return(RedirectToAction("Error", "Error", new { statusCode = "400", message = "Something went wrong!" })); } } else { return(RedirectToAction("Index", "Home")); } }
public async Task <IActionResult> Index(string country = "bg", int currPage = 1) { try { var topNewsViewModel = new TopNewsViewModel(); var list = await GetNews.TopNews(country.ToLower()); topNewsViewModel.Articles = list.Skip((currPage - 1) * 3).Take(3); topNewsViewModel.Country = country.ToLower(); topNewsViewModel.CurrentPage = currPage; topNewsViewModel.TotalNumPages = Calculations.TotalNumPages(list.Count()); return(View(topNewsViewModel)); } catch (InvalidOperationException) { return(RedirectToAction("Error", $"Error", new { statusCode = "404", message = "Specified Country was not found!" })); } catch (ArgumentNullException) { return(RedirectToAction("Error", "Error", new { statusCode = "503", message = "Server unavailable!" })); } catch (Exception) { return(RedirectToAction("Error", "Error", new { statusCode = "400", message = "Something went wrong!" })); } }
public ActionResult YNET_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_Ynet_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 = "YNET"; if (!db.Articles.Any(x => x.ArticleLink.Equals(a.ArticleLink))) // checks if the article is already exists { Create(a); } } return(RedirectToAction("Index")); }
public async Task <List <GameNews> > GetNewsByID(int GameID) { SqlParameter gameParam = new SqlParameter { ParameterName = "@GameID", SqlDbType = SqlDbType.Int, Value = GameID }; return(await GetNews.FromSql("Exec CoQ.GetNewsByID @GameID", gameParam) .AsNoTracking() .ToListAsync()); }
public IActionResult NewsOverview(int pageNumber, string category, [FromServices] GetNews getNews) { if (pageNumber < 1) { return(RedirectToAction("NewsOverview", new { pageNumber = 1, category })); } var news = string.IsNullOrEmpty(category) ? getNews.Do(PageSize, pageNumber) : getNews.Do(PageSize, pageNumber, category); int newsCount = string.IsNullOrEmpty(category) ? getNews.Count() : getNews.Count(category); int skipAmount = PageSize * (pageNumber - 1); int capacity = skipAmount + PageSize; var newsVm = new List <NewsViewModel>(); foreach (var singleNews in news) { newsVm.Add(new NewsViewModel { Id = singleNews.Id, Title = singleNews.Title, Body = singleNews.Body, ImagePath = singleNews.Image, Created = singleNews.Created, Description = singleNews.Description, Tags = singleNews.Tags, Category = singleNews.Category }); } newsVm = newsVm.OrderByDescending(x => x.Created).ToList(); var viewModel = new NewsPageViewModel { News = newsVm, PageNumber = pageNumber, Category = category, PageCount = (int)Math.Ceiling((double)newsCount / PageSize) }; if (newsCount > capacity) { viewModel.NextPage = true; } return(View(viewModel)); }
public void OnGet([FromServices] GetProducts getProducts, [FromServices] GetNews getNews) { News = getNews.Do().ToList(); foreach (Shops shop in (Shops[])Enum.GetValues(typeof(Shops))) { var countSale = getProducts.CountProductOnSaleForShop(shop.ToString()); if (countSale != 0) { var shopVm = new ShopViewModel { Name = shop.ToString(), SmallImagePath = $"{shop}-s.jpg", LargeImagePath = $"{shop}.jpg" }; ProductsOnSale.Add(shop.ToString(), countSale); Shops.Add(shopVm); } } }
private async Task <PdfPTable> AddContentToPDF(PdfPTable tableLayout, string country, string language, string type, string criteria) { IEnumerable <ArticleViewModel> list = new List <ArticleViewModel>(); switch (type) { case "top": list = await GetNews.TopNews(country); break; case "search": list = await GetNews.GetSearchResults(criteria, language); break; default: break; } //var list = GetNews.TopNews(country); float[] headers = { 40, 60 }; //Header Widths tableLayout.SetWidths(headers); //Set the pdf headers tableLayout.WidthPercentage = 80; //Set the PDF File witdh percentage //Add Title to the PDF file at the top tableLayout.AddCell(new PdfPCell(new Phrase("Creating PDF file using iTextsharp", new Font(Font.FontFamily.HELVETICA, 13, 1, iTextSharp.text.BaseColor.BLUE))) { Colspan = 4, Border = 0, PaddingBottom = 20, HorizontalAlignment = Element.ALIGN_CENTER }); //Add header AddCellToHeader(tableLayout, "Article Title"); AddCellToHeader(tableLayout, "Link to Article"); //Add body foreach (var article in list) { AddCellToBody(tableLayout, article.Title); AddCellToBody(tableLayout, article.URL); } return(tableLayout); }
public object Get(GetNews request) { WebNews result = null; var context = TepWebContext.GetWebContext(PagePrivileges.EverybodyView); try { context.Open(); context.LogInfo(this, string.Format("/news/{{Id}} GET Id='{0}'", request.Id)); result = new WebNews(Terradue.Portal.Article.FromId(context, request.Id)); context.Close(); } catch (Exception e) { context.LogError(this, e.Message, e); context.Close(); throw e; } return(result); }
public IActionResult Index([FromServices] GetNews getNews) { var news = getNews.Do(); var viewModels = new List <NewsViewModel>(); foreach (var singleNews in news) { viewModels.Add(new NewsViewModel { Id = singleNews.Id, Title = singleNews.Title, Body = singleNews.Body, ImagePath = singleNews.Image, Created = singleNews.Created, Description = singleNews.Description, Tags = singleNews.Tags, Category = singleNews.Category }); } return(View(viewModels)); }
/// <summary> /// Get the news for not logged users /// </summary> /// <returns>The IActionResult of the get the not logged news action</returns> /// See <see cref="Areas.Home.Models.NewMessage"/> to see the response structure public IActionResult GetStand() { bool isAdmin; try { User user = TokenUserManager.getUserFromToken(HttpContext, _context); isAdmin = AdminPolicy.isAdmin(user, _context); } catch (Exception) { isAdmin = false; } try { List <NewMessage> retMessage = GetNews.getStandNews(isAdmin, _context); return(Ok(retMessage)); } catch (Exception) { return(StatusCode(500)); } }
public List <NewsItem> Get(GetNews request) { return(new List <NewsItem> { new NewsItem { Created = DateTime.UtcNow.AddDays(-1), Title = "Our sales are up", Content = "Due to unprecedented good weather our sales are up 10% compared to the same period last year." }, new NewsItem { Created = DateTime.UtcNow.AddDays(-3), Title = "The green challenge winner", Content = "Out green challenge contest has a winner: Dave Stewart from Accounting!" }, new NewsItem { Created = DateTime.UtcNow.AddDays(-4), Title = "New bike version available", Content = "The best selling bike of last year has a new version." } }); }
public List<NewsItem> Get(GetNews request) { return new List<NewsItem> { new NewsItem { Created = DateTime.UtcNow.AddDays(-1), Title = "Our sales are up", Content = "Due to unprecedented good weather our sales are up 10% compared to the same period last year." }, new NewsItem { Created = DateTime.UtcNow.AddDays(-3), Title = "The green challenge winner", Content = "Out green challenge contest has a winner: Dave Stewart from Accounting!" }, new NewsItem { Created = DateTime.UtcNow.AddDays(-4), Title = "New bike version available", Content = "The best selling bike of last year has a new version." } }; }
/// <summary> /// Get the news for auhtorized users /// </summary> /// <returns>The IActionResult of the get authorized news action</returns> /// See <see cref="Areas.Home.Models.NewMessage"/> to see the response structure public IActionResult getAuth() { User user = TokenUserManager.getUserFromToken(HttpContext, _context); if (!user.open) { return(BadRequest(new { error = "YoureBanned" })); } if (AdminPolicy.isAdmin(user, _context)) { return(BadRequest("notAllowed")); } try { List <NewMessage> retMessage = GetNews.getAuthNews(user.id, _context); return(Ok(retMessage)); } catch (Exception) { return(StatusCode(500)); } }
public async static Task <NewsContent> oneNews(string category, string site, int pp) { if (sites.Count == 0) { addElements(); } var url = site + category + "/feed/"; if (category != ekonomija) { if (site.Equals("https://a1on.mk/category/")) { if (category.Equals("makedonija")) { url = site + "macedonia" + "/feed/"; } if (category.Equals("svet")) { url = site + "world" + "/feed/"; } if (category.Equals("kultura")) { url = site + "culture" + "/feed/"; } } if (site.Equals("https://plusinfo.mk/category/")) { if (category.Equals("makedonija")) { url = site + "makedoni-a" + "/feed/"; } if (category.Equals("kultura")) { url = site + "bs-kultura" + "/feed/"; } if (category.Equals("sport")) { url = site + "bs-sport" + "/feed/"; } } if (site.Equals("https://a1on.mk/category/")) { if (category.Equals("sport")) { url = site + "sport1" + "/feed/"; //fixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx not working +/region1 } } if (site.Equals(PECAT)) { if (category.Equals(svet)) { url = site + "planeta" + "/feed/"; } } if (site.Equals(TV21)) { if (category.Equals(kultura)) { url = site + "magazin/kultura-magazin" + "/feed/"; } } if (site.Equals(NOVAMAK)) { if (category.Equals(kultura)) { url = site + "zivot" + "/feed/"; } } if (site.Equals(KANAL5)) { if (category.Equals(mak)) { url = site + "2"; } if (category.Equals(svet)) { url = site + "3"; } if (category.Equals(kultura)) { url = site + "7"; } if (categories.Equals(sport)) { url = site + "8"; } } if (site.Equals(BRIF)) { if (category.Equals(kultura)) { url = site + "magazin" + "/feed/"; } } } else { url = site; } GetNews gn = new GetNews(url, false); Random rn = new Random(); try { var s = await gn.news(rn.Next(0, 2) + pp); if (s == null) { throw new Exception(); } s.category = category; s.site = site; return(s); }catch (Exception e) { if (!site.Equals(A1ON)) { if (category != ekonomija) { return(await oneNews(category, A1ON, 2)); } else { return(await oneNews(category, economyA1ON, 2)); } } else { return(null); } } }
public async static Task <List <NewsContent> > oneNewsOrdered(string category, string site) { if (sites.Count == 0) { addElements(); } var url = site + category + "/feed/"; if (category != ekonomija) { if (site.Equals("https://a1on.mk/category/")) { if (category.Equals("makedonija")) { url = site + "macedonia" + "/feed/"; } if (category.Equals("svet")) { url = site + "world" + "/feed/"; } if (category.Equals("kultura")) { url = site + "culture" + "/feed/"; } } if (site.Equals("https://plusinfo.mk/category/")) { if (category.Equals("makedonija")) { url = site + "makedoni-a" + "/feed/"; } if (category.Equals("kultura")) { url = site + "bs-kultura" + "/feed/"; } if (category.Equals("sport")) { url = site + "bs-sport" + "/feed/"; } } if (site.Equals("https://a1on.mk/category/")) { if (category.Equals("sport")) { url = site + "sport1" + "/feed/"; //fixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx not working +/region1 } } if (site.Equals(PECAT)) { if (category.Equals(svet)) { url = site + "planeta" + "/feed/"; } } if (site.Equals(TV21)) { if (category.Equals(kultura)) { url = site + "magazin/kultura-magazin" + "/feed/"; } } if (site.Equals(NOVAMAK)) { if (category.Equals(kultura)) { url = site + "zivot" + "/feed/"; } } if (site.Equals(KANAL5)) { if (category.Equals(mak)) { url = site + "2"; } if (category.Equals(svet)) { url = site + "3"; } if (category.Equals(kultura)) { url = site + "7"; } if (categories.Equals(sport)) { url = site + "8"; } } if (site.Equals(BRIF)) { if (category.Equals(kultura)) { url = site + "magazin" + "/feed/"; } } } else { url = site; } GetNews gn = new GetNews(url, false); try { var s = await gn.news(); try { foreach (var pipi in s) { pipi.category = category; pipi.site = site; } }catch (Exception e) { return(null); } return(s); } catch (Exception e) { return(null); } }