Ejemplo n.º 1
0
        public void SaveScreenshots(string urls)
        {
            var urlsList = new List <Url>();
            var urlNames = urls.Split(';');

            foreach (var url in urlNames)
            {
                var fileName = new String(url.Substring(0, url.Length > 30 ? 30 : url.Length).Where(Char.IsLetter).ToArray()) + ".jpg";
                var filePath = string.Format(ConfigurationManager.AppSettings["DownloadPath"], Directory.GetParent(Directory.GetCurrentDirectory()).Parent.FullName) + fileName;
                urlsList.Add(new Url
                {
                    UrlName            = url,
                    ScreenshotFileName = fileName,
                    ScreenshotFilePath = filePath,
                    LastUpdated        = DateTime.Now
                });
                ThreadStart objThreadStart = delegate
                {
                    var bmp = GenerateScreenshot(url, 1920, 1080);
                    bmp.Save(filePath, ImageFormat.Jpeg);
                };
                var thread = new Thread(objThreadStart);
                thread.SetApartmentState(ApartmentState.STA);
                thread.Start();
            }

            _repository.AddUrls(urlsList);
        }