public async Task <string> AddBarAsync(BarDTO barDTO) //tested { barDTO.ValidateIfNull(ExceptionMessages.BarDtoNull); barDTO.ImageUrl = _fileUploadService.SetUniqueImagePathForBar(barDTO.BarImage); var newBar = barDTO.MapBarDTOToBar(); // to be tested in MapperTests var newAddress = barDTO.MapBarDTOToAddress(); // to be tested in MapperTests newBar.Address = newAddress; _context.Bars.Add(newBar); await _context.SaveChangesAsync(); var coctailsInBar = barDTO.Cocktails.Select(c => c.MapToCocktailModel()).ToList(); foreach (var cocktail in coctailsInBar) { AddCocktailToBar(cocktail, newBar); } await _context.SaveChangesAsync(); return(newBar.Name); }