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)); }
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); }
public async Task <IActionResult> GetByUser([FromQuery] GetPositionsPagingRequest request) { var documents = await _positionsService.GetAllByUserId(request); return(Ok(documents)); }
public async Task <IActionResult> GetAllPaging([FromQuery] GetPositionsPagingRequest request) { var positions = await _positionsService.GetAllPaging(request); return(Ok(positions)); }