/// <summary> /// Returns true if the passed in property has a specific flag set. /// </summary> /// <param name="type"></param> /// <returns></returns> public bool IsType(SearchCriteriaType type) { switch (type) { case SearchCriteriaType.PrimaryKey: return(SearchCriteriaType.IsFlagOn(SearchCriteriaType.PrimaryKey)); case SearchCriteriaType.ForeignKey: return(SearchCriteriaType.IsFlagOn(SearchCriteriaType.ForeignKey)); case SearchCriteriaType.NoForeignKeys: return(!SearchCriteriaType.IsFlagOn(SearchCriteriaType.ForeignKey)); case SearchCriteriaType.Index: return(SearchCriteriaType.IsFlagOn(SearchCriteriaType.Index)); case SearchCriteriaType.Command: return(SearchCriteriaType.IsFlagOn(SearchCriteriaType.Command)); case SearchCriteriaType.View: return(SearchCriteriaType.IsFlagOn(SearchCriteriaType.View)); } return(true); }
public void AddSearchCriteria(ISearchCriteria searchCriteria) { if (searchCriteria == null) { throw new ArgumentNullException("searchCriteria"); } memberCriteria.Add(searchCriteria); searchCriteriaType = searchCriteriaType | searchCriteria.SearchCriteriaType; }
/// <summary> /// </summary> /// <param name="criteria"></param> /// <returns></returns> public List <SearchCriteria> GetSearchCriteria(SearchCriteriaType criteria) { List <SearchCriteria> result = null; if (SearchCriteria != null) { switch (criteria) { case SearchCriteriaType.PrimaryKey: result = SearchCriteria.Where(sc => sc.IsType(SearchCriteriaType.PrimaryKey)).ToList(); break; case SearchCriteriaType.ForeignKey: result = SearchCriteria.Where(sc => sc.IsType(SearchCriteriaType.ForeignKey)).ToList(); break; case SearchCriteriaType.NoForeignKeys: result = SearchCriteria.Where(sc => sc.IsType(SearchCriteriaType.NoForeignKeys)).ToList(); break; case SearchCriteriaType.Index: result = SearchCriteria.Where(sc => sc.IsType(SearchCriteriaType.Index)).ToList(); break; case SearchCriteriaType.Command: result = SearchCriteria.Where(sc => sc.IsType(SearchCriteriaType.Command)).ToList(); break; case SearchCriteriaType.View: result = SearchCriteria.Where(sc => sc.IsType(SearchCriteriaType.View)).ToList(); break; default: result = SearchCriteria; break; } } return(result); }
public void TestCreate() { var today = DateTime.Now.Date; var searchCriteria = SearchCriteriaType.Create(new SearchCriteriaSnapshot { FromAirport = "LHR", ToAirport = "SEA", OutboundDate = today, ReturnDate = today.AddDays(7) }); Assert.Equal("LHR", searchCriteria.FromAirport); Assert.Equal("SEA", searchCriteria.ToAirport); Assert.Equal(today, searchCriteria.OutboundDate); Assert.Equal(today.AddDays(7), searchCriteria.ReturnDate); }
public SearchCriteriaGroup(MatchRule membersMatchRule) { this.membersMatchRule = membersMatchRule; this.memberCriteria = new List <ISearchCriteria>(); this.searchCriteriaType = SearchCriteriaType.None; }
/// <summary> /// </summary> /// <param name="type"></param> public SearchCriteria(SearchCriteriaType type) { ForeignProperties = new List <AssociationProperty>(); Properties = new List <IProperty>(); SearchCriteriaType = type; }