public async Task <IActionResult> Update([FromForm] AnnoucementForUpdateDto annoucementDto)
        {
            var userId = GetUserIdentifierFromClaims();

            AnnoucementForViewDto annoucement = await _service.UpdateAnnoucement(annoucementDto, userId);

            if (annoucement == null)
            {
                throw Exception($"Could not update annoucement with id {annoucementDto.AnnoucementId}");
            }

            return(CreatedAtAction("GetById", new { id = annoucement.Id }, annoucement));
        }
Example #2
0
        public async Task <IActionResult> Update([FromForm] AnnoucementUpdateModel annoucementUpdateModel)
        {
            AnnoucementDto annoucementDto = await _annoucementService.GetAnnoucement(annoucementUpdateModel.AnnoucementId);

            if (annoucementDto == null)
            {
                return(BadRequest($"No annoucement with id: {annoucementUpdateModel.AnnoucementId}"));
            }

            int currentUser = User.GetUserID();

            if (currentUser != annoucementDto.UserId)
            {
                return(StatusCode((int)HttpStatusCode.Forbidden, "You are not allowed to update other user's annoucement!"));
            }

            AnnoucementDto annoucementUpdateDto = _mapper.Map <AnnoucementDto>(annoucementUpdateModel);

            annoucementUpdateDto.UserId = currentUser;

            AnnoucementDto updatedAnnoucement = await _annoucementService.UpdateAnnoucement(annoucementUpdateDto, annoucementUpdateModel.Photo);

            return(CreatedAtAction(nameof(GetById), new { id = updatedAnnoucement.AnnoucementId }, updatedAnnoucement));
        }