Exemple #1
0
        public void UpdatePizza(CreatePizzaViewModel pizza)
        {
            var ingredients = new List <Ingredient>();

            foreach (var selectedIngredient in pizza.SelectedIngredients)
            {
                var ingredient = _ingredientRepository.GetById(selectedIngredient);

                if (ingredient == null)
                {
                    throw new Exception($"Ingredient with Id {selectedIngredient} does not exist");
                }

                ingredients.Add(ingredient);
            }

            var pizzaModel = _pizzaRepository.GetById(pizza.Id);

            pizzaModel.Name        = pizza.Name;
            pizzaModel.Description = pizza.Description;
            pizzaModel.BasePrice   = pizza.BasePrice;

            _pizzaIngredientRepository.RemoveAllPizzaIngredients(pizza.Id);

            foreach (var ingredient in ingredients)
            {
                pizzaModel.PizzaIngredients.Add(new PizzaIngredient
                {
                    Pizza      = pizzaModel,
                    Ingredient = ingredient
                });
            }

            _pizzaRepository.Update(pizzaModel);
        }
 public IActionResult Create(CreatePizzaViewModel model)
 {
     if (ModelState.IsValid)
     {
         int count = _pizzaService.AddPizza(model);
         return(RedirectToAction("index"));
     }
     return(View());
 }
Exemple #3
0
        public async Task <IActionResult> Index()
        {
            Klientas user = await userManager.GetUserAsync(User);

            string id = user?.Id;
            CreatePizzaViewModel model = new CreatePizzaViewModel();

            model.Padas = _context.Padas.ToList();
            return(View(model));
        }
Exemple #4
0
        //[ServiceFilter(typeof(ValidationFilter))]
        public IActionResult Create(CreatePizzaViewModel model)
        {
            //not needed anymore, validation done with ValidationFilter registered globally
            //if (ModelState.IsValid)
            //{
            int count = _pizzaService.AddPizza(model);

            return(RedirectToAction("index"));
            //}
            //return View();
        }
        public int AddPizza(CreatePizzaViewModel pizza)
        {
            var newPizza = new Pizza();

            newPizza.Name        = pizza.Name;
            newPizza.PizzaTypeId = pizza.PizzaTypeId;
            newPizza.Price       = pizza.Price;
            newPizza.Size        = pizza.Size;

            var added = _pizzaRepository.Insert(newPizza);

            return(added);
        }
Exemple #6
0
        public async Task <IActionResult> Create(CreatePizzaViewModel model)
        {
            Klientas user = await userManager.GetUserAsync(User);

            string id = user?.Id;

            var             entities      = new restaurant_dbContext();
            var             ingrendientai = from s in _context.Ingredientai select s;
            CreateViewModel viewModel     = new CreateViewModel();

            viewModel.ingredientai     = entities.Ingredientai.ToList();
            viewModel.ingredientoTipai = entities.IngredientoTipas.ToList();
            viewModel.picos            = entities.Pica.ToList();
            int    newPizzaId;
            string apr;

            if (ModelState.IsValid)
            {
                if (model.Aprasymas == null)
                {
                    apr = "";
                }
                else
                {
                    apr = model.Aprasymas;
                }

                var newPizza = new Pica
                {
                    Pavadinimas = model.Pavadinimas,

                    Aprasymas = apr,
                    Kaina     = 0,
                    Tipas     = 4,
                    Padas     = model.padas,
                    Nuotrauka = "/images/userCreated.png",
                    Klientas  = id
                };
                _context.Add(newPizza);


                await _context.SaveChangesAsync();

                newPizzaId = newPizza.Id;
                return(RedirectToAction("Edit", new { id = newPizzaId }));
            }

            model.Padas = _context.Padas.ToList();
            return(View("Index", model));
        }
Exemple #7
0
 public IActionResult Create(CreatePizzaViewModel model)
 {
     if (ModelState.IsValid)
     {
         var pizza = new Pizza();
         pizza.Name        = model.Name;
         pizza.PizzaTypeId = model.PizzaTypeId;
         pizza.Size        = model.Size;
         pizza.Price       = model.Price;
         pizzas.Add(pizza);
         return(RedirectToAction("Index"));
     }
     return(View("Create"));
 }
        public ActionResult Edit(CreatePizzaViewModel pizza, string Url)
        {
            ViewBag.URL = Url;
            if (ModelState.IsValid)
            {
                repository.UpdatePizza(pizza);
                if (ViewBag.URL.ToString().Contains("MyPizzas"))
                {
                    return(RedirectToAction("MyPizzas"));
                }
                return(RedirectToAction("Index"));
            }

            return(View(setupCreateOrEditViewModel(pizza.PizzaId)));
        }
        public IActionResult Create(CreatePizzaViewModel model)
        {
            if (ModelState.IsValid)
            {
                Pizza pizza = new Pizza();
                pizza.Name        = model.Name;
                pizza.PizzaTypeID = model.PizzaTypeID;
                pizza.Price       = model.Price;
                pizza.Size        = model.Size;

                pizzas.Add(pizza);
                int count = pizzas.GetAll().Count();
                return(RedirectToAction("index"));
            }
            return(View());
        }
