コード例 #1
0
        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));
        }
コード例 #2
0
        public async Task <AnnoucementForViewDto> UpdateAnnoucement(AnnoucementForUpdateDto annoucementDto, int userId)
        {
            Annoucement annoucement = _mapper.Map <Annoucement>(annoucementDto);

            annoucement.UserId = userId;

            await _repo.Update(annoucement);

            await _repo.Save();

            if (annoucementDto.Photo != null)
            {
                string annoucementImageFolder = GetFolderNameForAnnoucementPhotos(annoucement.AnnoucementId);
                ImageFileProcessor.DeleteFolderWithAnnoucementPhotos(annoucementImageFolder);
                //var annoucementWithPhotos = await _repo.GetAll().Include(p => p.Photos).Where(x => x.AnnoucementId == annoucement.AnnoucementId).FirstOrDefaultAsync();
                //annoucementWithPhotos.Photos = new List<Photo>();
                List <string> generatedImageNames = UploadImages(annoucementDto.Photo, annoucementImageFolder);
                AddPhotosToAnnoucement(annoucement, generatedImageNames);
                await _repo.Save();
            }

            return(_mapper.Map <AnnoucementForViewDto>(annoucement));
        }