Пример #1
0
        public JsonResult Scrape([FromBody] RequestScraperDto request)
        {
            var result = new ResponseStateModel();

            var list = new List <DataDomainModel>();

            foreach (var scraper in request.UseScrapers.Where(x => x.Checked))
            {
                var data = _scraperService.GetDataFromScraper(new RequestDataScrape()
                {
                    ScrapeId = scraper.Id, CityId = request.CityId
                });
                list.Add(data);
            }

            var excelData = _excelService.DataToExcel(list);
            var city      = _cityRepository.Get().Where(x => x.Id == request.CityId).Select(x => x.Airdna.CityName.ToLower()).FirstOrDefault();
            var filename  = $"airdna-scrape-city-{city}.xlsx";

            var pathFile = _excelService.SaveToFile(excelData, filename);

            _archiveRepository.Save(pathFile, EnumScrapers.Airdna);

            result.Payload = filename;

            return(Json(result));
        }
Пример #2
0
        public ResponseStateModel Delete(int id = 0)
        {
            var result = new ResponseStateModel();

            if (id > 0)
            {
                var city = Get().Where(x => x.Id == id).FirstOrDefault();
                if (city != null)
                {
                    _cities.Remove(city);
                    _saveChanges();
                }
                else
                {
                    result.ErrorCode = EnumErrorCode.ErrorByDeleteCity;
                }
            }
            else
            {
                result.ErrorCode = EnumErrorCode.InvalidCityId;
            }

            return(result);
        }