Exemple #1
0
        public IActionResult Login(VMW Submission)
        {
            if (ModelState.IsValid)
            {
                User userFromDb = dbContext.Users.FirstOrDefault(u => u.Email == Submission.loginUser.Email);
                if (userFromDb == null)
                {
                    ModelState.AddModelError("loginUser.Email", "Invalide Email/Password");
                    return(View("Index"));
                }

                var hasher = new PasswordHasher <LoginUser>();
                var result = hasher.VerifyHashedPassword(Submission.loginUser, userFromDb.Password, Submission.loginUser.Password);
                if (result == 0)
                {
                    ModelState.AddModelError("loginUser.Email", "Invalide Email/Password");
                    return(View("Index"));
                }
                HttpContext.Session.SetInt32("UserId", userFromDb.UserId);
                return(RedirectToAction("bright_idea"));
            }
            else
            {
                ModelState.AddModelError("loginUser.Email", "Invalide Email/Password");
                return(View("Index"));
            }
        }
Exemple #2
0
        public IActionResult ViewUser(int userid)
        {
            int?LocalUserId = HttpContext.Session.GetInt32("UserId");

            if (LocalUserId == null)
            {
                return(RedirectToAction("Index"));
            }

            User userLoggedIn = dbContext.Users.Include(u => u.CreatedPosts).Include(u => u.Likes).FirstOrDefault(u => u.UserId == userid);
            VMW  viewModel    = new VMW();

            viewModel.user = userLoggedIn;
            return(View(viewModel));
        }
Exemple #3
0
        public IActionResult bright_idea()
        {
            int?LocalUserId = HttpContext.Session.GetInt32("UserId");

            if (LocalUserId == null)
            {
                return(RedirectToAction("Index"));
            }

            User userLoggedIn = dbContext.Users.FirstOrDefault(u => u.UserId == LocalUserId);
            VMW  viewModel    = new VMW();

            viewModel.user  = userLoggedIn;
            viewModel.posts = dbContext.Posts.Include(p => p.Likes).ThenInclude(l => l.Liker).ToList();
            return(View(viewModel));
        }
Exemple #4
0
        public IActionResult ViewPost(int postid)
        {
            int?LocalUserId = HttpContext.Session.GetInt32("UserId");

            if (LocalUserId == null)
            {
                return(RedirectToAction("Index"));
            }

            User        userLoggedIn = dbContext.Users.FirstOrDefault(u => u.UserId == LocalUserId);
            List <Like> theseLikes   = dbContext.Likes.Include(l => l.Liker).Where(l => l.PostId == postid).ToList();
            Post        thisPost     = dbContext.Posts.FirstOrDefault(p => p.PostId == postid);
            VMW         viewModel    = new VMW();

            viewModel.newPost = thisPost;
            viewModel.user    = userLoggedIn;
            viewModel.likes   = theseLikes;
            return(View(viewModel));
        }
Exemple #5
0
 public IActionResult NewPost(VMW Submission)
 {
     if (ModelState.IsValid)
     {
         Post newPost     = Submission.newPost;
         int? LocalUserId = HttpContext.Session.GetInt32("UserId");
         if (LocalUserId == null)
         {
             return(RedirectToAction("Index"));
         }
         User userLoggedIn = dbContext.Users.FirstOrDefault(u => u.UserId == LocalUserId);
         newPost.UserId = userLoggedIn.UserId;
         dbContext.Add(newPost);
         dbContext.SaveChanges();
         return(RedirectToAction("bright_idea"));
     }
     else
     {
         return(RedirectToAction("bright_idea"));
     }
 }
Exemple #6
0
 public IActionResult Create(VMW Submission)
 {
     if (ModelState.IsValid)
     {
         if (dbContext.Users.Any(u => u.Email == Submission.user.Email))
         {
             // Manually add a ModelState error to the Email field
             ModelState.AddModelError("user.Email", "Email already in use!");
             return(View("Index"));
         }
         PasswordHasher <User> Hasher = new PasswordHasher <User>();
         Submission.user.Password = Hasher.HashPassword(Submission.user, Submission.user.Password);
         dbContext.Add(Submission.user);
         dbContext.SaveChanges();
         HttpContext.Session.SetInt32("UserId", Submission.user.UserId);
         return(RedirectToAction("bright_idea"));
     }
     else
     {
         return(View("Index"));
     }
 }