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); }
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())); }
public int SearchCountAdhesions(SearchCriteriaAdhesion criteria) { var query = SearchRequestAdhesion(criteria); return(query.Count()); }