コード例 #1
0
        public IActionResult UpdatePhotoForMember(int memberID, int photoID, PhotoUpdateDto photoToUpdate)
        {
            if (!_photoLibraryRepository.MemberExists(memberID))
            {
                return(NotFound());
            }

            var photoForMemberFromRepo = _photoLibraryRepository.GetPhoto(memberID, photoID);

            if (photoForMemberFromRepo == null)
            {
                var photoToAdd = _mapper.Map <Photo>(photoToUpdate);
                photoToAdd.ID = photoID;

                _photoLibraryRepository.AddPhoto(memberID, photoToAdd);

                _photoLibraryRepository.Save();

                var photoToReturn = _mapper.Map <PhotoDto>(photoToAdd);

                return(CreatedAtRoute("GetPhotoForMember", new { memberID = memberID, photoID = photoToReturn.ID }, photoToReturn));
            }

            // Order of events:
            // Map the entity to a photoUpdateDto
            // Apply changes to the Dto
            // Map the Dto back to an entity.... Automapper will take care of this for us...
            _mapper.Map(photoToUpdate, photoForMemberFromRepo);

            // From this moment on the entity already contains the updated fields!
            _photoLibraryRepository.UpdatePhoto(photoForMemberFromRepo);

            return(NoContent());
        }
コード例 #2
0
        public async Task <int> UpdateMissionPhoto(PhotoUpdateDto updateObject, int photoId, string code)
        {
            var photo2bUpdated = await _context.MissionPhotos.FindAsync(photoId);

            photo2bUpdated.Category     = updateObject.Category;
            photo2bUpdated.ImageCaption = updateObject.Caption;
            photo2bUpdated.UploadedBy   = code;
            _context.MissionPhotos.Update(photo2bUpdated);
            var numberAffected = await _context.SaveChangesAsync();

            return(numberAffected);
        }
コード例 #3
0
        public ActionResult UpdatePhoto(int id, PhotoUpdateDto photoUpdateDto)
        {
            var photoModel = _repository.GetPhotosByFamilyMember(id);

            if (photoModel == null)
            {
                return(NotFound());
            }

            _mapper.Map(photoUpdateDto, photoModel);
            _repository.UpdatePhoto(photoModel);
            _repository.SaveChanges();

            return(NoContent());
        }
コード例 #4
0
        public ActionResult PartiallyUpdatePhotoForMember(int memberID, int photoID, JsonPatchDocument <PhotoUpdateDto> patchDocument)
        {
            if (!_photoLibraryRepository.MemberExists(memberID))
            {
                return(NotFound());
            }

            var photoForMemberFromRepo = _photoLibraryRepository.GetPhoto(memberID, photoID);

            if (photoForMemberFromRepo == null)
            {
                var newPhotoToInsert = new PhotoUpdateDto();
                patchDocument.ApplyTo(newPhotoToInsert, ModelState);

                var photoToAdd = _mapper.Map <Photo>(newPhotoToInsert);
                // photoToAdd.ID = photoID; <<< don't need this. ID is an identity column

                if (!TryValidateModel(photoToAdd))
                {
                    return(ValidationProblem(ModelState));
                }

                _photoLibraryRepository.AddPhoto(memberID, photoToAdd);
                _photoLibraryRepository.Save();

                return(CreatedAtRoute("GetPhotoForMember", new { memberID = memberID, photoID = photoToAdd.ID }, photoForMemberFromRepo));
            }

            var photoToPatch = _mapper.Map <PhotoUpdateDto>(photoForMemberFromRepo);

            patchDocument.ApplyTo(photoToPatch, ModelState);

            if (!TryValidateModel(photoToPatch))
            {
                return(ValidationProblem(ModelState));
            }

            _mapper.Map(photoToPatch, photoForMemberFromRepo);

            _photoLibraryRepository.UpdatePhoto(photoForMemberFromRepo);

            _photoLibraryRepository.Save();

            return(NoContent());
        }
コード例 #5
0
        public async Task <ActionResult> UpdateMissionPhoto(PhotoUpdateDto updateObject, int photoId)
        {
            if (!ModelState.IsValid)
            {
                _logger.LogError("In cphoto controller,  update mission photo model not good");
                return(BadRequest(ModelState));
            }
            var user = await _userManager.GetUserAsync(User);

            var num = await _missionPhotosRepo.UpdateMissionPhoto(updateObject, photoId, user.CodeNr);

            if (num < 1)
            {
                _logger.LogError("In cphotos controller,  update mission photo returned 0 from repo");
                return(BadRequest("The photograph was not updated"));
            }
            var confirm = _confirm.ConfirmResponse(true, "A Mission has been updated successfully.");

            return(Ok(confirm));
        }