public async Task <ActionResult <Offer> > UptateOffer(int offerId, OfferToAddDto offerToAddDto) { var companyId = User.GetUserId(); var company = await _unitOfWork.UserRepository.GetUserByIdAsync(companyId); var offerToUpdate = await _unitOfWork.OfferRepository.GetOfferByIdAsync(offerId); if (offerToUpdate.CompanyName != company.UserName) { return(Unauthorized("You are not the creator of the offer")); } var offer = _mapper.Map(offerToAddDto, offerToUpdate); offer.CompanyName = company.UserName; if (await _unitOfWork.SaveAll()) { return(Ok(offer)); } return(BadRequest("Updating offer didn't succeed")); }
public async Task <ActionResult <Offer> > CreateOffer(OfferToAddDto offerToAddDto) { var companyId = User.GetUserId(); var company = await _unitOfWork.UserRepository.GetUserByIdAsync(companyId); if (company == null) { return(NotFound()); } var offer = _mapper.Map <Offer>(offerToAddDto); offer.CompanyName = company.UserName; _unitOfWork.OfferRepository.Add(offer); if (await _unitOfWork.SaveAll()) { return(CreatedAtRoute("offers", new { offerId = offer.Id }, offer)); } return(BadRequest("Adding offer didn't succeed")); }