Exemplo n.º 1
0
        private async Task CreateTrend()
        {
            var trendHtmlData = GetHtmlData(string.Format("http://www.gsmarena.com{0}{1}", "/", ""));
            var htmlDocument  = new HtmlDocument();

            htmlDocument.LoadHtml(trendHtmlData);
            var newsItem = htmlDocument.DocumentNode.SelectNodes("//div[contains(@class, 'news-item')]");

            foreach (var item in htmlDocument.DocumentNode.SelectNodes("//div[contains(@class, 'news-item')]"))
            {
                var shortDesription = item.ChildNodes.FirstOrDefault(c => c.Name == "a")?
                                      .ChildNodes.FirstOrDefault(e => e.Name == "p")?.InnerHtml;

                if (shortDesription != null)
                {
                    var firstOrDefault = item.ChildNodes.FirstOrDefault(c => c.Name == "a")?
                                         .ChildNodes.FirstOrDefault(e => e.Name == "div")?
                                         .ChildNodes.FirstOrDefault(e => e.Name == "img");
                    if (firstOrDefault != null)
                    {
                        var imageLink1     = firstOrDefault?.Attributes[0].Value;
                        var f              = imageLink1.Split('/')[7];
                        var trendShortName = firstOrDefault?.Attributes[1].Value;

                        //Write File
                        const string trendsDirectory = @"G:\SanjayWorkArea\mumbile.com\mumbileapp\source\Egharpay\TrendImage";
                        var          uri             = new Uri(imageLink1);
                        var          filename        = f + imageLink1?.Split('/').Last();
                        if (uri.IsFile)
                        {
                            filename = System.IO.Path.GetFileName(uri.LocalPath);
                        }

                        var saveImageFullPath = Path.Combine(trendsDirectory, filename);
                        using (var client = new WebClient())
                        {
                            client.DownloadFile(new Uri(imageLink1), saveImageFullPath);
                        }

                        var trend = new Trend
                        {
                            Name             = trendShortName,
                            ShortDescription = shortDesription,
                            Filename         = filename
                        };
                        await _trendBusinessService.CreateTrend(trend);
                    }
                }
            }
        }
Exemplo n.º 2
0
        public async Task <ActionResult> Create(TrendViewModel trendViewModel)
        {
            if (ModelState.IsValid)
            {
                //Create Trend
                trendViewModel.Trend.CreatedDateTime = DateTime.UtcNow;
                var result = await _trendBusinessService.CreateTrend(trendViewModel.Trend);

                if (result.Succeeded)
                {
                    return(RedirectToAction("Index"));
                }
                ModelState.AddModelError("", result.Exception);
                foreach (var error in result.Errors)
                {
                    ModelState.AddModelError("", error);
                }
            }
            return(View(trendViewModel));
        }