public async Task <IActionResult> CreateBar(BarViewModel barViewModel)
        {
            if (await _barServices.BarWithThatNameExists(barViewModel.Name))
            {
                ModelState.AddModelError(string.Empty, "Bar with that name already exists.");
                return(View());
            }
            if (!ModelState.IsValid)
            {
                return(View());
            }
            var query     = barViewModel.FormatApiTemplate(barViewModel.Address.Split(' '));
            var apiResult = await this._apiServices.CallApiAsync(query);

            barViewModel.ParseApiResult(apiResult);
            var barModel = await barViewModel.MapToEntity();

            await _barServices.CreateBarAsync(barModel);

            foreach (var cocktail in barViewModel.Cocktails)
            {
                var cocktailEntity = await _cocktailServices.GetAsync(cocktail);

                await _barCocktailServices.CreateAsync(barModel, cocktailEntity);
            }
            return(RedirectToAction("Index", "Home"));
        }