Example #1
0
        public async Task <IActionResult> Create(CreateDishViewModel model)
        {
            if (ModelState.IsValid)
            {
                var category = _context.Categories.FirstOrDefault(x => x.CategoryId == model.Dish.CategoryId);


                _context.Dishes.Add(model.Dish);
                _context.SaveChanges();

                model.Dish.ImageUrl = category.DefaultImage;

                foreach (var ingredient in model.Ingredients.Where(i => i.Selected))
                {
                    _context.DishIngredients.Add(new DishIngredient
                    {
                        DishId       = model.Dish.DishId,
                        IngredientId = ingredient.Id
                    });
                }
                _context.Update(model.Dish);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(model));
        }
        public ActionResult Create([Bind(Exclude = "Positions,MenuCategories")] CreateDishViewModel model,
                                   HttpPostedFileBase photo)
        {
            if (!ModelState.IsValid)
            {
                ModelState.AddModelError("", "In forms is error, please correct your data.");
                return(View());
            }
            var  menuCategory = _menuCatRep.GetByName(model.MenuCategoryName);
            Dish dish         = new Dish()
            {
                Description = model.Description,
                Name        = model.Name,
                Position    = model.Position,
                Price       = model.Price,
                MenuCatId   = menuCategory.Id
            };

            if (photo != null)
            {
                dish.Photo         = PhotoManager.GetBytes(photo);
                dish.PhotoMimeType = photo.ContentType;
            }
            _repository.Add(dish);
            _repository.Save();
            TempData["Message"] = "New dish:" + dish.Name + " has been added.";
            return(RedirectToAction("Manage", "Dish"));
        }
        public ActionResult Create()
        {
            var menuCategoryNames     = _menuCatRep.GetCategoryNames();
            CreateDishViewModel model = new CreateDishViewModel()
            {
                MenuCategories = new SelectList(menuCategoryNames),
                Positions      = new SelectList(GetPositionList())
            };

            return(View(model));
        }
        public IActionResult CreateDish()
        {
            var model = new CreateDishViewModel
            {
                DishIngredients = _dishService.FetchIngredientsFromSession(),
                Ingredients     = _dishService.FetchDishIngredients(),
                Categories      = _dishService.FetchDishCategories()
            };

            return(View(model));
        }
        public IActionResult DeleteIngredientFromSession(int ingredientID)
        {
            _dishService.DeleteIngredientFromSession(ingredientID);

            var model = new CreateDishViewModel
            {
                DishIngredients = _dishService.FetchIngredientsFromSession(),
                Ingredients     = _dishService.FetchDishIngredients(),
                Categories      = _dishService.FetchDishCategories()
            };

            return(ViewComponent("CreateDishIngredients", model));
        }
        public async Task <IActionResult> CreateDish()
        {
            var ingredients = await this.restaurantService.GetAllIngredients();

            var courses = await this.restaurantService.GetAllCourses();

            ViewData["Ingredients"] = ingredients;
            ViewData["Courses"]     = courses;

            var dishIngredient = new CreateDishViewModel()
            {
                Ingredients = new List <DishIngredient>()
            };

            return(this.View(dishIngredient));
        }
        public async Task <IActionResult> CreateDish(CreateDishViewModel model, string ingredients)
        {
            if (!this.ModelState.IsValid || model.Image == null)
            {
                return(this.RedirectToAction(nameof(CreateDish)));
            }

            var uniqueFileName = GetUniqueFileName(model.Image.FileName);
            var uploads        = Path.Combine(environment.WebRootPath, "images\\Menu");
            var filePath       = Path.Combine(uploads, uniqueFileName);

            model.Image.CopyTo(new FileStream(filePath, FileMode.Create));
            var parsedDish = this.mapper.Map <Dish>(model);

            await this.restaurantService.AddDish(parsedDish, ingredients, uniqueFileName);

            return(this.RedirectToAction(nameof(MenuList)));
        }
        public ActionResult Create([DataSourceRequest]DataSourceRequest request)
        {
            var productsFromDatabase = this.products
                .All()
                .To<ProductViewModel>()
                .ToList();

            var selectedProducts = productsFromDatabase
                .Select(p => p.Id)
                .ToList();

            var model = new CreateDishViewModel()
            {
                Products = productsFromDatabase,
                SelectedProducts = selectedProducts
            };

            return this.PartialView("_CreateDish", model);
        }
        public IActionResult CreateDish(CreateDishViewModel data)
        {
            if (ModelState.IsValid)
            {
                data.DishIngredients = _dishService.FetchIngredientsFromSession();
                _dishService.CreateNewDish(data.Dish, data.DishIngredients);
                _sessionService.Clear();
                return(RedirectToAction("ViewDishes", "Admin"));
            }

            var model = new CreateDishViewModel
            {
                DishIngredients = _dishService.FetchIngredientsFromSession(),
                Ingredients     = _dishService.FetchDishIngredients(),
                Categories      = _dishService.FetchDishCategories()
            };

            return(View(model));
        }
        public IActionResult AddIngredientToSession(int ingredientID)
        {
            if (_dishService.IngredientExists(ingredientID) == true)
            {
                ViewBag.IngredientError = "Ingrediensen finns redan i maträtten";
            }
            else
            {
                _dishService.AddIngredientToSession(ingredientID);
            }

            var model = new CreateDishViewModel
            {
                DishIngredients = _dishService.FetchIngredientsFromSession(),
                Ingredients     = _dishService.FetchDishIngredients(),
                Categories      = _dishService.FetchDishCategories()
            };

            return(ViewComponent("CreateDishIngredients", model));
        }
Example #11
0
        public IActionResult Create()
        {
            var model = new CreateDishViewModel
            {
                Dish        = new Dish(),
                Ingredients = new List <CheckBox>()
            };

            foreach (var ingredient in _ingredientService.All())
            {
                model.Ingredients.Add(new CheckBox
                {
                    Id       = ingredient.IngredientId,
                    Name     = ingredient.Name,
                    Selected = false
                });
            }

            return(View(model));
        }
        public ActionResult AddDish(CreateDishViewModel model)
        {
            if (this.ModelState.IsValid)
            {
                var productsToAddInDish = new List<Product>();
                foreach (var productId in model.SelectedProducts)
                {
                    var product = this.products.GetById(productId);
                    productsToAddInDish.Add(product);
                }

                this.dishes.AddDish(
                    new Dish()
                    {
                        Name = model.Name,
                        HasSauce = model.HasSauce,
                        Products = productsToAddInDish
                    });

                return this.RedirectToAction("Index");
            }

            return this.PartialView("_CreateDish");
        }
 public IViewComponentResult Invoke(CreateDishViewModel model)
 {
     return(View("CreateDishIngredients", model));
 }