Exemple #10
0
        public void UpdatePizza(CreatePizzaViewModel viewModel)
        {
            var dbPizza = db.Pizzas.Find(viewModel.PizzaId);

            dbPizza.Name             = viewModel.Name;
            dbPizza.IncomeCoeficient = viewModel.IncomeCoef;
            dbPizza.Size             = viewModel.Size;
            db.Entry(dbPizza).Collection(p => p.Ingredients).Load();

            var newIngredients = db.Ingredients.Where(ing => viewModel.selectedIngredients.Contains(ing.IngredientId.ToString())).ToList();

            dbPizza.Ingredients = newIngredients;
            dbPizza.Price       = newIngredients.Select(x => x.toIngredientDto()).Sum(x => x.getPriceForIngredientInSmallPizza()) * dbPizza.IncomeCoeficient;

            db.SaveChanges();
        }
        public ActionResult Create(CreatePizzaViewModel pizzaResponse, HttpPostedFileBase file)
        {
            if (ModelState.IsValid)
            {
                if (file != null)
                {
                    string pic  = Path.GetFileName(file.FileName);
                    string path = Path.Combine(
                        Server.MapPath("~/Content/Images"), pic);
                    // file is uploaded
                    file.SaveAs(path);

                    // save the image path path to the database or you can send image
                    // directly to database
                    // in-case if you want to store byte[] ie. for DB
                    using (MemoryStream ms = new MemoryStream())
                    {
                        file.InputStream.CopyTo(ms);
                        byte[] array = ms.GetBuffer();
                    }

                    pizzaResponse.ImgUrl = "/Content/Images/" + pic;
                }
                else
                {
                    pizzaResponse.ImgUrl = "/Content/Images/CustomPizza.png";
                }

                repository.CreatePizzaForUser(pizzaResponse, User.Identity.GetUserId());
                if (User.IsInRole(UserRoles.User))
                {
                    ViewBag.Title = "These are your custom pizzas";
                    return(RedirectToAction("MyPizzas"));
                }
                ViewBag.Title = "Barka 5's Menu";
                return(RedirectToAction("Index"));
            }

            foreach (var TypeOfIngredient in Enum.GetValues(typeof(IngredientType)))
            {
                pizzaResponse.TypeIngredientListPairs.Add(TypeOfIngredient.ToString(), repository.GetIngredientsByType((IngredientType)TypeOfIngredient));
            }
            return(View(pizzaResponse));
        }
Exemple #12
0
        public void CreatePizzaForUser(CreatePizzaViewModel pizza, string userFk)
        {
            var   ing     = db.Ingredients.Where(x => pizza.selectedIngredients.Contains(x.IngredientId.ToString())).ToList();
            Pizza dbPizza = new Pizza
            {
                PizzaId          = Guid.NewGuid(),
                Name             = pizza.Name,
                IncomeCoeficient = pizza.IncomeCoef,
                Ingredients      = ing,
                Price            = ing.Select(x => x.toIngredientDto()).Sum(x => x.getPriceForIngredientInSmallPizza()) * pizza.IncomeCoef,
                Orders           = new List <PizzaOrder>(),
                ImgUrl           = pizza.ImgUrl,
                Size             = pizza.Size,
                User             = db.Users.Find(userFk)
            };

            db.Pizzas.Add(dbPizza);
            db.SaveChanges();
        }
        public IActionResult Create(CreatePizzaViewModel pizza)
        {
            if (!HttpContext.User.HasClaim(ClaimTypes.Role, "Administrator"))
            {
                RedirectToAction("Menu", "Pizza");
            }

            if (!ModelState.IsValid)
            {
                pizza.AllIngredients = _ingredientService.GetIngredientsSelectList();
                return(View(pizza));
            }

            if (pizza.Id == 0)
            {
                _pizzaService.CreatePizza(pizza);
            }
            else
            {
                _pizzaService.UpdatePizza(pizza);
            }

            return(RedirectToAction("Menu", "Pizza"));
        }
        private CreatePizzaViewModel setupCreateOrEditViewModel(Guid?id)
        {
            CreatePizzaViewModel viewModel = new CreatePizzaViewModel();

            if (id != null)
            {
                var a = id;

                var pizzaToEdit = repository.GetPizza(id);

                viewModel.PizzaId = id;

                foreach (var TypeOfIngredient in Enum.GetValues(typeof(IngredientType)))
                {
                    viewModel.TypeIngredientListPairs.Add(TypeOfIngredient.ToString(), repository.GetIngredientsByType((IngredientType)TypeOfIngredient));
                }

                viewModel.selectedIngredients = repository.GetIngredientsForPizza(id)
                                                .Select(x => x.IngredientId.ToString())
                                                .ToList();

                viewModel.Name       = pizzaToEdit.Name;
                viewModel.IncomeCoef = pizzaToEdit.incomeCoeficient;
                viewModel.Size       = pizzaToEdit.Size;
                viewModel.ImgUrl     = pizzaToEdit.ImgUrl;
            }
            else
            {
                foreach (var TypeOfIngredient in Enum.GetValues(typeof(IngredientType)))
                {
                    viewModel.TypeIngredientListPairs.Add(TypeOfIngredient.ToString(), repository.GetIngredientsByType((IngredientType)TypeOfIngredient));
                }
            }

            return(viewModel);
        }
Exemple #15
0
 public CreatePizzaView()
 {
     DataContext = new CreatePizzaViewModel(this);
     InitializeComponent();
 }