예제 #1
0
        public async Task <IActionResult> BrowseJobs(string category, string city, int?page)
        {
            PostJobVM postJobVM = new PostJobVM();

            if (User.Identity.IsAuthenticated)
            {
                AppUser user = await _userManager.FindByNameAsync(User.Identity.Name);

                postJobVM.AppUser = user;
            }
            ViewBag.PageCount = Math.Ceiling((decimal)_db.PostJobs.Count() / 5);
            ViewBag.Page      = page;
            if (page == null)
            {
                postJobVM.PostJobs = _db.PostJobs.Where(x => x.IsActivated == true)
                                     .Include(x => x.City)
                                     .Include(x => x.AppUser)
                                     .Include(x => x.AppUserPostJobs)
                                     .ThenInclude(x => x.AppUser)
                                     .OrderByDescending(p => p.Id).Take(5).ToList();
            }
            else
            {
                postJobVM.PostJobs = _db.PostJobs.Where(x => x.IsActivated == true)
                                     .Include(x => x.City)
                                     .Include(x => x.AppUser)
                                     .Include(x => x.AppUserPostJobs)
                                     .ThenInclude(x => x.AppUser).OrderByDescending(p => p.Id).Skip(((int)page - 1) * 5).Take(5).ToList();
            }
            return(View(postJobVM));
        }
예제 #2
0
        public async Task <IActionResult> Index()
        {
            #region
            //PostJobVM postJobVM = new PostJobVM
            //{
            //    AppUserPostJobs = _db.AppUserPostJobs.Include(x => x.AppUser).Include(x => x.PostJob)
            //};
            //if (User.Identity.IsAuthenticated)
            //{
            //    AppUser user = await _userManager.FindByNameAsync(User.Identity.Name);
            //    postJobVM.AppUser = user;
            //}
            //var job = _db.PostJobs.Include(x=>x.).Where(x => x.AppUserId == user.Id).ToList();
            //return View(postJobVM);
            #endregion
            AppUser user = await _userManager.FindByNameAsync(User.Identity.Name);

            List <AppUserPostJob> postJobs     = _db.AppUserPostJobs.Where(x => x.AppUserId == user.Id).ToList();
            List <AppUser>        users        = _userManager.Users.ToList();
            List <AppUser>        StaredUsers  = new List <AppUser>();
            List <AppUser>        AppliedUsers = new List <AppUser>();

            foreach (var j in postJobs)
            {
                foreach (var u in users)
                {
                    if (u.Id == j.AppendUserId && j.IsFavorite == true)
                    {
                        StaredUsers.Add(u);
                    }
                }
            }
            foreach (var j in postJobs)
            {
                foreach (var u in users)
                {
                    if (u.Id == j.AppendUserId && j.IsContacted == true)
                    {
                        AppliedUsers.Add(u);
                    }
                }
            }
            PostJobVM postJobVM = new PostJobVM
            {
                AppUserPostJobs = _db.AppUserPostJobs.Include(x => x.AppUser).Where(x => x.PostJob.AppUserId == user.Id).ToList(),
                StareddUser     = StaredUsers,
                AppliedUser     = AppliedUsers
            };
            postJobVM.AppUser = user;
            return(View(postJobVM));
        }