public IActionResult DeleteUser(int id) { // Remove Comments List <Comment> RemoveComments = _context.Comments.Where(user => user.UserId == id).ToList(); foreach (var comment in RemoveComments) { _context.Remove(comment); } _context.SaveChanges(); // Remove Posts List <Post> RemovePosts = _context.Posts.Where(user => user.UserId == id).ToList(); foreach (var post in RemovePosts) { _context.Remove(post); } // Remove user User RemoveUser = _context.Users.Where(user => user.UserId == id).SingleOrDefault(); _context.Remove(RemoveUser); _context.SaveChanges(); return(RedirectToAction("Dashboard")); }
public IActionResult PostMessage(Post post) { if (HttpContext.Session.GetInt32("UserId") != null) { Post NewPost = new Post { PostContent = post.PostContent, CreatedAt = DateTime.Now, UpdatedAt = DateTime.Now, UserId = (int)HttpContext.Session.GetInt32("UserId") }; _context.Posts.Add(NewPost); _context.SaveChanges(); ViewBag.AllPosts = _context.Posts .Include(p => p.User) .OrderByDescending(p => p.CreatedAt) .Include(p => p.Comment) .ThenInclude(thisComment => thisComment.User) .ToList(); int?logId = HttpContext.Session.GetInt32("UserId"); ViewBag.LoggedUser = _context.Users.SingleOrDefault(user => user.UserId == logId); ModelState.Clear(); return(RedirectToAction("Index")); } else { return(RedirectToAction("Index", "Login")); } }
public IActionResult EditInfo(UpdateViewModel model) { int? UserId = HttpContext.Session.GetInt32("userid"); User thisUser = _context.Users.SingleOrDefault(x => x.UserId == UserId); if (ModelState.IsValid) { if (thisUser.email != model.email) { List <User> Checkemail = _context.Users.Where(x => x.email == model.email).ToList(); if (Checkemail.Count > 0) { TempData["invalidemail"] = $"Email entered already used. Please use another email."; return(RedirectToAction("EditUser")); } TempData["email"] = $"Email updated successfully from {thisUser.email}"; thisUser.email = model.email; } if (thisUser.firstname != model.firstname) { TempData["firstname"] = $"First name updated successfully from {thisUser.firstname}"; thisUser.firstname = model.firstname; } if (thisUser.lastname != model.lastname) { TempData["lastname"] = $"Last name updated successfully from {thisUser.lastname}"; thisUser.lastname = model.lastname; } _context.SaveChanges(); RedirectToAction("EditUser"); } ViewBag.UserLoggedin = thisUser; return(View("EditUser")); }
public IActionResult AddPost(Post model, int id) { User CurrentUser = _context.Users.SingleOrDefault(person => person.UserId == (int)HttpContext.Session.GetInt32("CurrUserId")); Post NewPost = new Post { Title = model.Title, Content = model.Content, UserId = id }; _context.Add(NewPost); _context.SaveChanges(); return(RedirectToAction("Wall")); }
public IActionResult RegisterUser(RegisterViewModel model, User NewUser) { if (ModelState.IsValid) { List <User> Allusers = _context.Users.Where(User => User.email == model.email).ToList(); if (Allusers.Count > 0) { TempData["Emailused"] = "This email has already been registered. Login or Register with new email."; return(View("Register")); } List <User> Allemails = _context.Users.ToList(); if (Allemails.Count == 0) { NewUser.level = 9; } else { NewUser.level = 1; } PasswordHasher <User> Hasher = new PasswordHasher <User>(); NewUser.password = Hasher.HashPassword(NewUser, NewUser.password); _context.Users.Add(NewUser); _context.SaveChanges(); User Reg = _context.Users.SingleOrDefault(User => User.email == NewUser.email); HttpContext.Session.SetInt32("userid", (int)Reg.UserId); HttpContext.Session.SetInt32("level", (int)Reg.level); if (Reg.level == 9) { return(RedirectToAction("ManageUsers", "Admin")); } return(RedirectToAction("AllUsers", "Normal")); } return(View("Register")); }
public IActionResult PostMessage(Message NewMessage) { // System.Console.WriteLine("NEW MESSAGE", message); // System.Console.WriteLine(message); // NewMessage.message = message; int?WallId = HttpContext.Session.GetInt32("profileid"); int?SenderId = HttpContext.Session.GetInt32("userid"); NewMessage.MessageReceivedId = (int)WallId; NewMessage.MessageSentId = (int)SenderId; System.Console.WriteLine("NEW MESSAGE"); System.Console.WriteLine(NewMessage.message); _context.Messages.Add(NewMessage); _context.SaveChanges(); return(RedirectToAction("DisplayWall", new{ user_id = WallId })); }
public IActionResult EditUser(int id, User model) { User CurrentUser = _context.Users.SingleOrDefault(u => u.UserId == id); ViewBag.User = CurrentUser; System.Console.WriteLine(model.AccessLevel); CurrentUser.FirstName = model.FirstName; CurrentUser.LastName = model.LastName; CurrentUser.Email = model.Email; CurrentUser.AccessLevel = model.AccessLevel; CurrentUser.UpdatedAt = DateTime.Now; _context.SaveChanges(); return(RedirectToAction("Dashboard", "Dashboard")); }
public IActionResult AddUser(RegisterViewModel model) { if (ModelState.IsValid) { User currUser = _context.Users.SingleOrDefault(user => user.Email == model.Email); if (currUser != null) { ModelState.AddModelError("email", "Email is already registered"); return(View("AddUser", model)); } User newUser = new User { FirstName = model.FirstName, LastName = model.LastName, Email = model.Email, Password = model.Password, }; PasswordHasher <User> Hasher = new PasswordHasher <User>(); newUser.Password = Hasher.HashPassword(newUser, newUser.Password); _context.Users.Add(newUser); _context.SaveChanges(); currUser = _context.Users.SingleOrDefault(user => user.Email == newUser.Email); ViewBag.currUser = currUser; HttpContext.Session.SetInt32("CurrUser", currUser.UserId); return(RedirectToAction("Dashboard", "Dashboard")); } return(View("AddUser", model)); }
public IActionResult UpdateInfoA(int id, User model) { User CurrentUser = _context.Users.SingleOrDefault(person => person.UserId == id); ViewBag.User = CurrentUser; System.Console.WriteLine(model.AccessLevel); CurrentUser.FirstName = model.FirstName; CurrentUser.LastName = model.LastName; CurrentUser.Email = model.Email; CurrentUser.AccessLevel = model.AccessLevel; CurrentUser.UpdatedAt = DateTime.Now; _context.SaveChanges(); TempData["Success"] = "User info successfuly updated"; return(RedirectToAction("Dashboard", "Dashboard")); }
public IActionResult DeleteUser(int id) { if (HttpContext.Session.GetInt32("id") == null) { return(RedirectToAction("Login")); } User current = _context.users.Single(u => u.id == HttpContext.Session.GetInt32("id")); if (current.user_level != "admin") { return(RedirectToAction("Dashboard")); } User userToRemove = _context.users.SingleOrDefault(u => u.id == id); _context.Remove(userToRemove); _context.SaveChanges(); return(RedirectToAction("Dashboard")); }
public IActionResult AddUser(RegisterViewModel model, User NewUser) { System.Console.WriteLine("New User", NewUser); if (ModelState.IsValid) { List <User> Allusers = _context.Users.Where(User => User.email == model.email).ToList(); if (Allusers.Count > 0) { TempData["Emailused"] = "This email has already been registered. Register with a new email."; return(View("AddUser")); } NewUser.level = 1; PasswordHasher <User> Hasher = new PasswordHasher <User>(); NewUser.password = Hasher.HashPassword(NewUser, NewUser.password); _context.Users.Add(NewUser); _context.SaveChanges(); return(RedirectToAction("ManageUsers")); } int? UserId = HttpContext.Session.GetInt32("userid"); User Adminuser = _context.Users.SingleOrDefault(User => User.UserId == UserId); ViewBag.UserName = Adminuser.firstname; return(View("AddUser")); }
public IActionResult RegisterUser(User model) { List <string> allErrors = new List <string>(); if (ModelState.IsValid) { User CheckUser = _context.Users.SingleOrDefault(person => person.Email == model.Email); if (CheckUser != null) { allErrors.Add("Email already in use"); TempData["Errors"] = allErrors; return(RedirectToAction("Index")); } PasswordHasher <User> Hasher = new PasswordHasher <User>(); User newUser = new User { FirstName = model.FirstName, LastName = model.LastName, Email = model.Email, Password = model.Password, AccessLevel = model.AccessLevel, CreatedAt = DateTime.Now, UpdatedAt = DateTime.Now }; newUser.Password = Hasher.HashPassword(newUser, newUser.Password); _context.Add(newUser); _context.SaveChanges(); // Grab user id User user = _context.Users.SingleOrDefault(person => person.Email == model.Email); HttpContext.Session.SetInt32("CurrUserId", user.UserId); return(RedirectToAction("Success")); } foreach (var i in ModelState.Values) { if (i.Errors.Count > 0) { allErrors.Add(i.Errors[0].ErrorMessage.ToString()); } } TempData["Errors"] = allErrors; return(RedirectToAction("Index", model)); }
public IActionResult Create(Register model) { if (ModelState.IsValid) { User EmailCheck = _userDashboardContext.User.SingleOrDefault(User => User.Email == model.Email); if (EmailCheck == null) { User newUser = new User { FirstName = model.FirstName, LastName = model.LastName, Email = model.Email, Password = model.Password, Level = 0, Description = "", CreatedAt = DateTime.Now, UpdatedAt = DateTime.Now }; _userDashboardContext.Add(newUser); _userDashboardContext.SaveChanges(); return(RedirectToAction("Dashboard")); } else { ViewBag.RegisterMessages = "Email Taken!"; } } return(View("New")); }