public async Task <IActionResult> Create(CreateProductViewModel viewModel) { string userid = User.FindFirstValue(ClaimTypes.NameIdentifier); Klant klant = _context.Klanten.FirstOrDefault(k => k.UserId == userid); if (ModelState.IsValid) { List <Productregel> nieuweRegels = new List <Productregel>(); foreach (int IngredientId in viewModel.GeselecteerdeIngredienten) { Productregel productregel = new Productregel(); productregel.IngredientId = IngredientId; productregel.ProductId = viewModel.Product.ProductId; nieuweRegels.Add(productregel); } _context.Add(viewModel.Product); await _context.SaveChangesAsync(); Product product = await _context.Producten.Include(p => p.Productregels) .SingleOrDefaultAsync(x => x.ProductId == viewModel.Product.ProductId); foreach (Productregel productregel in nieuweRegels) { product.Productregels.Add(productregel); } await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } viewModel.Ingredientenlijst = new SelectList(_context.Ingredienten, "IngredientId", "Soort"); return(View(viewModel)); }
public async Task <IActionResult> Create([Bind("AfhaalpuntId,Omschrijving,Adres,Postcode,stad")] Afhaalpunt afhaalpunt) { string userid = User.FindFirstValue(ClaimTypes.NameIdentifier); Klant klant = _context.Klanten.FirstOrDefault(k => k.UserId == userid); if (ModelState.IsValid) { _context.Add(afhaalpunt); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(afhaalpunt)); }
public async Task <IActionResult> Create([Bind("IngredientId,Soort,Allergeen,Voorraad,Prijs")] Ingredient ingredient) { string userid = User.FindFirstValue(ClaimTypes.NameIdentifier); Klant klant = _context.Klanten.FirstOrDefault(k => k.UserId == userid); if (ModelState.IsValid) { _context.Add(ingredient); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(ingredient)); }
public async Task <IActionResult> Index(OrderViewModel viewModel) { string userid = User.FindFirstValue(ClaimTypes.NameIdentifier); Klant klant = _context.Klanten.FirstOrDefault(k => k.UserId == userid); var cart = SessionHelper.GetObjectFromJson <List <Item> >(HttpContext.Session, "cart"); List <Afhaalpunt> afhaalpunten = await _context.Afhaalpunten.ToListAsync(); if (ModelState.IsValid && cart != null) { if (cart.Count > 0) { List <Orderlijn> orderlijnen = new List <Orderlijn>(); Order order = viewModel.order; order.Orderdatum = DateTime.Today; foreach (Afhaalpunt afhaalpunt in afhaalpunten) { if (("Afhaalpuntid" + afhaalpunt.AfhaalpuntId.ToString()) == viewModel.RadioField) { order.AfhaalpuntId = afhaalpunt.AfhaalpuntId; } } order.KlantId = klant.KlantId; _context.Add(order); await _context.SaveChangesAsync(); Order orderprodregel = await _context.Orders .Include(o => o.Orderlijnen) .ThenInclude(ol => ol.Product) .Include(o => o.Afhaalpunt) .SingleOrDefaultAsync(ol => ol.OrderId == viewModel.order.OrderId); foreach (Item item in cart) { Orderlijn orderlijn = new Orderlijn(); orderlijn.Aantal = item.Aantal; orderlijn.OrderId = viewModel.order.OrderId; orderlijn.Order = orderprodregel; orderlijn.Productid = item.product.ProductId; orderprodregel.Orderlijnen.Add(orderlijn); } await _context.SaveChangesAsync(); viewModel.leverdatum = orderprodregel.LeverDatum.ToString("dd-MM-yyyy"); viewModel.Afhaalpunt = orderprodregel.Afhaalpunt; cart.Clear(); SessionHelper.SetObjectAsJson(HttpContext.Session, "cart", cart); return(View(viewModel)); } } viewModel.FaultMessage = "Er zijn Geen items in de winkelmand"; viewModel.afhaalpunten = afhaalpunten; viewModel.Items = new List <Item>(); viewModel.Today = DateTime.Today.ToString("yyyy-MM-dd"); viewModel.Total = 0; return(View("~/Views/Cart/Index.cshtml", viewModel)); }