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()); } }
private WebFactorSearchCriteria GetSearchCriteria(Boolean refresh) { if (_searchCriteria.IsNull() || refresh) { _searchCriteria = new WebFactorSearchCriteria(); } return(_searchCriteria); }
/// <summary> /// Get web factor search criteria. /// </summary> /// <param name="searchCriteria">Search criteria.</param> /// <returns>Web search criteria.</returns> private WebFactorSearchCriteria GetFactorSearchCriteria(IFactorSearchCriteria searchCriteria) { WebFactorSearchCriteria webFactorSearchCriteria = new WebFactorSearchCriteria { IsIdInNameSearchString = searchCriteria.IsIdInNameSearchString, NameSearchString = GetStringSearchCriteria(searchCriteria.NameSearchString), RestrictReturnToScope = searchCriteria.RestrictReturnToScope, RestrictSearchToFactorIds = searchCriteria.RestrictSearchToFactorIds, RestrictSearchToScope = searchCriteria.RestrictSearchToScope }; return(webFactorSearchCriteria); }
public static WebFactor GetForestFactor(WebServiceContext context) { Int32 factorId; List <Int32> factorIds; WebFactorSearchCriteria searchCriteria; factorId = FOREST_LANSCAPE_FACTOR_ID; factorIds = new List <Int32>(); factorIds.Add(factorId); searchCriteria = new WebFactorSearchCriteria(); searchCriteria.RestrictSearchToFactorIds = factorIds; return(FactorManager.GetFactorsBySearchCriteria(context, searchCriteria)[0]); }
public void GetFactorsBySearchCriteria() { List <WebFactor> factors; WebFactorSearchCriteria searchCriteria; searchCriteria = new WebFactorSearchCriteria(); searchCriteria.NameSearchString = new WebStringSearchCriteria(); searchCriteria.NameSearchString.SearchString = "Rödli%"; searchCriteria.NameSearchString.CompareOperators = new List <StringCompareOperator>(); searchCriteria.NameSearchString.CompareOperators.Add(StringCompareOperator.Like); factors = WebServiceProxy.TaxonAttributeService.GetFactorsBySearchCriteria(GetClientInformation(), searchCriteria); Assert.IsNotNull(factors); Assert.IsTrue(factors.IsNotEmpty()); }
/// <summary> /// Get information about factors that matches the search criteria. /// </summary> /// <param name="clientInformation">Information about the client that makes this web service call.</param> /// <param name="searchCriteria">The factor search criteria.</param> /// <returns>Factors that matches the search criteria.</returns> public List <WebFactor> GetFactorsBySearchCriteria(WebClientInformation clientInformation, WebFactorSearchCriteria searchCriteria) { using (WebServiceContext context = GetWebServiceContext(clientInformation)) { try { return(FactorManager.GetFactorsBySearchCriteria(context, searchCriteria)); } catch (Exception exception) { WebServiceData.LogManager.LogError(context, exception); throw; } } }
public static List <Int32> GetRedlistFactorIds(WebServiceContext context) { List <Int32> factorIds; List <WebFactor> factors; factorIds = new List <Int32>(); factorIds.Add(REDLIST_FACTOR_ID); WebFactorSearchCriteria searchCriteria; searchCriteria = new WebFactorSearchCriteria(); searchCriteria.RestrictSearchToFactorIds = factorIds; searchCriteria.RestrictReturnToScope = FactorSearchScope.AllChildFactors; factors = FactorManager.GetFactorsBySearchCriteria(context, searchCriteria); foreach (WebFactor factor in factors) { factorIds.Add(factor.Id); } return(factorIds); }
/// <summary> /// Get information about factors that matches the search criteria. /// </summary> /// <param name="context">Web service request context.</param> /// <param name="searchCriteria">The factor search criteria.</param> /// <returns>Factors that matches the search criteria.</returns> public static List <WebFactor> GetFactorsBySearchCriteria(WebServiceContext context, WebFactorSearchCriteria searchCriteria) { List <WebFactor> factors; Int32 factorId; String nameSearchMethodString, nameSearchString; WebFactor factor; // Check arguments. searchCriteria.CheckNotNull("searchCriteria"); searchCriteria.CheckData(); // Test if name search string is a factor id. if (searchCriteria.NameSearchString.IsNotNull() && searchCriteria.NameSearchString.SearchString.IsNotEmpty() && searchCriteria.IsIdInNameSearchString && Int32.TryParse(searchCriteria.NameSearchString.SearchString, out factorId)) { if (searchCriteria.RestrictSearchToFactorIds.IsNull()) { searchCriteria.RestrictSearchToFactorIds = new List <Int32>(); } searchCriteria.RestrictSearchToFactorIds.Add(factorId); searchCriteria.NameSearchString = null; } // Get information about factors from database. factors = new List <WebFactor>(); if (searchCriteria.NameSearchString.IsNotNull()) { // ReSharper disable once PossibleNullReferenceException foreach (StringCompareOperator compareOperator in searchCriteria.NameSearchString.CompareOperators) { switch (compareOperator) { case StringCompareOperator.BeginsWith: nameSearchMethodString = "Like"; nameSearchString = searchCriteria.NameSearchString.SearchString + "%"; break; case StringCompareOperator.Contains: nameSearchMethodString = "Like"; nameSearchString = "%" + searchCriteria.NameSearchString.SearchString + "%"; break; case StringCompareOperator.EndsWith: nameSearchMethodString = "Like"; nameSearchString = "%" + searchCriteria.NameSearchString.SearchString; break; case StringCompareOperator.Equal: nameSearchMethodString = "Exact"; nameSearchString = searchCriteria.NameSearchString.SearchString; break; case StringCompareOperator.Like: nameSearchMethodString = "Like"; nameSearchString = searchCriteria.NameSearchString.SearchString; break; default: throw new ArgumentException("GetFactorsBySearchCriteria Not supported string compare operator = " + compareOperator); } using (DataReader dataReader = context.GetTaxonAttributeDatabase().GetFactorsBySearchCriteria(searchCriteria.RestrictSearchToFactorIds, nameSearchString, nameSearchMethodString, searchCriteria.RestrictSearchToScope.ToString(), searchCriteria.RestrictReturnToScope.ToString())) { while (dataReader.Read()) { factor = new WebFactor(); factor.LoadData(dataReader); factors.Add(factor); } } if (factors.IsNotEmpty()) { break; } } } else { using (DataReader dataReader = context.GetTaxonAttributeDatabase().GetFactorsBySearchCriteria(searchCriteria.RestrictSearchToFactorIds, null, "Exact", searchCriteria.RestrictSearchToScope.ToString(), searchCriteria.RestrictReturnToScope.ToString())) { while (dataReader.Read()) { factor = new WebFactor(); factor.LoadData(dataReader); factors.Add(factor); } } } return(factors); }
/// <summary> /// Get factors that matches search criteria. /// </summary> /// <param name="clientInformation">Information about the client that makes this web service call.</param> /// <param name="searchCriteria">The factor search criteria.</param> /// <returns>Filtered factors.</returns> public List <WebFactor> GetFactorsBySearchCriteria(WebClientInformation clientInformation, WebFactorSearchCriteria searchCriteria) { using (ClientProxy client = new ClientProxy(this, 2)) { return(client.Client.GetFactorsBySearchCriteria(clientInformation, searchCriteria)); } }
public WebFactorSearchCriteriaTest() { _searchCriteria = null; }
public void GetFactorsBySearchCriteria() { List <WebFactor> factors; List <Int32> factorIds; Int32 factorCount1, factorCount2; WebFactorSearchCriteria searchCriteria; searchCriteria = new WebFactorSearchCriteria(); searchCriteria.NameSearchString = null; factors = FactorManager.GetFactorsBySearchCriteria(GetContext(), searchCriteria); Assert.IsTrue(factors.IsNull() || factors.IsEmpty()); searchCriteria.NameSearchString = new WebStringSearchCriteria(); searchCriteria.NameSearchString.SearchString = "Rödli%"; searchCriteria.NameSearchString.CompareOperators = new List <StringCompareOperator>(); searchCriteria.NameSearchString.CompareOperators.Add(StringCompareOperator.Like); factors = FactorManager.GetFactorsBySearchCriteria(GetContext(), searchCriteria); Assert.IsFalse(factors.IsNull() || factors.IsEmpty()); searchCriteria.NameSearchString = new WebStringSearchCriteria(); searchCriteria.NameSearchString.SearchString = "Rödli"; searchCriteria.NameSearchString.CompareOperators = new List <StringCompareOperator>(); searchCriteria.NameSearchString.CompareOperators.Add(StringCompareOperator.Equal); searchCriteria.NameSearchString.CompareOperators.Add(StringCompareOperator.BeginsWith); searchCriteria.NameSearchString.CompareOperators.Add(StringCompareOperator.Contains); factors = FactorManager.GetFactorsBySearchCriteria(GetContext(), searchCriteria); Assert.IsTrue(factors.IsNotEmpty()); searchCriteria.NameSearchString = new WebStringSearchCriteria(); searchCriteria.NameSearchString.SearchString = "Landskapstyper"; searchCriteria.NameSearchString.CompareOperators = new List <StringCompareOperator>(); searchCriteria.NameSearchString.CompareOperators.Add(StringCompareOperator.Equal); factors = FactorManager.GetFactorsBySearchCriteria(GetContext(), searchCriteria); Assert.IsFalse(factors.IsNull() || factors.IsEmpty()); factorCount1 = factors.Count; Assert.IsNotNull(factorCount1); Assert.IsTrue(factorCount1 > 0); searchCriteria.NameSearchString = new WebStringSearchCriteria(); searchCriteria.NameSearchString.SearchString = "661"; searchCriteria.NameSearchString.CompareOperators = new List <StringCompareOperator>(); searchCriteria.NameSearchString.CompareOperators.Add(StringCompareOperator.Like); searchCriteria.IsIdInNameSearchString = true; factors = FactorManager.GetFactorsBySearchCriteria(GetContext(), searchCriteria); Assert.IsTrue(factors.IsNotEmpty()); factorCount2 = factors.Count; Assert.AreEqual(factorCount1, factorCount2); searchCriteria = new WebFactorSearchCriteria(); factorIds = new List <Int32>(); factorIds.Add(661); 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()); } }