コード例 #1
0
        public IActionResult Register(RegisterUser ViewModel)
        {
            if (ModelState.IsValid)
            {
                if (ViewModel.password != ViewModel.pw_confirm)
                {
                    TempData["Error"] = "Invalid Registration - Password not confirmed";
                }
                else
                {
                    //        User newUser = _context.user.Where(u => u.email == model.email).SingleOrDefault();
                    //    }

                    PasswordHasher <User> Hasher = new PasswordHasher <User>();
                    User user = new User();

                    user.password = Hasher.HashPassword(user, ViewModel.password);

                    user.name       = ViewModel.name;
                    user.alias      = ViewModel.alias;
                    user.email      = ViewModel.email;
                    user.created_at = DateTime.Now;

                    _context.user.Add(user);
                    _context.SaveChanges();

                    int UserId = _context.user.Last().id;

                    HttpContext.Session.SetInt32("UserId", UserId);

                    return(RedirectToAction("IdeasDashboard", "Ideas"));
                }
            }
            return(View("Index"));
        }
コード例 #2
0
ファイル: HomeController.cs プロジェクト: MarsX1e/BrightIdeas
        public IActionResult Register(UserValidateModel model)
        {
            System.Console.WriteLine(ModelState.IsValid);
            int num = _context.users.Where(u => u.Email == model.Email).ToList().Count;

            System.Console.WriteLine(num);
            if (num != 0)
            {
                ViewBag.error = "Email has been registered";
                return(View("Index"));
            }
            if (ModelState.IsValid)
            {
                User user = new User
                {
                    Name     = model.Name,
                    Alias    = model.Alias,
                    Email    = model.Email,
                    Password = model.Password,
                };
                System.Console.WriteLine(user.create_at);
                PasswordHasher <User> Hasher = new PasswordHasher <User>();
                user.Password = Hasher.HashPassword(user, user.Password);
                System.Console.WriteLine(user.Password);
                _context.Add(user);
                _context.SaveChanges();
                System.Console.WriteLine(user.UserId);
                HttpContext.Session.SetInt32("UserId", user.UserId);
                return(RedirectToAction("Main", "Ideas"));
            }
            return(View("Index"));
        }
コード例 #3
0
 public IActionResult Register(RegisterViewModel model)
 {
     if (!ModelState.IsValid)
     {
         return(View("Index"));
     }
     else
     {
         bool exists = _context.Users.Any(u => u.Email == model.Email);
         if (exists == true)
         {
             HttpContext.Session.SetString("existsError", "That email address is already in use, please try again.");
             return(RedirectToAction("Index"));
         }
         else
         {
             User newUser = new User {
                 Name     = model.Name,
                 Email    = model.Email,
                 Alias    = model.Alias,
                 Password = model.Password,
             };
             _context.Users.Add(newUser);
             _context.SaveChanges();
             User currentUser = _context.Users.Single(u => u.Email == newUser.Email);
             HttpContext.Session.SetInt32("userID", currentUser.UserID);
             return(RedirectToAction("AllIdeas", "Idea"));
         }
     }
 }
コード例 #4
0
ファイル: HomeController.cs プロジェクト: cantuc/BrightIdeas
 public IActionResult Register(User NewUser)
 {
     if (ModelState.IsValid)
     {
         PasswordHasher <User> Hasher = new PasswordHasher <User>();
         NewUser.Password = Hasher.HashPassword(NewUser, NewUser.Password);
         _context.Add(NewUser);
         _context.SaveChanges();
         HttpContext.Session.SetObjectAsJson("ActiveUser", NewUser);
         HttpContext.Session.SetInt32("ActiveUserId", NewUser.UserId);
         return(RedirectToAction("BrightIdeas"));
     }
     else
     {
         return(View("Index"));
     }
 }
コード例 #5
0
        public IActionResult NewIdea(IdeasDashboardViewModel ViewModel)
        {
            if (Logged_user == null)
            {
                return(RedirectToAction("Index"));
            }

            Idea newIdea = new Idea();

            newIdea.userid     = Logged_user.id;
            newIdea.text       = ViewModel.text;
            newIdea.created_at = DateTime.Now;
            _context.idea.Add(newIdea);
            _context.SaveChanges();

            return(RedirectToAction("IdeasDashboard"));
        }
コード例 #6
0
        public IActionResult Create(BrightIdea newIdea)
        {
            if (uid == null)
            {
                return(RedirectToAction("BrightIdea", "BrightIdea"));
            }

            if (ModelState.IsValid)
            {
                newIdea.UserId = (int)uid;
                db.Add(newIdea);
                db.SaveChanges();
                return(RedirectToAction("BrightIdeas"));
            }

            return(RedirectToAction("BrightIdeas", "BrightIdeas"));
        }
