public async Task <IActionResult> Index() { ApplicationUser currentUser = await _userManager.GetUserAsync(User); ViewData["currentUser"] = currentUser; //ViewData["TotalNewNotifications"] = NotificationsControllerOld.NewNotifications(_context, _userManager.GetUserId(User)); currentUser.LastLogin = DateTime.Now; _context.SaveChanges(); //return View(); //if (currentUser.CountryId == 1 || currentUser.EmailConfirmed == false) //{ // return RedirectToAction("Index", "Manage"); //} //return RedirectToAction("Index", "Communities"); //WallViewModel wallviewmodel = await Wall(); CommunityWallViewModel CommunityWallViewModel = await Wall(); return(View(CommunityWallViewModel)); // return RedirectToAction("Wall", "ApplicationUsers"); //https://stackoverflow.com/questions/7892094/how-to-redirect-to-index-from-another-controller }
public async Task <CommunityWallViewModel> Wall() { try { var UserDetails = _context.Users.Include(a => a.Faculty) .SingleOrDefault(m => m.Id == _userManager.GetUserId(User)); var Following = _context.Follows.Where(a => a.UserId == _userManager.GetUserId(User)).Select(a => a.FollowedUserId); var wallViewModel = new CommunityWallViewModel { // Projects = _context.Projects // .Include(a => a.ApplicationUser) // .Where(a => Following.Contains(a.ApplicationUserId)) // .OrderBy(r => Guid.NewGuid()) //.Take(5) //.ToList(), // //According to Speciality // Publications = _context.Publications.Where(a => a.ApplicationUser.Faculty.SpecialityId == UserDetails.Faculty.SpecialityId) // .Include(a => a.ApplicationUser) //.OrderBy(r => Guid.NewGuid()) //.Take(10) //.ToList(), // //According to Speciality // Publications2 = _context.Publications.Where(a => Following.Contains(a.ApplicationUserId) || a.ApplicationUser.Summary.Contains(a.ArTitle)) // .Include(a => a.ApplicationUser) //.OrderBy(r => Guid.NewGuid()) //.Take(5) //.ToList(), Posts = _context.Posts.Include(a => a.Community).Include(a => a.ApplicationUser).Where(a => a.Community.CommunityType == CommunityType.Personal && a.IsHidden == false), //ScientificEvents = _context.ScientificEvents.Include(a => a.Speciality).Include(a => a.ApplicationUser).Where(a => a.EventDate > DateTime.Now), //SideAds = _context.SideAds.Where(a => a.IsVisible == true && a.AdsPositionType == AdsPositionType.Left) //Publications = _context.Publications // .Where(a => a.ApplicationUserId == id) // .OrderByDescending(a => a.PublicationDate) // .ToList(), }; return(wallViewModel); } catch (Exception) { return(null); } }