Esempio n. 1
0
        public async Task <PagedResult <PositionsVm> > GetAllByUserId(GetPositionsPagingRequest request)
        {
            var claimsIdentity = _httpContextAccessor.HttpContext.User.Identity as ClaimsIdentity;
            var userId         = claimsIdentity.FindFirst(ClaimTypes.NameIdentifier)?.Value.ToString();
            var query          = from p in _context.Positions
                                 join f in _context.Faculties on p.FacultyID equals f.ID
                                 join u in _context.Users on p.UserID equals u.Id
                                 where p.UserID.ToString() == userId
                                 select new { p, u, f };

            if (request.PositionID.HasValue && request.PositionID.Value > 0)
            {
                query = query.Where(c => c.u.UserName == request.UserName);
            }
            int TotalRow = await query.CountAsync();

            var data = await query.Skip((request.PageIndex - 1) *request.PageSize)
                       .Take(request.PageSize)
                       .Select(x => new PositionsVm()
            {
                ID       = x.p.ID,
                UserID   = x.u.Id,
                UserName = x.u.UserName,
                Faculty  = x.f.Name,
            }).ToListAsync();

            var pagedResult = new PagedResult <PositionsVm>()
            {
                TotalRecord = TotalRow,
                Items       = data
            };

            return(pagedResult);
        }
        public async Task <PagedResult <PositionsVm> > GetPagings(GetPositionsPagingRequest request)
        {
            var data = await GetAsync <PagedResult <PositionsVm> >(
                $"/api/positions/paging?pageIndex={request.PageIndex}" +
                $"&pageSize={request.PageSize}" +
                $"&keyword={request.Keyword}&userName={request.UserName}");

            return(data);
        }
        public async Task <IActionResult> Index(string keyword, int pageIndex = 1, int pageSize = 10)
        {
            var request = new GetPositionsPagingRequest()
            {
                Keyword   = keyword,
                PageIndex = pageIndex,
                PageSize  = pageSize,
            };
            var data = await _positionApiClient.GetPagings(request);

            ViewBag.Keyword = keyword;
            if (TempData["result"] != null)
            {
                ViewBag.SuccessMsg = TempData["result"];
            }
            return(View(data));
        }
Esempio n. 4
0
        public async Task <PagedResult <PositionsVm> > GetAllPaging(GetPositionsPagingRequest request)
        {
            var query = from p in _context.Positions
                        join f in _context.Faculties on p.FacultyID equals f.ID
                        join u in _context.Users on p.UserID equals u.Id
                        select new { p, u, f };

            if (request.UserIds != null && request.UserIds.Count > 0)
            {
                query = query.Where(c => request.UserName.Contains(c.p.Users.UserName));
            }
            if (!string.IsNullOrEmpty(request.Keyword))
            {
                query = query.Where(x => x.p.Users.UserName.Contains(request.Keyword));
            }
            int TotalRow = await query.CountAsync();

            var data = await query.Skip((request.PageIndex - 1) *request.PageSize)
                       .Take(request.PageSize)
                       .Select(x => new PositionsVm()
            {
                ID       = x.p.ID,
                Name     = x.p.Name,
                UserID   = x.p.UserID,
                UserName = x.u.UserName,
                Faculty  = x.f.Name
            }).ToListAsync();

            var pagedResult = new PagedResult <PositionsVm>()
            {
                TotalRecord = TotalRow,
                Items       = data
            };

            return(pagedResult);
        }
Esempio n. 5
0
        public async Task <IActionResult> GetByUser([FromQuery] GetPositionsPagingRequest request)
        {
            var documents = await _positionsService.GetAllByUserId(request);

            return(Ok(documents));
        }
Esempio n. 6
0
        public async Task <IActionResult> GetAllPaging([FromQuery] GetPositionsPagingRequest request)
        {
            var positions = await _positionsService.GetAllPaging(request);

            return(Ok(positions));
        }