コード例 #1
0
        private IQueryable <Entities.members.Adhesion> SearchRequestAdhesion(SearchCriteriaAdhesion criteria)
        {
            var query = _ctx.members_adhesions.Where(x => true);

            if (criteria.member != null)
            {
                query = query.Where(x => x.member_id == criteria.member.id);
            }
            if (criteria.category != null)
            {
                query = query.Where(x => x.section != null && x.section.activity.category_id == criteria.category.id);
            }
            if (criteria.activity != null)
            {
                query = query.Where(x => x.section != null && x.section.activity_id == criteria.activity.id);
            }
            if (criteria.section != null)
            {
                query = query.Where(x => x.section != null && x.section_id == criteria.section.id);
            }
            if (criteria.season != null)
            {
                query = query.Where(x => x.section != null && x.section.activity.category.season_id == criteria.season.id);
            }

            return(query);
        }
コード例 #2
0
        public List <Objects.members.Adhesion> SearchAdhesions(SearchCriteriaAdhesion criteria, int limit = 10, int page = 1)
        {
            var query = SearchRequestAdhesion(criteria);

            query = query.OrderByDescending(x => x.created);
            query = query.Skip(((page < 0 ? 0 : page) - 1) * limit);
            query = query.Take(limit);

            return(Mapper.Map <List <Objects.members.Adhesion> >(query.ToList()));
        }
コード例 #3
0
        public int SearchCountAdhesions(SearchCriteriaAdhesion criteria)
        {
            var query = SearchRequestAdhesion(criteria);

            return(query.Count());
        }