public ActionResult DeleteConfirmed(int id)
        {
            newUsers newUsers = db.newUsers.Find(id);

            db.newUsers.Remove(newUsers);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "newUser_id,newUser_email,newUser_token,newUser_expires")] newUsers newUsers)
 {
     if (ModelState.IsValid)
     {
         db.Entry(newUsers).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(newUsers));
 }
        public ActionResult Create([Bind(Include = "newUser_id,newUser_email,newUser_token,newUser_expires")] newUsers newUsers)
        {
            if (ModelState.IsValid)
            {
                db.newUsers.Add(newUsers);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(newUsers));
        }
        // GET: newUsers/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            newUsers newUsers = db.newUsers.Find(id);

            if (newUsers == null)
            {
                return(HttpNotFound());
            }
            return(View(newUsers));
        }
Ejemplo n.º 5
0
        public ActionResult Create(newUsers newUsers)
        {
            // Generate a token for verification
            var token = randomBytes.GenerateRandomBytes(32);

            // Retrieve data from post method
            string newUser_name      = newUsers.newUser_name;
            string newUser_email     = newUsers.newUser_email;
            string newUser_pwd       = newUsers.newUser_pwd;
            string newUser_pwdRepeat = newUsers.newUser_pwdRepeat;

            try
            {
                if (newUser_pwd == null || newUser_pwdRepeat == null)
                {
                    // Verify if boxes are empty
                    throw new PasswordException();
                }
                else if (newUser_pwd != newUser_pwdRepeat)
                {
                    // Verify if pwd is the same on both boxes
                    throw new PasswordException();
                }
                // Verify if user exists
                var areUser = db.users.Where(x => x.user_email == newUser_email).FirstOrDefault();

                //If NOT exists, continue
                if (areUser == null)
                {
                    // Making Hashed Password for security with BCrypt
                    var hashedpwd = BCryptHelper.HashPassword(newUser_pwd, BCryptHelper.GenerateSalt(7));

                    // Insert a new User on Users table with INACTIVE state
                    userInsert(newUser_email, newUser_name, hashedpwd);

                    // Making HashedToken for security with BCrypt
                    string hashedToken = BCryptHelper.HashPassword(token, BCryptHelper.GenerateSalt(7));
                    // Time now on seconds (UNIX TIME)
                    var dateU = Convert.ToInt32(DateTimeOffset.Now.ToUnixTimeSeconds());
                    // Expire date from now to 30 min
                    int newUser_expires = dateU + 1800;
                    // Delete any data from database before now
                    newUserDelete(newUser_email);
                    // Inserting new data for recovery with expiration time setted on 30 min
                    newUserInsert(newUser_email, hashedToken, newUser_expires);
                    // Construct URL
                    string url = "localhost:62403/signup/continue?validator=" + token + "&email=" + newUser_email;

                    string message = url;

                    bool sending = sendEmail(newUser_email, message, "Confirm your registration");

                    if (sending)
                    {
                        return(RedirectToAction("confirmationPending", "Signup"));
                    }
                    else
                    {
                        return(RedirectToAction("Index", "Signup", new { error = "error" }));
                    }
                }
                else if (areUser != null)
                {
                    // If Exists
                    new UserExistsException();
                }
            }
            catch (UserExistsException)
            {
                return(RedirectToAction("Index", "Signup", new { error = "userexists" }));
            }

            return(RedirectToAction("Index", "Signup"));
        }