Exemplo n.º 1
0
        public IActionResult PartialUpdatePointOfInterest(int cityId, int id, [FromBody] Microsoft.AspNetCore.JsonPatch.JsonPatchDocument <PointOfInterestForUpdateDto> patchDoc)
        {
            if (!_cityInfoRepository.CityExists(cityId))
            {
                return(NotFound());
            }

            var entry = _cityInfoRepository.GetPointForInterestForCity(cityId, id);

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

            var entryToPatch = _mapper.Map <PointOfInterestForUpdateDto>(entry);

            patchDoc.ApplyTo(entryToPatch, ModelState);
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            if (!TryValidateModel(entryToPatch))
            {
                return(BadRequest());
            }

            _mapper.Map(entryToPatch, entry);
            _cityInfoRepository.UpdatePointOfInterestForCity(cityId, entry);
            _cityInfoRepository.Save();

            return(NoContent());
        }
Exemplo n.º 2
0
        public ActionResult PartialCommandUpdate(int id, Microsoft.AspNetCore.JsonPatch.JsonPatchDocument <CommandUpdateDto> patchDoc)
        {
            var commandModelFromRepo = _repository.GetCommandById(id);

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

            var commandToPatch = _mapper.Map <CommandUpdateDto>(commandModelFromRepo);

            patchDoc.ApplyTo(commandToPatch, ModelState);
            if (!TryValidateModel(commandToPatch))
            {
                return(ValidationProblem(ModelState));
            }

            _mapper.Map(commandToPatch, commandModelFromRepo);

            _repository.UpdateCommand(commandModelFromRepo);

            _repository.SaveChanges();

            return(NoContent());
        }
        public async Task PatchAyncShouldThrowArgumentNullExceptionOnNullId()
        {
            // arrange
            var providerWorkerRepository = new ProviderWorkerRepository(_mongoDatabase);
            var providerId          = Guid.NewGuid().ToString("n");
            var providerWorkerPatch = new Microsoft.AspNetCore.JsonPatch.JsonPatchDocument <ProviderWorker>();

            // act (deferred)
            var testCode = (Func <Task>)(async() => await providerWorkerRepository.PatchAsync(providerId, null, providerWorkerPatch));

            // assert
            await Assert.ThrowsAsync <ArgumentNullException>("id", testCode);
        }
Exemplo n.º 4
0
        public async Task <T> Patch <TCreation, TDTO>(int id, Microsoft.AspNetCore.JsonPatch.JsonPatchDocument <TDTO> patchDocument) where TDTO : class
        {
            if (patchDocument == null)
            {
                return(null);
            }

            var entity = await dbSet.FirstOrDefaultAsync(x => x.Id == id);

            if (entity == null)
            {
                return(null);
            }

            var entityDTO = mapper.Map <TDTO>(entity);

            patchDocument.ApplyTo(entityDTO);
            mapper.Map(entityDTO, entity);
            await context.SaveChangesAsync();

            return(entity);
        }
 public static void ApplyTo <T>(this Microsoft.AspNetCore.JsonPatch.JsonPatchDocument <T> patchDoc, T objectToApplyTo, Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateDictionary modelState) where T : class
 {
 }