public IActionResult Index() { //ottengo e rimuovo i prodotti e le relative quantità dal carrello var tempProdottiInCarrello = HttpContext.Session.Get <List <Prodotto> >("prodottiCarrello"); HttpContext.Session.Remove("prodottiCarrello"); var tempQta = HttpContext.Session.Get <List <int> >("quantitaPerProdotto"); HttpContext.Session.Remove("quantitaPerProdotto"); var utenteLoggato = HttpContext.Session.Get <Utente>("utenteLoggato"); //Solo gli utenti posso acquistare, questo controllo serve per escludere gli Admin if (utenteLoggato.Ruolo.Equals("User")) { var tmpUtente = from x in context.Utente where x.Email == utenteLoggato.Email select x; var ordine = context.Ordine.Add(new Ordine { Email = utenteLoggato.Email, Stato = "Spedito", DataOrdine = DateTime.Now, EmailNavigation = tmpUtente.First(), }); context.SaveChanges(); Ordine_Prodotto ordineProdotto = new Ordine_Prodotto(); foreach (var x in tempProdottiInCarrello.Select((value, i) => new { i, value })) { ordineProdotto = new Ordine_Prodotto(); ordineProdotto.IdOrdine = ordine.Entity.IdOrdine; ordineProdotto.IdProdotto = x.value.IdProdotto; ordineProdotto.Quantita = tempQta[x.i]; context.Ordine_Prodotto.Add(ordineProdotto); } context.SaveChanges(); //ordine piazzato e caricato sul db, rimando utente nella sua area riservata return(RedirectToAction("AreaRiservataUser", "Account")); } //Mi loggo come Admin, vengo rimandato su HomePage return(RedirectToAction("Index", "Home")); }
public async Task <IActionResult> ResetarSenha(string id) { var usuario = await _context.Usuarios.FirstOrDefaultAsync(u => u.UserName == id); var swal = "Erro;Não foi possível resetar a senha;error"; if (usuario != null) { usuario.PasswordHash = "AQAAAAEAACcQAAAAEI+cy8kXmC/sQbBuZf/85cDEq96eYmA50IBpgpzd768HmJv7VDSEBDQmg13kox3YUA=="; _context.Attach(usuario).State = EntityState.Modified; _context.SaveChanges(); swal = $"Sucesso;Senha atualizada com êxito;success"; } TempData["Swal"] = swal; return(RedirectToPage("/Admin/Seguranca/Edit", new { Id = id })); }
public async Task <IActionResult> Register(string email, string password, string repassword) { if (password != repassword) { ModelState.AddModelError("errore", "Attenzione, reinserire la stessa password."); TempData["errore"] = "errore"; return(View()); } var newUser = new IdentityUser { UserName = email, Email = email, }; //creo i ruoli var newRoleUser = new IdentityRole { Name = "User" }; var newRoleAdmin = new IdentityRole { Name = "Admin" }; await roleManager.CreateAsync(newRoleUser); await roleManager.CreateAsync(newRoleAdmin); //creo lo user var userCreationResult = await userManager.CreateAsync(newUser, password); //aggiungo allo user appena creato il ruolo "User" await userManager.AddToRoleAsync(newUser, newRoleUser.Name); var utente = from x in context.Utente where x.Email.Equals(email) select x; if (utente.Count() > 0) { if (utente.First().Email.Equals(email)) { ModelState.AddModelError("errore", "Attenzione, email già presente nel sistema."); TempData["errore"] = "errore"; return(View()); } } context.Utente.Add(new Utente { Email = email, Psw = password, Ruolo = "User" }); context.SaveChanges(); if (!userCreationResult.Succeeded) { foreach (var error in userCreationResult.Errors) { ModelState.AddModelError(string.Empty, error.Description); } return(View()); } TempData["successo"] = "successo"; return(View()); }