public async Task <IActionResult> UpdateOffer([FromQuery] int userId, OfferForRegisterDto offerForRegisterDto) { if (userId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) { return(Unauthorized()); } if (await _repo.OfferExists(offerForRegisterDto.Id)) { Offer offer = _mapper.Map <Offer>(offerForRegisterDto); _repo.Update(offer); if (await _repo.SaveAllAsync()) { OfferForReturnDto offerForReturnDto = _mapper.Map <OfferForReturnDto>(offer); return(Ok(offerForReturnDto)); } return(BadRequest("It was not possible updating offer")); } return(BadRequest("Offer doesn't exists.")); }
public async Task <IActionResult> SaveOffer([FromQuery] int userId, OfferForRegisterDto offerForRegisterDto) { if (userId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) { return(Unauthorized()); } Offer newOffer = _mapper.Map <Offer>(offerForRegisterDto); _repo.Add(newOffer); if (await _repo.SaveAllAsync()) { OfferForReturnDto offerForReturnDto = _mapper.Map <OfferForReturnDto>(newOffer); return(Ok(offerForReturnDto)); } return(BadRequest("It's not possible saving offer")); }
public async Task <IActionResult> AddPhotoToNewOffer(int userId, [FromForm] PhotoForCreationDto photoForCreationDto, [FromForm] OfferForRegisterDto offerForRegisterDto) { if (userId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) { return(Unauthorized()); } Photo photo = UploadPhotoToCloudinary(photoForCreationDto); photo.IsMain = true; Offer offer = await _repo.GetOfferById(offerForRegisterDto.Id); if (offer == null) { offer = _mapper.Map <Offer>(offerForRegisterDto); offer.Photos.Add(photo); _repo.Add(offer); } else { offer.Photos.Add(photo); _repo.Update(offer); } if (await _repo.SaveAllAsync()) { var offerForReturnDto = _mapper.Map <OfferForReturnDto>(offer); return(CreatedAtRoute("GetOfferById", new { controller = "ofertas", id = offerForReturnDto.Id }, offerForReturnDto)); } return(BadRequest("Could not add the photo")); }