public IActionResult EditThisUser(int userId, UserPageWrapper fromForm) { RegisterUser fromLogin = HttpContext.Session.GetObjectFromJson <RegisterUser>("LoggedInUser"); RegisterUser User = dbContext.Users.FirstOrDefault(r => r.UserId == fromLogin.UserId); User.FirstName = fromForm.RegisterUser.FirstName; User.LastName = fromForm.RegisterUser.LastName; User.UserId = userId; User.Email = fromForm.RegisterUser.Email; if (dbContext.Users.Any(u => u.Email == fromForm.RegisterUser.Email)) { ModelState.AddModelError("Email", "Email already in use!"); return(View("EditUser", User)); } dbContext.Update(User); dbContext.Entry(User).Property("CreatedAt").IsModified = false; dbContext.Entry(User).Property("Password").IsModified = false; dbContext.SaveChanges(); HttpContext.Session.SetObjectAsJson("LoggedInUser", User); return(RedirectToAction("Main")); }
public IActionResult UserDetail(int userId) { string userEmail = HttpContext.Session.GetString("logged_in_user"); if (userEmail == null) { return(RedirectToAction("Index")); } User loggedInUser = _context.Users .Where(u => u.Email == userEmail) .Include(u => u.Messages) .SingleOrDefault(); User detailUser = _context.Users .Where(u => u.UserId == userId) .Include(u => u.Messages) .ThenInclude(m => m.Thread) .SingleOrDefault(); int totalMessages = detailUser.Messages.Count; detailUser.Messages = detailUser.Messages.OrderByDescending(m => m.CreatedAt).Take(4).ToList(); UserPageWrapper wrapper = new UserPageWrapper() { LoggedInUser = loggedInUser, DetailUser = detailUser, TotalPostsForDetailUser = totalMessages }; return(View("userpage", wrapper)); }
public IActionResult EditUser(int userId) { RegisterUser fromLogin = HttpContext.Session.GetObjectFromJson <RegisterUser>("LoggedInUser"); if (fromLogin == null) { return(RedirectToAction("Index")); } RegisterUser ToEdit = dbContext.Users .Include(u => u.Recipes) .FirstOrDefault(u => u.UserId == userId); UserPageWrapper UserPageWrapper = new UserPageWrapper(); UserPageWrapper.RegisterUser = ToEdit; List <Recipe> MyRecipes = new List <Recipe>(); MyRecipes = dbContext.Recipes.Where(r => r.CreatorId == ToEdit.UserId).ToList(); UserPageWrapper.MyRecipes = MyRecipes; return(View(UserPageWrapper)); }