コード例 #1
0
 /// <summary>
 /// Appends the T-SQL equivalent of the specified predicate tokens.
 /// </summary>
 /// <param name="transactionSqlBuilder">StringBuilder object to append to.</param>
 /// <param name="predicateToken">Predicate token.</param>
 private static void AppendCriterionTSql(StringBuilder transactionSqlBuilder, PredicateToken predicateToken)
 {
     transactionSqlBuilder.Append(string.Format(
                                      CultureInfo.InvariantCulture,
                                      SearchConstants.TSQL_PREDICATE_CRITERIA,
                                      predicateToken.PredicateName));
 }
コード例 #2
0
ファイル: PredicateToken.cs プロジェクト: Plankankul/Zenity
        /// <summary>
        /// Fetches predicate tokens.
        /// </summary>
        /// <param name="context"><see cref="ZentityContext" /> instance to fetch data with.</param>
        /// <returns>Predicate tokens</returns>
        private static IEnumerable <PredicateToken> FetchPredicateTokens(ZentityContext context)
        {
            XDocument mappings = Utility.ReadXmlConfigurationFile(Resources.SEARCH_PREDICATETOKENS_FILENAME);

            IEnumerable <PredicateToken> xmlTokens;

            if (mappings == null)
            {
                xmlTokens = new PredicateToken[0];
            }
            else
            {
                xmlTokens = mappings.Root
                            .Elements(XName.Get(SearchConstants.XML_TOKEN, SearchConstants.XMLNS_NAMESPACE))
                            .Select(token => new PredicateToken
                {
                    Token           = token.Attribute(SearchConstants.XML_NAME).Value,
                    PredicateName   = token.Attribute(SearchConstants.XML_PREDICATE).Value,
                    ReverseRelation = Convert.ToBoolean(
                        token.Attribute(SearchConstants.XML_REVERSERELATION).Value,
                        CultureInfo.CurrentCulture)
                });
            }

            IEnumerable <PredicateToken> databaseTokens = context.Predicates
                                                          .Select(predicate => new PredicateToken
            {
                Token           = predicate.Name,
                PredicateName   = predicate.Name,
                ReverseRelation = false
            });

            xmlTokens = xmlTokens.Concat(databaseTokens);

            IEnumerable <PredicateToken> excludedPredicates = FetchExcludedPredicateTokens();

            xmlTokens = xmlTokens
                        .Where(predicateToken => !excludedPredicates
                               .Select(excludedToken => excludedToken.PredicateName.ToLower())
                               .Contains(predicateToken.PredicateName.ToLower()));

            return(xmlTokens);
        }
コード例 #3
0
ファイル: PredicateToken.cs プロジェクト: Plankankul/Zenity
        /// <summary>
        /// Fetches excluded predicate tokens.
        /// </summary>
        /// <returns>Excluded predicate tokens.</returns>
        private static IEnumerable <PredicateToken> FetchExcludedPredicateTokens()
        {
            XDocument mappings = Utility.ReadXmlConfigurationFile(Resources.SEARCH_EXCLUDEDPREDICATES_FILENAME);

            IEnumerable <PredicateToken> xmlTokens;

            if (mappings == null)
            {
                xmlTokens = new PredicateToken[0];
            }
            else
            {
                xmlTokens = mappings.Root
                            .Elements(XName.Get(SearchConstants.XML_PREDICATE, SearchConstants.XMLNS_NAMESPACE))
                            .Select(token => new PredicateToken
                {
                    Token           = token.Attribute(SearchConstants.XML_NAME).Value,
                    PredicateName   = token.Attribute(SearchConstants.XML_NAME).Value,
                    ReverseRelation = false
                });
            }

            return(xmlTokens);
        }
コード例 #4
0
ファイル: SearchTokens.cs プロジェクト: Plankankul/Zenity
 /// <summary>
 /// Fetches the specified predicate token.
 /// </summary>
 /// <param name="token">Predicate token.</param>
 /// <returns>Predicate mapping for the specified token.</returns>
 public IEnumerable <PredicateToken> FetchPredicateToken(string token)
 {
     return(PredicateToken.FetchPredicateToken(token, context));
 }