Beispiel #1
0
        public async Task <CreateJobOfferCommandResponse> Handle(CreateJobOfferCommand request, CancellationToken cancellationToken)
        {
            var company = await _companyRepository.GetByIdAsync(request.CompanyId);

            if (company == null)
            {
                _logger.LogWarning("Entity not found from database. Request ID: {0}", request.CompanyId);

                throw new NotFoundException(nameof(Company), request.CompanyId);
            }

            var entity = _mapper.Map <JobOffer>(request);

            await _jobOfferRepository.AddAsync(entity);

            _logger.LogInformation("Created JobOffer Id: {0}", entity.Id);

            var uri = _uriService.Get(entity.Id, nameof(JobOffer));

            return(new CreateJobOfferCommandResponse(uri));
        }