public async Task <ActionResult> GetInmate([FromBody] InmateUpdateRequest inmateUpdateRequest)
        {
            _logger.LogInformation("I just got a GetInmate request for {inmateId}", inmateUpdateRequest.Id);
            await _inmateCrudService.UpdateInmate(inmateUpdateRequest);

            return(Ok());
        }
示例#2
0
        public async Task UpdateInmate(InmateUpdateRequest inmateUpdateRequest)
        {
            var inmate = await GetInmate(inmateUpdateRequest.Id);

            inmate.Name               = inmateUpdateRequest.Name ?? inmate.Name;
            inmate.SizeInOz           = inmateUpdateRequest.SizeInOz ?? inmate.SizeInOz;
            inmate.HappinessLevelId   = inmateUpdateRequest.HappinessLevel != null ? (int)inmateUpdateRequest.HappinessLevel.Value : inmate.HappinessLevelId;
            inmate.HungerLevelId      = inmateUpdateRequest.HungerLevel != null ? (int)inmateUpdateRequest.HungerLevel.Value : inmate.HungerLevelId;
            inmate.ArrestLocationId   = inmateUpdateRequest.ArrestLocation != null ? (int)inmateUpdateRequest.ArrestLocation.Value : inmate.ArrestLocationId;
            inmate.TimeServedInMonths = inmateUpdateRequest.TimeServedInMonths ?? inmate.TimeServedInMonths;

            _dbContext.Update(inmate);
            await _dbContext.SaveChangesAsync();
        }
        public async Task UpdateInmateWorksCorrectly()
        {
            var request = new InmateUpdateRequest
            {
                Name = "Fake Name"
            };

            _mockCrudService.Setup(x => x.UpdateInmate(request)).Returns(Task.CompletedTask);

            var servicesToInject = new List <(Type InterfaceToMatch, object Implementation)>
            {
                (typeof(IInmateCrudService), _mockCrudService.Object)
            };
            var fakeApi = _apiFactory.BuildClient(servicesToInject);

            var byteContent = ConvertObjectToJsonBytes(request);
            var endpoint    = "api/InmateCrud/UpdateInmate";

            var response = await fakeApi.PatchAsync(endpoint, byteContent);

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
        }