Exemplo n.º 1
0
        public List <Objects.members.Member> Search(SearchCriteriaMember criteria, int limit = 10, int page = 1)
        {
            var query = SearchRequest(criteria);

            query = query.OrderBy(x => x.last_name).ThenBy(x => x.first_name);
            query = query.Skip(((page < 0 ? 0 : page) - 1) * limit);
            query = query.Take(limit);

            return(Mapper.Map <List <Objects.members.Member> >(query.ToList()));
        }
Exemplo n.º 2
0
        private IQueryable <Entities.members.Member> SearchRequest(SearchCriteriaMember criteria)
        {
            var query = _ctx.members.Where(x => true);

            if (criteria.last_name != null)
            {
                query = query.Where(x => x.last_name.ToUpper().Contains(criteria.last_name.ToUpper()));
            }
            if (criteria.first_name != null)
            {
                query = query.Where(x => x.first_name.ToUpper().Contains(criteria.first_name.ToUpper()));
            }
            if (criteria.licence != null)
            {
                query = query.Where(x => (x.metas.FirstOrDefault(y => y.col_key == "licence") != null) ?
                                    x.metas.FirstOrDefault(y => y.col_key == "licence").col_value.Contains(criteria.licence) :
                                    false);
            }
            if (criteria.city != null)
            {
                query = query.Where(x => x.city.ToUpper().Contains(criteria.city.ToUpper()));
            }
            return(query);
        }
Exemplo n.º 3
0
        public int SearchCount(SearchCriteriaMember criteria)
        {
            var query = SearchRequest(criteria);

            return(query.Count());
        }