public async Task <IActionResult> UpdateBanknote(Guid id, [FromBody] BanknoteUpdateDto banknote) { if (banknote == null) { return(BadRequest()); } if (!ModelState.IsValid) { return(new UnprocessableEntityObjectResult(ModelState)); } if (!await _countryService.CountryExists(banknote.CountryId)) { return(BadRequest()); } var retrievedBanknote = await _banknoteService.FindBanknoteById(id); if (retrievedBanknote == null) { return(NotFound()); } var collectorValue = _mapper.Map <CollectorValue>(banknote.CollectorValue); var existingCollectorValue = await _collectorValueService.FindCollectorValueByValues(collectorValue); retrievedBanknote.CollectorValueId = existingCollectorValue == null?Guid.NewGuid() : existingCollectorValue.Id; retrievedBanknote.CollectorValue = collectorValue; _mapper.Map(banknote, retrievedBanknote); _banknoteService.UpdateBanknote(retrievedBanknote); if (!await _banknoteService.Save()) { throw new Exception($"Updating banknote {id} failed on save."); } return(NoContent()); }
public async Task UpdateBanknote_UpdatesExistingBanknote() { //Arrange Guid id = new Guid("48d9049b-04f0-4c24-a1c3-c3668878013e"); Banknote updatedBanknote = await _banknoteService.FindBanknoteById(id); updatedBanknote.Type = "Euros"; //Act _banknoteService.UpdateBanknote(updatedBanknote); await _unitOfWork.Save(); //Assert Assert.Equal(6, (await _banknoteService.FindBanknotes(resourceParameters)).Count()); Assert.Equal("Euros", (await _banknoteService.FindBanknoteById(id)).Type); }