Пример #1
0
 private static string CreateOrCondition(string urlParams)
 {
     string str = HttpUtility.UrlDecode(urlParams).Split(new char[] { '&' }).SingleOrDefault<string>(p => p.StartsWith("fh_location=", StringComparison.InvariantCultureIgnoreCase));
     if (string.IsNullOrEmpty(str))
     {
         str = urlParams;
     }
     Location location = new Location(str.Replace("fh_location=", ""));
     SearchCriterion criterion = location.getSearchCriterion();
     if (criterion != null)
     {
         location.removeSearchCriteria();
     }
     Criterion criterion2 = location.getLastCriterion();
     Criterion criterion3 = location.getCriterion(criterion2.getAttributeName());
     if (criterion3 == criterion2)
     {
         if (criterion != null)
         {
             location.addCriterion(criterion);
             return location.toString();
         }
         return urlParams;
     }
     string str2 = criterion2.toString();
     str2 = str2.Substring(str2.IndexOf('{') + 1).Replace("}", "");
     location = location.removeLastCriterion();
     string str3 = criterion3.toString().Replace("}", ";" + str2 + "}");
     location = location.removeCriteria(criterion3.getAttributeName());
     Criterion criterion4 = CriterionFactory.parse(str3);
     location.addCriterion(criterion4);
     if (criterion != null)
     {
         location.addCriterion(criterion);
     }
     return location.toString();
 }