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);
            }
        }