public void GetFactorsBySearchCriteria()
        {
            List <WebFactor>        factors;
            List <Int32>            factorIds;
            Int32                   count1, count2;
            WebFactorSearchCriteria searchCriteria;

            searchCriteria = new WebFactorSearchCriteria();
            factorIds      = new List <Int32>();
            factorIds.Add(LANDSCAPES_FACTOR_ID);

            searchCriteria.NameSearchString = null;
            factors = FactorManager.GetFactorsBySearchCriteria(GetContext(), searchCriteria);
            Assert.IsTrue(factors.IsNull() || factors.IsEmpty());

            searchCriteria.NameSearchString = "Rödli%";
            searchCriteria.NameSearchMethod = SearchStringComparisonMethod.Like;
            factors = FactorManager.GetFactorsBySearchCriteria(GetContext(), searchCriteria);
            Assert.IsFalse(factors.IsNull() || factors.IsEmpty());

            searchCriteria.NameSearchString = "Rödli";
            searchCriteria.NameSearchMethod = SearchStringComparisonMethod.Iterative;
            factors = FactorManager.GetFactorsBySearchCriteria(GetContext(), searchCriteria);
            Assert.IsTrue(factors.IsNotEmpty());

            searchCriteria.NameSearchString = "Landskapstyper";
            searchCriteria.NameSearchMethod = SearchStringComparisonMethod.Exact;
            factors = FactorManager.GetFactorsBySearchCriteria(GetContext(), searchCriteria);
            Assert.IsFalse(factors.IsNull() || factors.IsEmpty());
            count1 = factors.Count;
            Assert.IsNotNull(count1);
            Assert.IsTrue(count1 > 0);

            searchCriteria.NameSearchString       = LANDSCAPES_FACTOR_ID.ToString();
            searchCriteria.NameSearchMethod       = SearchStringComparisonMethod.Like;
            searchCriteria.IsIdInNameSearchString = true;
            factors = FactorManager.GetFactorsBySearchCriteria(GetContext(), searchCriteria);
            Assert.IsFalse(factors.IsNull() || factors.IsEmpty());
            count2 = factors.Count;
            Assert.IsNotNull(count2);
            Assert.IsTrue(count2 > 0);
            Assert.AreEqual(count1, count2);

            searchCriteria = new WebFactorSearchCriteria();
            searchCriteria.RestrictSearchToFactorIds = factorIds;
            searchCriteria.RestrictReturnToScope     = FactorSearchScope.AllChildFactors;
            factors = FactorManager.GetFactorsBySearchCriteria(GetContext(), searchCriteria);
            Assert.IsFalse(factors.IsNull() || factors.IsEmpty());
            Assert.AreEqual(factors.Count, 10);

            foreach (FactorSearchScope factorSearchScope in Enum.GetValues(typeof(FactorSearchScope)))
            {
                searchCriteria = new WebFactorSearchCriteria();
                searchCriteria.RestrictSearchToFactorIds = factorIds;
                searchCriteria.RestrictReturnToScope     = factorSearchScope;
                factors = FactorManager.GetFactorsBySearchCriteria(GetContext(), searchCriteria);
                Assert.IsFalse(factors.IsNull() || factors.IsEmpty());
            }
        }
        public void GetFactorsBySearchCriteria()
        {
            Data.ArtDatabankenService.FactorList factors;
            Int32        count1, count2;
            List <Int32> factorIds;

            Data.ArtDatabankenService.FactorSearchCriteria searchCriteria;

            searchCriteria = new Data.ArtDatabankenService.FactorSearchCriteria();
            searchCriteria.FactorNameSearchString = null;
            factors = Data.ArtDatabankenService.FactorManager.GetFactorsBySearchCriteria(searchCriteria);
            Assert.IsTrue(factors.IsNull() || factors.IsEmpty());

            searchCriteria = new Data.ArtDatabankenService.FactorSearchCriteria();
            searchCriteria.FactorNameSearchString = "Rödli%";
            searchCriteria.NameSearchMethod       = WebService.SearchStringComparisonMethod.Like;
            factors = Data.ArtDatabankenService.FactorManager.GetFactorsBySearchCriteria(searchCriteria);
            Assert.IsFalse(factors.IsNull() || factors.IsEmpty());

            searchCriteria.FactorNameSearchString = "Landskapstyper";
            searchCriteria.NameSearchMethod       = WebService.SearchStringComparisonMethod.Exact;
            factors = Data.ArtDatabankenService.FactorManager.GetFactorsBySearchCriteria(searchCriteria);
            Assert.IsTrue(factors.IsNotEmpty());
            count1 = factors.Count;
            Assert.IsNotNull(count1);
            Assert.IsTrue(count1 > 0);

            searchCriteria.FactorNameSearchString = LANDSCAPES_FACTOR_ID.ToString();
            searchCriteria.NameSearchMethod       = WebService.SearchStringComparisonMethod.Like;
            searchCriteria.IdInNameSearchString   = true;
            factors = Data.ArtDatabankenService.FactorManager.GetFactorsBySearchCriteria(searchCriteria);
            Assert.IsFalse(factors.IsNull() || factors.IsEmpty());
            count2 = factors.Count;
            Assert.IsNotNull(count2);
            Assert.IsTrue(count2 > 0);
            Assert.AreEqual(count1, count2);

            searchCriteria = new Data.ArtDatabankenService.FactorSearchCriteria();
            searchCriteria.FactorNameSearchString = "Rödli";
            searchCriteria.NameSearchMethod       = WebService.SearchStringComparisonMethod.Iterative;
            factors = Data.ArtDatabankenService.FactorManager.GetFactorsBySearchCriteria(searchCriteria);
            Assert.IsFalse(factors.IsNull() || factors.IsEmpty());

            searchCriteria = new Data.ArtDatabankenService.FactorSearchCriteria();
            searchCriteria.RestrictSearchToFactorIds = GetFactorIds();
            factors = Data.ArtDatabankenService.FactorManager.GetFactorsBySearchCriteria(searchCriteria);
            Assert.IsNotNull(factors);
            Assert.IsTrue(factors.IsNotEmpty());
            Assert.AreEqual(factors.Count, 3);

            searchCriteria.RestrictReturnToScope = WebService.FactorSearchScope.AllChildFactors;
            factors = Data.ArtDatabankenService.FactorManager.GetFactorsBySearchCriteria(searchCriteria);
            Assert.AreEqual(46, factors.Count);

            factorIds = new List <Int32>();
            factorIds.Add(LANDSCAPES_FACTOR_ID);
            foreach (WebService.FactorSearchScope factorSearchScope in Enum.GetValues(typeof(WebService.FactorSearchScope)))
            {
                searchCriteria = new Data.ArtDatabankenService.FactorSearchCriteria();
                searchCriteria.RestrictSearchToFactorIds = factorIds;
                searchCriteria.RestrictReturnToScope     = factorSearchScope;
                factors = Data.ArtDatabankenService.FactorManager.GetFactorsBySearchCriteria(searchCriteria);
                Assert.IsFalse(factors.IsNull() || factors.IsEmpty());
            }
        }