public IQueryable <War> GetIndirectWarsForCountry(int countryID, WarActivitySearchCriteria criteria = WarActivitySearchCriteria.Active) { var query = context.Wars .Where(w => w.IsTrainingWar == false && (w.CountryInWars.Any(ciw => ciw.CountryID == countryID))); query = applyActivityCriteria(criteria, query); return(query); }
public IQueryable <War> GetDirectWarsForCountry(int countryID, WarActivitySearchCriteria criteria = WarActivitySearchCriteria.Active) { var query = context.Wars .Where(w => w.IsTrainingWar == false && (w.AttackerCountryID == countryID || w.DefenderCountryID == countryID)); query = applyActivityCriteria(criteria, query); return(query); }
private static IQueryable <War> applyActivityCriteria(WarActivitySearchCriteria criteria, IQueryable <War> query) { if (criteria == WarActivitySearchCriteria.Active) { query = query.Where(w => w.Active); } else if (criteria == WarActivitySearchCriteria.Inactive) { query = query.Where(w => w.Active == false); } return(query); }