Beispiel #1
0
        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 }));
        }
Beispiel #3
0
        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());
        }