示例#1
0
        public IActionResult NewIdea(IdeaViewModel model)
        {
            int  user_id = (int)HttpContext.Session.GetInt32("user_id");
            User user    = _context.users.SingleOrDefault(u => u.id == user_id);

            if (ModelState.IsValid)
            {
                Idea idea = new Idea()
                {
                    body       = model.body,
                    users_id   = user.id,
                    user       = user,
                    created_at = DateTime.Now,
                    updated_at = DateTime.Now
                };

                _context.ideas.Add(idea);
                _context.SaveChanges();

                return(RedirectToAction("bright_ideas"));
            }
            else
            {
                return(View(model));
            }
        }
示例#2
0
        public IActionResult Register(RegisterViewModel model)
        {
            List <User> existingAliases = _context.users.Where(item => item.alias == model.alias).ToList();
            List <User> existingEmails  = _context.users.Where(item => item.email == model.email).ToList();

            if (existingAliases.Count > 0)
            {
                TempData["aliasError"] = "A user with that alias already exists";
                return(RedirectToAction("Index"));
            }
            if (existingEmails.Count > 0)
            {
                TempData["emailError"] = "A user with that email already exists";
                return(RedirectToAction("Index"));
            }
            if (ModelState.IsValid)
            {
                PasswordHasher <User> Hasher = new PasswordHasher <User>();
                User user = new User
                {
                    firstName  = model.firstName,
                    lastName   = model.lastName,
                    email      = model.email,
                    alias      = model.alias,
                    created_at = DateTime.Now,
                    updated_at = DateTime.Now,
                    password   = ""
                };
                user.password = Hasher.HashPassword(user, model.password);
                _context.users.Add(user);
                _context.SaveChanges();


                User addedUser = _context.users.SingleOrDefault(item => item.email == model.email);
                HttpContext.Session.SetInt32("user_id", addedUser.id);
                return(RedirectToAction("bright_ideas", "Main"));
            }
            else
            {
                return(View(model));
            }
        }