Beispiel #1
0
        public async Task <int> CreateDrink(DrinkBindingModel model)
        {
            try
            {
                var drink = this.Mapper.Map <Drink>(model);
                this.AssignIngredientsToDrink(drink, model.Ingredients);

                this.DbContext.Drinks.Add(drink);
                await this.DbContext.SaveChangesAsync();
            }
            catch
            {
                //failure
                return(0);
            }
            //success
            return(1);
        }
Beispiel #2
0
        public async Task <IActionResult> AddDrink(DrinkBindingModel model)
        {
            if (!this.ModelState.IsValid)
            {
                var ingredients = this.storageService.GetAllIngredientsNames();
                this.ViewBag.Ingredients = ingredients;
                return(this.View());
            }
            var result = await this.storageService.CreateDrink(model);

            if (result == 0)
            {
                this.TempData[WebConstants.BadMessage] = string.Format(Messages.AddingFailureMessage, typeof(Drink).Name, model.Name);
            }
            else
            {
                this.TempData[WebConstants.GoodMessage] = string.Format(Messages.AddingSuccessMessage, typeof(Drink).Name, model.Name);
            }
            return(RedirectToAction("AddDrink", "Storage", new { Area = WebConstants.AdminArea }));
        }