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"));
        }
示例#2
0
        public async Task <IActionResult> CreateBar(BarViewModel model, List <IFormFile> Picture)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }

            var query     = model.FormatApiTemplate(model.Address.Split(' '));
            var apiResult = await this.apiServices.CallApiAsync(query);

            model.ParseApiResult(apiResult);

            //model.NewPicture = Picture;


            var bar = await model.MapToEntity();

            await barServices.CreateBarAsync(bar);

            foreach (var cocktail in model.Cocktails)
            {
                var cocktailEntity = await cocktailServices.GetAsync(cocktail);

                await barCocktailServices.CreateAsync(bar, cocktailEntity);
            }


            //this.formattingService.HtmlStringToPDF
            return(RedirectToAction("Index", "Home"));
        }