public PagingOutputViewModel <UserBasicInfoViewModel> GetAll(PagingInputViewModel param) { var output = new PagingOutputViewModel <UserBasicInfoViewModel> { ItemsPerPage = param.ItemsPerPage }; var repository = _unitOfWork.UserRepository.All(); if (!string.IsNullOrEmpty(param.Keyword)) { repository = repository .Where(user => user.FirstName.Contains(param.Keyword) || user.LastName.Contains(param.Keyword) || user.Email.Contains(param.Keyword) || user.PhoneNumber.Contains(param.Keyword) || user.UserRoles.Any(role => role.Role.Name.Contains(param.Keyword))); } var data = repository.Select(user => new UserBasicInfoViewModel { UserId = user.Id, FirstName = user.FirstName, LastName = user.LastName, Email = user.Email, Phone = user.PhoneNumber, Roles = user.UserRoles.Select(ur => ur.Role.Name).ToList(), IsActive = user.LockoutEnd == null || user.LockoutEnd < DateTimeOffset.Now, LockedOutEnd = user.LockoutEnd < DateTimeOffset.Now ? null : user.LockoutEnd }); if (!string.IsNullOrEmpty(param.OrderBy)) { data = data.OrderByProperty(param.OrderBy, param.IsDesc); } data = data.Skip((param.PageNumber - 1) * param.ItemsPerPage).Take(param.ItemsPerPage); // Enumerate the data output.TotalItems = repository.Count(); output.Data = data.ToList(); return(output); }
public PagingOutputViewModel <CustomerInfoViewModel> GetAllCustomer(PagingInputViewModel param) { var output = new PagingOutputViewModel <CustomerInfoViewModel> { ItemsPerPage = param.ItemsPerPage }; var repository = _unitOfWork.CustomerRepository.All(); if (!string.IsNullOrEmpty(param.Keyword)) { repository = repository .Where(cus => cus.FullName.Contains(param.Keyword) || cus.CustomerCode.Contains(param.Keyword) || cus.Phone.Contains(param.Keyword)); } var data = repository.Select(customer => new CustomerInfoViewModel { CustomerId = customer.CustomerId, FullName = customer.FullName, CustomerCode = customer.CustomerCode, Email = customer.Email, PhoneNumber = customer.Phone, Address = customer.Address, SelectedReceiverId = customer.SelectedReceiverId }); if (!string.IsNullOrEmpty(param.OrderBy)) { data = data.OrderByProperty(param.OrderBy, param.IsDesc); } data = data.Skip((param.PageNumber - 1) * param.ItemsPerPage).Take(param.ItemsPerPage); // Enumerate the data output.TotalItems = repository.Count(); output.Data = data.ToList(); return(output); }
public IActionResult GetAllUser(PagingInputViewModel input) { var result = _userService.GetAll(input); return(Ok(result)); }
public IActionResult GetAll(PagingInputViewModel page) { return(Ok(_customerService.GetAllCustomer(page))); }