public async Task <IActionResult> Create(CreateCocktailViewModel cocktailVm) { var ingr = await _ingredientServices.GetAllIngredientsNames(); if (ModelState.IsValid) { //TODO -refactor! // validation if there is no Picture! try { //var imageSizeInKb = cocktailVm.CocktailImage.Length / 1024; //var type = cocktailVm.CocktailImage.ContentType; var cocktailDto = cocktailVm.MapToCocktailDTO(); await _cocktailServices.AddCocktail(cocktailDto); string id = this.User.FindFirstValue(ClaimTypes.NameIdentifier); await _notificationServices.CocktailCreateNotificationToAdminAsync(id, cocktailDto.Name); _toast.AddSuccessToastMessage($"You successfully added cocktail {cocktailDto.Name}!"); return(RedirectToAction("ListCocktails")); } catch (Exception ex) { _toast.AddErrorToastMessage(ex.Message); ViewBag.ErrorTitle = ""; return(View("Error")); } } cocktailVm.IngredientsNames.Add(new SelectListItem("Choose an igredient", "")); cocktailVm.IngredientsNames.AddRange(ingr.Select(i => new SelectListItem(i, i))); return(View(cocktailVm)); }