示例#1
0
        public async Task <IList <User> > ListWithParameters(QueryUserResource query)
        {
            var users = context.User.AsQueryable();

            if (query.StatusId.HasValue && query.StatusId > 0)
            {
                users = users.Where(u => u.StatusId == query.StatusId);
            }

            if (query.PlanId.HasValue && query.PlanId > 0)
            {
                users = users.Where(u => u.PlanId == query.PlanId);
            }

            if (query.Name != null)
            {
                users = users.Where(u => (u.Name + u.LastName).ToLower().Contains(query.Name.ToLower()));
            }

            if (query.Address != null)
            {
                users = users.Where(u => u.Address.ToLower().Contains(query.Address.ToLower()));
            }

            if (query.Email != null)
            {
                users = users.Where(u => u.Email.ToLower().Contains(query.Email));
            }

            return(await users.Skip((query.Page - query.ItemsPerPage) *query.ItemsPerPage)
                   .Take(query.ItemsPerPage).ToListAsync());
        }
示例#2
0
        public async Task <IActionResult> GetAllUser(QueryUserResource queryUserResource)
        {
            if (queryUserResource == null)
            {
                queryUserResource = new QueryUserResource();
            }

            if (queryUserResource.Page < 1)
            {
                queryUserResource.Page = 1;
            }
            if (queryUserResource.ItemsPerPage < 1)
            {
                queryUserResource.ItemsPerPage = 1;
            }

            var users = await userRepository.ListWithParameters(queryUserResource);

            var resources = mapper.Map <IList <User>, IList <UserResource> >(users);

            return(Ok(resources));
        }