Exemplo n.º 1
0
        public async Task <RequestModel> CreateRequest(IEnumerable <string> urls)
        {
            // Create database entries for incoming request and save it
            var requestEntity = new RequestEntity {
                Screenshots = urls.Select(u => new ScreenshotEntity {
                    Url    = u,
                    Status = "Processing"
                }).ToList()
            };

            _dbContext.ScreenshotRequests.Add(requestEntity);
            await _dbContext.SaveChangesAsync();

            // Send message to workers
            await _bus.Send <DownloadScreenshots>(new DownloadScreenshots
            {
                Guid = requestEntity.Guid,
                Urls = urls.ToList()
            });

            return(requestEntity.ToModel());
        }