// GET: Users public async Task <IActionResult> Index(VacationsIndexViewModel model) { if (!_signInManager.IsSignedIn(User)) { return(RedirectToAction(nameof(NotLoggedIn))); } model.Pager = new PagerViewModel(); model.Pager.CurrentPage = model.Pager.CurrentPage <= 0 ? 1 : model.Pager.CurrentPage; User currentUser = await GetCurrentUser(); List <Vacantion> items = currentUser.Vacantions.Skip((model.Pager.CurrentPage - 1) * PageSize). Take(PageSize).Select(v => new Vacantion() { Id = v.Id, Type = v.Type, FromDate = v.FromDate, ToDate = v.ToDate, HalfDayVacantion = v.HalfDayVacantion, IsPending = v.IsPending, IsApproved = v.IsApproved, DateOfCreation = v.DateOfCreation, Editted = v.Editted }).ToList(); model.Items = items; model.Pager.PagesCount = (int)Math.Ceiling(await _context.Users.CountAsync() / (double)PageSize); return(View(model)); }
public async Task <IActionResult> ApproveRequests(VacationsIndexViewModel model) { model.Pager = new PagerViewModel(); model.Pager.CurrentPage = model.Pager.CurrentPage <= 0 ? 1 : model.Pager.CurrentPage; User currentUser = await GetCurrentUser(); var vacations = _context.Vacantions.Include(v => v.FromUser).Where(v => v.IsPending); if (currentUser.Role.Name == "Team Lead") { vacations = vacations.Where(v => v.FromUser.Team == currentUser.Team && v.FromUser != currentUser); } List <Vacantion> items = vacations.Skip((model.Pager.CurrentPage - 1) * PageSize) .Take(PageSize).Select(v => new Vacantion() { Id = v.Id, FromUser = v.FromUser, Type = v.Type, FromDate = v.FromDate, ToDate = v.ToDate, HalfDayVacantion = v.HalfDayVacantion, IsPending = v.IsPending, IsApproved = v.IsApproved, DateOfCreation = v.DateOfCreation, Editted = v.Editted }) .ToList(); model.Items = items; model.Pager.PagesCount = (int)Math.Ceiling(await _context.Users.CountAsync() / (double)PageSize); return(View(model)); }