public List<Cbr> SearchCbrs(CbrSearchCriteria criteria) { using (var context = GetContext()) { IQueryable<Cbr> query = !criteria.IncludeKeyInfo ? context.Cbrs.Include("CbrKeys") : (!criteria.IncludeCbrDuplicated ? context.Cbrs.Include("CbrKeys.KeyInfo.KeyInfoEx") : context.Cbrs.Include("CbrKeys.KeyInfo.KeyInfoEx").Include("CbrDuplicated")); if (criteria.CbrStatus != null) query = query.Where(c => c.CbrStatusId == (int)criteria.CbrStatus); if (criteria.IsExported != null) query = query.Where(c => c.CbrDuplicated.IsExported == criteria.IsExported); if (criteria.IncludeCbrDuplicated) query = query.Where(c => c.CbrDuplicated != null); return query.ToList(); } }
public List<Cbr> GetReportedCbrs() { CbrSearchCriteria criteria = new CbrSearchCriteria() { CbrStatus = CbrStatus.Reported }; return cbrRepository.SearchCbrs(criteria); }
public List<Cbr> GetCbrsDuplicated() { CbrSearchCriteria criteria = new CbrSearchCriteria() { CbrStatus = CbrStatus.Completed, IncludeKeyInfo = true, IncludeCbrDuplicated = true }; return cbrRepository.SearchCbrs(criteria); }
public List<Cbr> GetCbrsNotBeenSent(bool includeKeyInfo = false) { CbrSearchCriteria criteria = new CbrSearchCriteria() { CbrStatus = CbrStatus.Generated, IncludeKeyInfo = includeKeyInfo }; return cbrRepository.SearchCbrs(criteria); }