public async Task <IActionResult> CreateType([FromBody] CreateDrinkTypeDTO dto) { var newType = await _drankTypeService.CreateDrankType(dto); var model = _mapper.Map <BasicDrinkTypeDTO>(newType); return(CreatedAtRoute("GetTypeById", new { drankTypeId = newType.Id }, model)); }
/// <summary> /// Maakt een nieuw dranktype aan de hand van het gegeven model en slaat dit op in de database. /// </summary> /// <param name="dto">Model met gegevens voor het nieuwe type</param> /// <returns>Awaitable van het nieuw aangemaakte type</returns> public async Task <DrankType> CreateDrankType(CreateDrinkTypeDTO dto) { var existingType = await _drankTypeRepository.FindTypeByNaam(dto.Naam.Trim().ToLowerInvariant()); if (existingType != null) { throw new EntityExistsException($"Er bestaat al een type met deze naam"); } var newType = new DrankType() { Naam = dto.Naam.Trim() }; await _drankTypeRepository.AddAsync(newType); await _drankTypeRepository.SaveChangesAsync(); return(newType); }