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> OnPostAsync(string returnUrl = null) { returnUrl = returnUrl ?? Url.Content("~/"); ExternalLogins = (await _signInManager.GetExternalAuthenticationSchemesAsync()).ToList(); if (ModelState.IsValid) { var user = new CustomUser { UserName = Input.Email, Email = Input.Email, Klant = new Klant { Voornaam = Input.Voornaam, Naam = Input.Naam, Postcode = Input.Postcode, Telefoon = Input.Telefoon, Email = Input.Email } }; var result = await _userManager.CreateAsync((CustomUser)user, Input.Password); user.Klant.UserId = user.Id; await _context.SaveChangesAsync(); if (result.Succeeded) { _logger.LogInformation("User created a new account with password."); var code = await _userManager.GenerateEmailConfirmationTokenAsync((CustomUser)user); code = WebEncoders.Base64UrlEncode(Encoding.UTF8.GetBytes(code)); var callbackUrl = Url.Page( "/Account/ConfirmEmail", pageHandler: null, values: new { area = "Identity", userId = user.Id, code = code, returnUrl = returnUrl }, protocol: Request.Scheme); await _emailSender.SendEmailAsync(Input.Email, "Confirm your email", $"Please confirm your account by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>."); if (_userManager.Options.SignIn.RequireConfirmedAccount) { return(RedirectToPage("RegisterConfirmation", new { email = Input.Email, returnUrl = returnUrl })); } else { await _signInManager.SignInAsync((CustomUser)user, isPersistent : false); return(LocalRedirect(returnUrl)); } } foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } } // If we got this far, something failed, redisplay form return(Page()); }
public async Task <IActionResult> OnPostAsync() { string userid = User.FindFirstValue(ClaimTypes.NameIdentifier); Klant klant = _context.Klanten.FirstOrDefault(k => k.UserId == userid); var user = await _userManager.GetUserAsync(User); if (user == null) { return(NotFound($"Unable to load user with ID '{_userManager.GetUserId(User)}'.")); } RequirePassword = await _userManager.HasPasswordAsync(user); if (RequirePassword) { if (!await _userManager.CheckPasswordAsync(user, Input.Password)) { ModelState.AddModelError(string.Empty, "Incorrect password."); return(Page()); } } Klant klant1 = await _context.Klanten.FirstOrDefaultAsync(x => x.UserId == user.Id); _context.Klanten.Remove(klant1); await _context.SaveChangesAsync(); var result = await _userManager.DeleteAsync(user); var userId = await _userManager.GetUserIdAsync(user); if (!result.Succeeded) { throw new InvalidOperationException($"Unexpected error occurred deleting user with ID '{userId}'."); } await _signInManager.SignOutAsync(); _logger.LogInformation("User with ID '{UserId}' deleted themselves.", userId); return(Redirect("~/")); }
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)); }
public async Task SaveAsync() { await _context.SaveChangesAsync(); }