Exemple #1
0
        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));
        }
Exemple #2
0
        /// <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);
        }