public async Task <IActionResult> GetTransfers(string section = "all", int page = 1) { User user = userService.FindUserByName(HttpContext.User.Identity.Name); EmployeeInfo employee = await employeeService.GetEmployeeInfoByUserId(user.Id); IQueryable <ConfirmTransferViewModel> transfers; if (section == "not_confirmed") { transfers = transferService.GetNotConfirmedTransferViewModelsByCompanyId(user); } else { transfers = transferService.GetAllTransferViewModelsByCompanyId(user); } PagedObject <ConfirmTransferViewModel> pagedObject = await pagingService.DoPage <ConfirmTransferViewModel>(transfers, page); if (employee != null) { foreach (var confirmTransferViewModel in pagedObject.Objects) { confirmTransferViewModel.IsUserHaveRightOfConfirm = transferService.GetEmployeeRightOfConfirm(employee, confirmTransferViewModel.Transfer.AccountSender); } } else { UserInfo userInfo = await userService.FindUserInfoByUserId(user.Id); foreach (var confirmTransferViewModel in pagedObject.Objects) { if (confirmTransferViewModel.Transfer.AccountSender != null) { if (confirmTransferViewModel.Transfer.AccountSender.UserInfoId == userInfo.Id) { confirmTransferViewModel.IsUserHaveRightOfConfirm = true; } else { confirmTransferViewModel.IsUserHaveRightOfConfirm = false; } } confirmTransferViewModel.IsUserHaveRightOfConfirm = false; } } PagingViewModel <ConfirmTransferViewModel> model = new PagingViewModel <ConfirmTransferViewModel> { PageViewModel = new PageViewModel(pagedObject.Count, page, pagedObject.PageSize), Objects = pagedObject.Objects }; ViewBag.Section = section; return(View(model)); }