Exemple #1
0
        // 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));
        }
Exemple #2
0
        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));
        }