public async Task <IActionResult> PutCrawlSource([FromForm] int id, [FromForm] CrawlSource crawlSource)
        {
            if (id != crawlSource.Id)
            {
                return(BadRequest());
            }

            var files = HttpContext.Request.Form.Files;

            await SaveFiles(files, _env.WebRootPath + "\\images\\sources\\", crawlSource);

            _context.Entry(crawlSource).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!CrawlSourceExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        public async Task <ActionResult <CrawlSource> > PostCrawlSource([FromForm] CrawlSource crawlSource)
        {
            var files = HttpContext.Request.Form.Files;

            await SaveFiles(files, _env.WebRootPath + "\\images\\sources\\", crawlSource);

            _context.CrawlSources.Add(crawlSource);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetCrawlSource", new { id = crawlSource.Id }, crawlSource));
        }
        public async Task SaveFiles(IFormFileCollection files, string path, CrawlSource crawlSource)
        {
            foreach (var file in files)
            {
                string name     = crawlSource.Name.Replace(' ', '_');
                string fileName = path + name + Path.GetExtension(GetValidFName(file.FileName));

                await SaveFileToDisk(file, fileName);

                crawlSource.Logo = "/" + path.TrimStart(_env.WebRootPath.ToCharArray()).Replace('\\', '/') + name + Path.GetExtension(GetValidFName(file.FileName));
            }
        }