public async Task <IActionResult> UpdateEntry([FromRoute] int totemEntryId, [FromBody] UpdateTotemEntryDTO dto) { var model = await _totemEntryService.UpdateEntry(totemEntryId, dto); return(Ok(model)); }
public async Task <BasicTotemEntryDTO> UpdateEntry(int entryId, UpdateTotemEntryDTO viewmodel) { var entryToUpdate = await _totemEntryRepository.FindByIdAsync(entryId); if (entryToUpdate == null) { throw new EntityNotFoundException($"Entry met id werd niet gevonden."); } var adjectief = await _adjectiefRepository.FindByIdAsync(viewmodel.AdjectiefId); if (adjectief == null) { throw new EntityNotFoundException($"Adjectief met id {viewmodel.AdjectiefId} werd niet gevonden."); } entryToUpdate.Adjectief = adjectief; var totem = await _totemRepository.FindByIdAsync(viewmodel.TotemId); if (totem == null) { throw new EntityNotFoundException($"Dier met id {viewmodel.TotemId} werd niet gevonden."); } entryToUpdate.Totem = totem; entryToUpdate.DatumGegeven = viewmodel.DatumGegeven.ToLocalTime(); if (viewmodel.VoorouderId != 0) { var voorouder = await _totemEntryRepository.FindByIdAsync(viewmodel.VoorouderId); if (voorouder == null) { throw new EntityNotFoundException($"Voorouder met id {viewmodel.VoorouderId} werd niet gevonden."); } entryToUpdate.Voorouder = voorouder; } await _totemEntryRepository.SaveChangesAsync(); var model = _mapper.Map <BasicTotemEntryDTO>(entryToUpdate); return(model); }