/// <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);
        }
Exemple #2
0
        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);
        }
Exemple #4
0
        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);
        }
Exemple #5
0
 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;
 }