public async Task <PagedResult <ContactsVm> > GetAllByUserId(GetContactsPagingRequest request) { var query = from c in _context.Contacts join u in _context.Users on c.UserID equals u.Id select new { c, u }; if (request.ContactId.HasValue && request.ContactId.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 ContactsVm() { ID = x.c.ID, ApartmentNumber = x.c.ApartmentNumber, NameStreet = x.c.NameStreet, TotalOfDocument = x.c.TotalofDocument }).ToListAsync(); var pagedResult = new PagedResult <ContactsVm>() { TotalRecord = TotalRow, Items = data }; return(pagedResult); }
public async Task <PagedResult <ContactsVm> > GetPagings(GetContactsPagingRequest request) { var data = await GetAsync <PagedResult <ContactsVm> >( $"/api/contact/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 GetContactsPagingRequest() { Keyword = keyword, PageIndex = pageIndex, PageSize = pageSize, }; var data = await _contactApiClient.GetPagings(request); ViewBag.Keyword = keyword; if (TempData["result"] != null) { ViewBag.SuccessMsg = TempData["result"]; } return(View(data)); }
public async Task <PagedResult <ContactsVm> > GetAllPaging(GetContactsPagingRequest request) { var query = from c in _context.Contacts join u in _context.Users on c.UserID equals u.Id select new { c, u }; if (request.UserIds != null && request.UserIds.Count > 0) { query = query.Where(c => request.UserName.Contains(c.c.Users.UserName)); } if (!string.IsNullOrEmpty(request.Keyword)) { query = query.Where(x => x.c.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 ContactsVm() { ID = x.c.ID, ApartmentNumber = x.c.ApartmentNumber, NameStreet = x.c.NameStreet, TotalOfDocument = x.c.TotalofDocument, UserIds = x.c.UserID, UserName = x.u.UserName }).ToListAsync(); var pagedResult = new PagedResult <ContactsVm>() { TotalRecord = TotalRow, Items = data }; return(pagedResult); }
public async Task <IActionResult> GetAllPaging([FromQuery] GetContactsPagingRequest request) { var contacts = await _contactsService.GetAllPaging(request); return(Ok(contacts)); }