コード例 #1
0
        public async Task <IActionResult> UpdateEntry([FromRoute] int totemEntryId,
                                                      [FromBody] UpdateTotemEntryDTO dto)
        {
            var model = await _totemEntryService.UpdateEntry(totemEntryId, dto);

            return(Ok(model));
        }
コード例 #2
0
        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);
        }