コード例 #1
0
        public async Task <DownloadProcess> GetByIdAsync(int id, CancellationToken cancellationToken = default)
        {
            var filterSpec = new DownloadProcessFilterSpecification(id, true);

            return(await _unitOfWork.DownloadProcessRepository.FirstOrDefaultAsync(filterSpec, cancellationToken));

            // return await _unitOfWork.DownloadProcessRepository.GetByIdAsync(id, cancellationToken);
        }
コード例 #2
0
        public async Task SuccessfullyGenerated(int Id, string fileName, CancellationToken cancellationToken = default)
        {
            cancellationToken.ThrowIfCancellationRequested();

            var filterSpec = new DownloadProcessFilterSpecification(Id);
            var entity     = await _unitOfWork.DownloadProcessRepository.FirstOrDefaultAsync(filterSpec, cancellationToken);

            if (entity == null)
            {
                throw new EntityNotFoundException(nameof(DownloadProcess), Id);
            }

            entity.Status       = "SUCCESS";
            entity.ErrorMessage = string.Empty;
            entity.FileName     = fileName;
            entity.EndTime      = DateTime.Now;
            AssignUpdater(entity);
            await _unitOfWork.DownloadProcessRepository.UpdateAsync(entity, cancellationToken);

            await _unitOfWork.CommitAsync();
        }
コード例 #3
0
        public async Task <ActionResult> UpdateItemAsync([FromBody] DownloadProcessDTO downloadProcessDto, CancellationToken cancellationToken)
        {
            var specFilter = new DownloadProcessFilterSpecification(downloadProcessDto.Id);
            var rowCount   = await _downloadProcessService.CountAsync(specFilter, cancellationToken);

            if (rowCount == 0)
            {
                throw new EntityNotFoundException(nameof(downloadProcessDto), downloadProcessDto.Id);
            }

            var item = _mapper.Map <DownloadProcess>(downloadProcessDto);

            var result = await _downloadProcessService.UpdateAsync(item, cancellationToken);

            if (!result)
            {
                AssignToModelState(_downloadProcessService.Errors);
                return(ValidationProblem());
            }

            return(CreatedAtAction(nameof(ItemByIdAsync), new { id = item.Id }, null));
        }
コード例 #4
0
        public async Task <DownloadProcess> GetByJobIdAsync(string jobId, CancellationToken cancellationToken = default)
        {
            var spec = new DownloadProcessFilterSpecification(jobId, string.Empty, string.Empty);

            return(await _unitOfWork.DownloadProcessRepository.FirstOrDefaultAsync(spec, cancellationToken));
        }