コード例 #1
0
        public async Task <CocktailDTO> Create(CocktailDTO cocktailDTO)
        {
            if (this.context.Bars.Any(b => b.Name == cocktailDTO.Name))
            {
                throw new ArgumentException("The name is already existing");
            }

            if (cocktailDTO.Name == null)
            {
                throw new ArgumentNullException("The name is mandatory");
            }

            var cocktail = new Cocktail
            {
                Id = cocktailDTO.Id,
                AlcoholPercentage = cocktailDTO.AlcoholPercentage,
                Bars        = cocktailDTO.Bars,
                Comments    = cocktailDTO.Comments,
                ImageURL    = cocktailDTO.ImageURL,
                Ingredients = cocktailDTO.Ingredients,
                IsAlcoholic = cocktailDTO.IsAlcoholic,
                Name        = cocktailDTO.Name,
                Rating      = cocktailDTO.Rating,
                Stars       = cocktailDTO.Stars
            };

            await context.Cocktails.AddAsync(cocktail);

            await context.SaveChangesAsync();


            return(cocktail.Map());
        }