Ejemplo n.º 1
0
        public override async Task <ActionResult <IEnumerable <New> > > GetTopNews([FromQuery] int quantity, [FromQuery] string subject)
        {
            if (quantity > 0)
            {
                var     result    = new Result();
                Website vnexpress = new Vne();
                vnexpress.SetUrl("https://vnexpress.net");
                var news = await vnexpress.GetTopNews(quantity, subject);

                if (news != null)
                {
                    foreach (var n in news)
                    {
                        result.Total++;
                        var existed = _context.News.FirstOrDefault(e => e.Title.ToLower() == n.Title);
                        if (existed != null)
                        {
                            continue;
                        }

                        try
                        {
                            var post = PostCreateModel.Create(n);
                            if (post == null)
                            {
                                continue;
                            }
                            Wordpress.CreateAsync(post);
                            _context.News.Add(n);
                            result.Published++;
                        }
                        catch (System.Exception e)
                        {
                            continue;
                        }
                    }
                    await _context.SaveChangesAsync();

                    return(Ok(result));
                }
            }
            return(BadRequest(nameof(quantity)));
        }
Ejemplo n.º 2
0
        public async Task <ActionResult <string> > Review(int id)
        {
            var n = await _context.News.FindAsync(id);

            if (n == null)
            {
                return(NotFound());
            }

            Website web      = new Vne();
            var     template = await web.Template(n.Url);

            //NOTE open temp html file
            var          tempFile = Path.GetTempPath() + "template.html";
            StreamWriter wt       = new StreamWriter(tempFile);

            wt.Write(template);
            wt.Close();
            Process.Start(@"cmd.exe ", @"/c " + tempFile);
            return(Ok(template));
        }