コード例 #7
0
 public IActionResult ProcessRegister(IndexVMW newUser)
 {
     if (ModelState.IsValid)
     {
         if (dbContext.users.Any(u => u.email == newUser.user.email))
         {
             ModelState.AddModelError("user.email", "Email already in use!");
             return(View("Index"));
         }
         PasswordHasher <User> Hasher = new PasswordHasher <User>();
         newUser.user.password = Hasher.HashPassword(newUser.user, newUser.user.password);
         dbContext.Add(newUser.user);
         dbContext.SaveChanges();
         HttpContext.Session.SetInt32("userID", newUser.user.user_id);
         return(Redirect("/bright_ideas"));
     }
     return(View("Index"));
 }
コード例 #8
0
 public IActionResult NewIdea(string newContent, int posterID)
 {
     if (newContent == null || newContent.Length < 10)
     {
         HttpContext.Session.SetString("postError", "Ideas must be at least 10 characters long.");
         return(RedirectToAction("AllIdeas"));
     }
     else
     {
         System.Console.WriteLine("*************************************");
         System.Console.WriteLine(posterID);
         Idea newOne = new Idea {
             Content = newContent,
             UserID  = posterID
         };
         _context.Ideas.Add(newOne);
         _context.SaveChanges();
         return(RedirectToAction("AllIdeas"));
     }
 }
コード例 #9
0
        public IActionResult Ideacreate(string IdeaText)
        {
            // I did validate idea text, but you said if wireframe hadn't mation it. I dont need to do it. Then I delete everything concerns validate idea text
            int?UserId = HttpContext.Session.GetInt32("UserId");

            if (UserId == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            Idea idea = new Idea
            {
                IdeaText = IdeaText,
                UserId   = (int)UserId,
            };

            _context.Add(idea);
            _context.SaveChanges();
            return(RedirectToAction("Main"));

            ViewBag.User  = _context.users.Where(u => u.UserId == (int)UserId).ToList().First();
            ViewBag.Ideas = _context.ideas.Include(i => i.subscribtions).OrderByDescending(i => i.subscribtions.Count).ToList();
            return(View("Main"));
        }
コード例 #10
0
        public IActionResult LikeIdea(IdeaVal idea)
        {
            int?user_id = HttpContext.Session.GetInt32("user_id");

            if (ModelState.IsValid)
            {
                Idea NewIdea = new Idea {
                    userid  = (int)user_id,
                    content = idea.content
                };

                // insert to DB...
                _context.ideas.Add(NewIdea);
                _context.SaveChanges();

                return(RedirectToAction("bright_ideas"));
            }
            else
            {
                // NOTE: may need to populate viewbag and show val errors (ignoring because not expressly asked for)
                return(RedirectToAction("bright_ideas"));
            }
        }
コード例 #11
0
        public IActionResult Users(UserVal user)
        {
            if (ModelState.IsValid)
            {
                User NewUser = new User {
                    name     = user.name,
                    alias    = user.alias,
                    email    = user.email,
                    password = user.password
                };

                // get from db...
                List <User> usr = _context.users.Where(userItem => userItem.email == NewUser.email).ToList();

                // check if user already exists...
                if (usr.Count > 0)
                {
                    // need to render view to support model binded errors...
                    ModelState.AddModelError("email", "User with that email already exists!");
                    return(View("Index"));
                }

                // insert to DB...
                _context.users.Add(NewUser);
                _context.SaveChanges();

                // set session... by getting the created user id...
                List <User> CurrentUser = _context.users.Where(userItem => userItem.email == NewUser.email).ToList();
                HttpContext.Session.SetString("name", (string)CurrentUser[0].name);
                HttpContext.Session.SetInt32("user_id", (int)CurrentUser[0].userid);

                return(RedirectToAction("bright_ideas", "Idea"));
            }
            else
            {
                // need to render view to support model binded errors...
                return(View("Index"));
            }
        }
コード例 #12
0
        public IActionResult Register(User newUser)
        {
            if (ModelState.IsValid)
            {
                if (db.Users.Any(user => user.Email == newUser.Email))
                {
                    ModelState.AddModelError("Email", "is taken");
                    return(View("Index"));
                }
            }

            if (ModelState.IsValid)
            {
                if (db.Users.Any(user => user.Alias == newUser.Alias))
                {
                    ModelState.AddModelError("Alias", "is taken");
                    return(View("Index"));
                }
            }

            else
            {
                return(View("Index"));
            }


            PasswordHasher <User> hasher = new PasswordHasher <User>();

            newUser.Password = hasher.HashPassword(newUser, newUser.Password);

            db.Users.Add(newUser);
            db.SaveChanges();

            // add to session, they are now "logged in"
            HttpContext.Session.SetInt32("UserId", newUser.UserId);
            HttpContext.Session.SetString("Alias", newUser.Alias);
            return(RedirectToAction("BrightIdeas", "BrightIdeas"));
        }