예제 #1
0
        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."));
        }
예제 #2
0
        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"));
        }
예제 #3
0
        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"));
        }