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()); }